45 mixedFvPatchScalarField(p, iF),
51 valueFraction() = 1.0;
64 mixedFvPatchScalarField(ptf, p, iF, mapper),
66 emissivity_(ptf.emissivity_)
78 mixedFvPatchScalarField(p, iF),
90 if (dict.
found(
"value"))
92 fvPatchScalarField::operator=
99 fvPatchScalarField::operator=(refValue());
110 mixedFvPatchScalarField(ptf),
112 emissivity_(ptf.emissivity_)
123 mixedFvPatchScalarField(ptf, iF),
125 emissivity_(ptf.emissivity_)
142 const fvDOM& dom(refCast<const fvDOM>(radiation));
146 dom.setRayIdLambdaId(dimensionedInternalField().
name(), rayId, lambdaId);
148 const label patchI = patch().index();
150 if (dom.nLambda() == 0)
155 "wideBandDiffusiveRadiationMixedFvPatchScalarField::updateCoeffs"
156 ) <<
" a non-grey boundary condition is used with a grey "
169 dom.blackBody().bLambda(lambdaId).boundaryField()[patchI];
174 for (label rayI=0; rayI < dom.nRay(); rayI++)
176 const vector&
d = dom.IRay(rayI).d();
179 dom.IRay(rayI).ILambda(lambdaId).boundaryField()[patchI];
181 if ((-n[faceI] & d) < 0.0)
183 const vector& dAve = dom.IRay(rayI).dAve();
184 Ir = Ir + IFace[faceI]*
mag(n[faceI] & dAve);
188 const vector&
d = dom.IRay(rayId).d();
190 if ((-n[faceI] & d) > 0.0)
193 refGrad()[faceI] = 0.0;
194 valueFraction()[faceI] = 1.0;
197 Ir*(1.0 - emissivity_)
198 + emissivity_*Eb[faceI]
205 valueFraction()[faceI] = 0.0;
206 refGrad()[faceI] = 0.0;
207 refValue()[faceI] = 0.0;
223 writeEntry(
"value", os);