45 mixedFvPatchScalarField(p, iF),
51 valueFraction() = 1.0;
64 mixedFvPatchScalarField(ptf, p, iF, mapper),
66 emissivity_(ptf.emissivity_)
78 mixedFvPatchScalarField(p, iF),
82 if (dict.
found(
"refValue"))
84 fvPatchScalarField::operator=
104 valueFraction() = 1.0;
106 fvPatchScalarField::operator=(refValue());
117 mixedFvPatchScalarField(ptf),
119 emissivity_(ptf.emissivity_)
130 mixedFvPatchScalarField(ptf, iF),
132 emissivity_(ptf.emissivity_)
152 const fvDOM& dom(refCast<const fvDOM>(radiation));
156 dom.setRayIdLambdaId(dimensionedInternalField().
name(), rayId, lambdaId);
158 const label patchI = patch().index();
160 if (dom.nLambda() != 1)
165 "greyDiffusiveRadiationMixedFvPatchScalarField::updateCoeffs"
166 ) <<
" a grey boundary condition is used with a non-grey "
182 for (label rayI=0; rayI < dom.nRay(); rayI++)
184 const vector&
d = dom.IRay(rayI).d();
187 dom.IRay(rayI).ILambda(lambdaId).boundaryField()[patchI];
189 if ((-n[faceI] & d) < 0.0)
192 const vector& dAve = dom.IRay(rayI).dAve();
193 Ir += IFace[faceI]*
mag(n[faceI] & dAve);
197 const vector&
d = dom.IRay(rayId).d();
199 if ((-n[faceI] & d) > 0.0)
202 refGrad()[faceI] = 0.0;
203 valueFraction()[faceI] = 1.0;
206 Ir*(1.0 - emissivity_)
213 refValue()[faceI]*(n[faceI] & ray.
dAve());
219 valueFraction()[faceI] = 0.0;
220 refGrad()[faceI] = 0.0;
221 refValue()[faceI] = 0.0;
225 Iw[faceI]*(n[faceI] & ray.
dAve());
238 mixedFvPatchScalarField::write(os);