47 const scalar deltaPhi,
48 const scalar deltaTheta,
57 absorptionEmission_(absorptionEmission),
58 blackBody_(blackBody),
125 omega_ = 2.0*sinTheta*
Foam::sin(deltaTheta/2.0)*deltaPhi;
126 d_ =
vector(sinTheta*sinPhi, sinTheta*cosPhi, cosTheta);
156 dAve_ = coordRot & dAve_;
171 dAve_ = (dAve_ & normal)*meshDir;
172 d_ = (d_ & normal)*meshDir;
201 if (!IDefaultPtr.
valid())
245 qr_.boundaryFieldRef() = 0.0;
247 scalar maxResidual = -great;
257 fvm::div(Ji, ILambda_[lambdaI],
"div(Ji,Ii_h)")
258 +
fvm::Sp(
k*omega_, ILambda_[lambdaI])
263 (
k - absorptionEmission_.aDisp(lambdaI))
264 *blackBody_.bLambda(lambdaI)
266 + absorptionEmission_.E(lambdaI)/4
274 const scalar initialRes =
277 maxResidual =
max(initialRes, maxResidual);
290 I_ += ILambda_[lambdaI];
#define forAll(list, i)
Loop across all elements in list.
Generic GeometricField class.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
readOption readOpt() const
static const direction nComponents
Number of components in this vector space.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
bool valid() const
Return true if the autoPtr valid (ie, the pointer is set)
void reset(T *=nullptr)
If object pointer already set, delete object and set to given.
const word & name() const
Return const reference to name.
A special matrix type and solver, designed for finite volume solutions of scalar equations....
void relax(const scalar alpha)
Relax matrix (for steady-state solution).
Mesh data needed to do the Finite Volume discretisation.
const Time & time() const
Return the top-level database.
label nSolutionD() const
Return the number of valid solved-for dimensions in the mesh.
const Vector< label > & geometricD() const
Return the vector of geometric directions in mesh.
Model to supply absorption and emission coefficients for radiation modelling.
Class black body emission.
Finite Volume Discrete Ordinates Method. Solves the RTE equation for n directions in a participating ...
~radiativeIntensityRay()
Destructor.
scalar theta() const
Return the theta angle.
scalar correct()
Update radiative intensity on i direction.
static const word intensityPrefix
radiativeIntensityRay(const fvDOM &dom, const fvMesh &mesh, const scalar phi, const scalar theta, const scalar deltaPhi, const scalar deltaTheta, const label lambda, const absorptionEmissionModel &absEmmModel_, const blackBodyEmission &blackBody, const label rayId)
Construct form components.
scalar phi() const
Return the phi angle.
void addIntensity()
Add radiative intensities from all the bands.
Templated form of IOobject providing type information for file reading and header type checking.
bool headerOk()
Read header (uses typeGlobalFile to find file) and check.
A class for handling words, derived from string.
tmp< fvMatrix< Type > > div(const surfaceScalarField &flux, const VolField< Type > &vf, const word &name)
tmp< fvMatrix< Type > > Sp(const volScalarField::Internal &, const VolField< Type > &)
tensor rotationTensor(const vector &n1, const vector &n2)
Rotational transformation tensor from unit vector n1 to n2.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
dimensionedScalar pow3(const dimensionedScalar &ds)
word name(const bool)
Return a word representation of a bool.
dimensionedScalar sin(const dimensionedScalar &ds)
const dimensionSet dimTime
Vector< scalar > vector
A scalar version of the templated Vector.
VolField< scalar > volScalarField
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
const dimensionSet dimMass
dimensionedScalar cos(const dimensionedScalar &ds)
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
SolverPerformance< Type > solve(fvMatrix< Type > &, const word &)
Solve returning the solution statistics given convergence tolerance.