47 mixedFvPatchScalarField(p, iF),
53 valueFraction() = 1.0;
66 mixedFvPatchScalarField(ptf, p, iF, mapper),
86 mixedFvPatchScalarField(p, iF),
90 if (dict.
found(
"value"))
120 mixedFvPatchScalarField(ptf),
138 mixedFvPatchScalarField(ptf, iF),
157 mixedFvPatchScalarField::autoMap(m);
168 mixedFvPatchScalarField::rmap(ptf, addr);
188 const fvDOM& dom(refCast<const fvDOM>(radiation));
192 dom.setRayIdLambdaId(internalField().
name(), rayId, lambdaId);
196 if (dom.nLambda() == 0)
199 <<
" a non-grey boundary condition is used with a grey " 215 dom.blackBody().bLambda(lambdaId).boundaryField()[
patchi]
227 for (
label rayI=1; rayI < dom.nRay(); rayI++)
229 Ir += dom.IRay(rayI).qin().boundaryField()[
patchi];
234 const vector& d = dom.IRay(rayId).d();
236 if ((-n[facei] & d) > 0.0)
239 refGrad()[facei] = 0.0;
240 valueFraction()[facei] = 1.0;
243 Ir[facei]*(1.0 - temissivity[facei])
244 + temissivity[facei]*Eb[facei]
248 qem[facei] = refValue()[facei]*nAve[facei];
253 valueFraction()[facei] = 0.0;
254 refGrad()[facei] = 0.0;
255 refValue()[facei] = 0.0;
258 qin[facei] = Iw[facei]*nAve[facei];
265 mixedFvPatchScalarField::updateCoeffs();
276 writeEntryIfDifferent<word>(os,
"T",
"T", TName_);
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.
friend Ostream & operator(Ostream &, const fvPatchField< Type > &)
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
A class for handling words, derived from string.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
void write(Ostream &) const
Write.
Foam::fvPatchFieldMapper.
const Type & value() const
Return const reference to value.
Top level model for radiation modelling.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
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.
virtual void write(Ostream &) const
Write.
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.
virtual void autoMap(const fvPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
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.
This boundary condition provides a wide-band, diffusive radiation condition, where the patch temperat...
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 ...
virtual void rmap(const fvPatchScalarField &, const labelList &)
Reverse map the given fvPatchField onto this fvPatchField.
const volScalarField & qr() const
Return const access to the boundary heat flux.
wideBandDiffusiveRadiationMixedFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
autoPtr< radiation::radiationModel > radiation(radiation::radiationModel::New(T))