47 mixedFvPatchScalarField(p, iF),
53 valueFraction() = 1.0;
66 mixedFvPatchScalarField(ptf, p, iF, mapper),
85 mixedFvPatchScalarField(p, iF),
89 if (dict.
found(
"value"))
119 mixedFvPatchScalarField(ptf),
137 mixedFvPatchScalarField(ptf, iF),
166 const fvDOM& dom(refCast<const fvDOM>(radiation));
170 dom.setRayIdLambdaId(internalField().
name(), rayId, lambdaId);
174 if (dom.nLambda() == 0)
177 <<
" a non-grey boundary condition is used with a grey " 193 dom.blackBody().bLambda(lambdaId).boundaryField()[
patchi]
205 for (
label rayI=1; rayI < dom.nRay(); rayI++)
207 Ir += dom.IRay(rayI).qin().boundaryField()[
patchi];
212 const vector& d = dom.IRay(rayId).d();
214 if ((-n[facei] & d) > 0.0)
217 refGrad()[facei] = 0.0;
218 valueFraction()[facei] = 1.0;
221 Ir[facei]*(1.0 - temissivity[facei])
222 + temissivity[facei]*Eb[facei]
226 qem[facei] = refValue()[facei]*nAve[facei];
231 valueFraction()[facei] = 0.0;
232 refGrad()[facei] = 0.0;
233 refValue()[facei] = 0.0;
236 qin[facei] = Iw[facei]*nAve[facei];
243 mixedFvPatchScalarField::updateCoeffs();
254 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
makePatchTypeField(fvPatchVectorField, SRFFreestreamVelocityFvPatchVectorField)
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...
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.
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 emmited heat flux.
const vector & dAve() const
Return the average vector inside the solid angle.
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.
wideBandDiffusiveRadiationMixedFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
autoPtr< radiation::radiationModel > radiation(radiation::radiationModel::New(T))