41 fixedValueFvPatchVectorField(
p, iF),
42 filmRegionName_(
"surfaceFilmProperties"),
43 pyrolysisRegionName_(
"pyrolysisProperties"),
58 fixedValueFvPatchVectorField(ptf,
p, iF, mapper),
74 fixedValueFvPatchVectorField(
p, iF),
77 dict.lookupOrDefault<
word>(
"filmRegion",
"surfaceFilmProperties")
81 dict.lookupOrDefault<
word>(
"pyrolysisRegion",
"pyrolysisProperties")
83 phiName_(
dict.lookupOrDefault<
word>(
"phi",
"phi")),
84 rhoName_(
dict.lookupOrDefault<
word>(
"rho",
"rho"))
96 fixedValueFvPatchVectorField(fpvpvf),
111 fixedValueFvPatchVectorField(fpvpvf, iF),
136 bool foundFilm = db().time().foundObject<filmModelType>(
filmRegionName_);
138 bool foundPyrolysis =
141 if (!foundFilm || !foundPyrolysis)
149 const label patchI = patch().index();
152 const filmModelType& filmModel =
155 const label filmPatchI = filmModel.regionPatchID(patchI);
157 scalarField alphaFilm = filmModel.alpha().boundaryField()[filmPatchI];
158 filmModel.toPrimary(filmPatchI, alphaFilm);
160 vectorField UFilm = filmModel.Us().boundaryField()[filmPatchI];
161 filmModel.toPrimary(filmPatchI, UFilm);
164 const pyrModelType& pyrModel =
167 const label pyrPatchI = pyrModel.regionPatchID(patchI);
169 scalarField phiPyr = pyrModel.phiGas().boundaryField()[pyrPatchI];
170 pyrModel.toPrimary(pyrPatchI, phiPyr);
189 <<
"Unable to process flux field phi with dimensions "
190 <<
phi.dimensions() <<
nl
191 <<
" on patch " << patch().name()
197 const scalarField UAvePyr(-phiPyr/patch().magSf());
202 Up = alphaFilm*UFilm + (1.0 - alphaFilm)*UAvePyr*nf;
207 fixedValueFvPatchVectorField::updateCoeffs();
217 writeEntryIfDifferent<word>
221 "surfaceFilmProperties",
224 writeEntryIfDifferent<word>
228 "pyrolysisProperties",
231 writeEntryIfDifferent<word>(os,
"phi",
"phi", phiName_);
232 writeEntryIfDifferent<word>(os,
"rho",
"rho", rhoName_);
233 writeEntry(
"value", os);