46 mixedFvPatchScalarField(p, iF),
52 valueFraction() = 1.0;
65 mixedFvPatchScalarField(ptf, p, iF, mapper),
85 mixedFvPatchScalarField(p, iF),
89 if (dict.
found(
"refValue"))
103 valueFraction() = 1.0;
116 mixedFvPatchScalarField(ptf),
134 mixedFvPatchScalarField(ptf, iF),
152 mixedFvPatchScalarField::autoMap(m);
163 mixedFvPatchScalarField::rmap(ptf, addr);
184 const fvDOM& dom = db().lookupObject<
fvDOM>(
"radiationProperties");
192 if (dom.nLambda() != 1)
195 <<
" a grey boundary condition is used with a non-grey " 214 const vector& myRayId = dom.IRay(rayId).dAve();
220 for (
label rayI=1; rayI < dom.nRay(); rayI++)
222 Ir += dom.IRay(rayI).qin().boundaryField()[
patchi];
227 if ((-n[facei] & myRayId) > 0.0)
230 refGrad()[facei] = 0.0;
231 valueFraction()[facei] = 1.0;
234 Ir[facei]*(scalar(1) - temissivity[facei])
240 qem[facei] = refValue()[facei]*nAve[facei];
245 valueFraction()[facei] = 0.0;
246 refGrad()[facei] = 0.0;
247 refValue()[facei] = 0.0;
250 qin[facei] = Iw[facei]*nAve[facei];
257 mixedFvPatchScalarField::updateCoeffs();
268 writeEntryIfDifferent<word>(os,
"T",
"T", TName_);
virtual void write(Ostream &) const
Write.
bool found(const word &, bool recursive=false, bool patternMatch=true) const
Search dictionary for given keyword.
#define forAll(list, i)
Loop across all elements in list.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
errorManipArg< error, int > exit(error &err, const int errNo=1)
volScalarField & qin()
Return non-const access to the boundary incident heat flux.
A list of keyword definitions, which are a keyword followed by any number of values (e...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
This boundary condition provides a grey-diffuse condition for radiation intensity, I, for use with the finite-volume discrete-ordinates model (fvDOM), in which the radiation temperature is retrieved from the temperature field boundary condition.
friend Ostream & operator(Ostream &, const fvPatchField< Type > &)
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
const dimensionedScalar sigma
Stefan-Boltzmann constant: default SI units: [W/m2/K4].
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
static int & msgType()
Message tag of standard messages.
scalarField emissivity_
Emissivity.
Macros for easy insertion into run-time selection tables.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
void setRayIdLambdaId(const word &name, label &rayId, label &lambdaId) const
Set the rayId and lambdaId from by decomposing an intensity.
A class for handling words, derived from string.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
void write(Ostream &) const
Write.
Foam::fvPatchFieldMapper.
Common functions to emissivity. It gets supplied from lookup into a dictionary or calculated by the s...
word emissivityMethod() const
Method to obtain emissivity.
virtual label size() const
Return size.
greyDiffusiveRadiationMixedFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
virtual void rmap(const fvPatchScalarField &, const labelList &)
Reverse map the given fvPatchField onto this fvPatchField.
word name(const complex &)
Return a string representation of a complex.
Radiation intensity for a ray in a given direction.
T lookupOrDefault(const word &, const T &, bool recursive=false, bool patternMatch=true) const
Find and return a T,.
Boundary & boundaryFieldRef()
Return a reference to the boundary field.
virtual void rmap(const fvPatchScalarField &, const labelList &)
Reverse map the given fvPatchField onto this fvPatchField.
virtual void operator=(const UList< Type > &)
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
dimensionedScalar pow4(const dimensionedScalar &ds)
static const Field< scalar > & null()
Return a null field.
volScalarField & qem()
Return non-const access to the boundary emitted heat flux.
virtual void autoMap(const fvPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
const vector & dAve() const
Return the average vector inside the solid angle.
makePatchTypeField(fvPatchScalarField, atmBoundaryLayerInletEpsilonFvPatchScalarField)
Finite Volume Discrete Ordinates Method. Solves the RTE equation for n directions in a participating ...
const volScalarField & qr() const
Return const access to the boundary heat flux.
virtual void autoMap(const fvPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
autoPtr< radiation::radiationModel > radiation(radiation::radiationModel::New(T))