47 mixedFvPatchScalarField(
p, iF,
dict, false),
49 TName_(
dict.lookupOrDefault<
word>(
"T",
"T"))
51 if (
dict.found(
"refValue"))
65 valueFraction() = 1.0;
81 mixedFvPatchScalarField(ptf,
p, iF, mapper),
85 ptf.emissivityMethod(),
100 mixedFvPatchScalarField(ptf, iF),
104 ptf.emissivityMethod(),
119 mixedFvPatchScalarField::map(ptf, mapper);
129 mixedFvPatchScalarField::reset(ptf);
158 if (dom.nLambda() != 1)
161 <<
" a grey boundary condition is used with a non-grey "
180 const vector& myRayId = dom.IRay(rayId).dAve();
186 for (
label rayI=1; rayI < dom.nRay(); rayI++)
188 Ir += dom.IRay(rayI).qin().boundaryField()[
patchi];
193 if ((-
n[facei] & myRayId) > 0.0)
196 refGrad()[facei] = 0.0;
197 valueFraction()[facei] = 1.0;
200 Ir[facei]*(scalar(1) - emissivity[facei])
206 qem[facei] = refValue()[facei]*nAve[facei];
211 valueFraction()[facei] = 0.0;
212 refGrad()[facei] = 0.0;
213 refValue()[facei] = 0.0;
216 qin[facei] = Iw[facei]*nAve[facei];
223 mixedFvPatchScalarField::updateCoeffs();
234 writeEntryIfDifferent<word>(os,
"T",
"T", TName_);
#define forAll(list, i)
Loop across all elements in list.
Macros for easy insertion into run-time selection tables.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Boundary & boundaryFieldRef()
Return a reference to the boundary field.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
static int & msgType()
Message tag of standard messages.
A list of keyword definitions, which are a keyword followed by any number of values (e....
Foam::fvPatchFieldMapper.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
friend Ostream & operator(Ostream &, const fvPatchField< Type > &)
virtual void operator=(const UList< Type > &)
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
This boundary condition provides a grey-diffuse condition for radiation intensity,...
greyDiffusiveRadiationMixedFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &, const dictionary &)
Construct from patch, internal field and dictionary.
virtual void write(Ostream &) const
Write.
virtual void reset(const fvPatchScalarField &)
Reset the fvPatchField to the given fvPatchField.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
virtual void map(const fvPatchScalarField &, const fvPatchFieldMapper &)
Map the given fvPatchField onto this fvPatchField.
Common functions to emissivity. It gets supplied from lookup into a dictionary or calculated by the s...
void write(Ostream &) const
Write.
virtual void reset(const fvPatchScalarField &)
Reset the fvPatchField to the given fvPatchField.
virtual void map(const fvPatchScalarField &, const fvPatchFieldMapper &)
Map the given fvPatchField onto this fvPatchField.
Finite Volume Discrete Ordinates Method. Solves the RTE equation for n directions in a participating ...
void setRayIdLambdaId(const word &name, label &rayId, label &lambdaId) const
Set the rayId and lambdaId from by decomposing an intensity.
Radiation intensity for a ray in a given direction.
const vector & dAve() const
Return the average vector inside the solid angle.
const volScalarField & qr() const
Return const access to the boundary heat flux.
volScalarField & qin()
Return non-const access to the boundary incident heat flux.
volScalarField & qem()
Return non-const access to the boundary emitted heat flux.
A class for handling words, derived from string.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
const dimensionedScalar sigma
Stefan-Boltzmann constant: default SI units: [W/m^2/K^4].
void write(std::ostream &os, const bool binary, List< floatScalar > &fField)
Write floats ascii or binary.
errorManipArg< error, int > exit(error &err, const int errNo=1)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
VolField< scalar > volScalarField
dimensionedScalar pow4(const dimensionedScalar &ds)
makePatchTypeField(fvPatchScalarField, atmBoundaryLayerInletEpsilonFvPatchScalarField)