Go to the documentation of this file.
48 mixedFvPatchScalarField(
p, iF)
52 valueFraction() = 1.0;
65 mixedFvPatchScalarField(ptf,
p, iF, mapper)
77 mixedFvPatchScalarField(
p, iF)
79 if (
dict.found(
"value"))
93 valueFraction() = 1.0;
106 mixedFvPatchScalarField(ptf)
117 mixedFvPatchScalarField(ptf, iF)
145 const label patchI = patch().index();
147 if (dom.nLambda() == 0)
150 <<
" a non-grey boundary condition is used with a grey "
166 dom.blackBody().bLambda(lambdaId).boundaryField()[patchI]
175 boundaryRadiation.
emissivity(patch().index(), lambdaId)
185 scalarField Ir = dom.IRay(0).Qin().boundaryField()[patchI];
187 for (
label rayI=1; rayI < dom.nRay(); rayI++)
189 Ir += dom.IRay(rayI).Qin().boundaryField()[patchI];
194 const vector& d = dom.IRay(rayId).d();
196 if ((-
n[faceI] & d) > 0.0)
199 refGrad()[faceI] = 0.0;
200 valueFraction()[faceI] = 1.0;
203 Ir[faceI]*(1.0 - emissivity[faceI])
204 + emissivity[faceI]*Eb[faceI]
208 Qem[faceI] = refValue()[faceI]*nAve[faceI];
213 valueFraction()[faceI] = 0.0;
214 refGrad()[faceI] = 0.0;
215 refValue()[faceI] = 0.0;
218 Qin[faceI] = Iw[faceI]*nAve[faceI];
225 mixedFvPatchScalarField::updateCoeffs();
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
tmp< scalarField > emissivity(const label patchId, const label bandI=0) const
Access boundary emissivity on patch.
virtual void operator=(const UList< Type > &)
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
autoPtr< BasicCompressibleTurbulenceModel > New(const volScalarField &rho, const volVectorField &U, const surfaceScalarField &phi, const typename BasicCompressibleTurbulenceModel::transportModel &transport, const word &propertiesName)
#define forAll(list, i)
Loop across all elements in list.
A class for managing temporary objects.
rDeltaT dimensionedInternalField()
Radiation intensity for a ray in a given direction.
GeometricBoundaryField & boundaryField()
Return reference to GeometricBoundaryField.
friend Ostream & operator(Ostream &, const fvPatchField< Type > &)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Pre-declare SubField and related Field type.
This boundary condition provides a wide-band, diffusive radiation condition, where the patch temperat...
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
volScalarField & Qem()
Return non-const access to the boundary emmited heat flux.
autoPtr< radiation::radiationModel > radiation(radiation::radiationModel::New(T))
A list of keyword definitions, which are a keyword followed by any number of values (e....
Macros for easy insertion into run-time selection tables.
makePatchTypeField(fvPatchVectorField, SRFFreestreamVelocityFvPatchVectorField)
errorManipArg< error, int > exit(error &err, const int errNo=1)
const vector & dAve() const
Return the average vector inside the solid angle.
wideBandDiffusiveRadiationMixedFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
static int & msgType()
Message tag of standard messages.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
Top level model for radiation modelling.
Foam::fvPatchFieldMapper.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
const volScalarField & Qr() const
Return const access to the boundary heat flux.
virtual void write(Ostream &) const
Write.
word name(const complex &)
Return a string representation of a complex.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
volScalarField & Qin()
Return non-const access to the boundary incident heat flux.
Finite Volume Discrete Ordinates Method. Solves the RTE equation for n directions in a participating ...