37Foam::filmPyrolysisTemperatureCoupledFvPatchScalarField::
38filmPyrolysisTemperatureCoupledFvPatchScalarField
44 fixedValueFvPatchScalarField(
p, iF),
45 filmRegionName_(
"surfaceFilmProperties"),
46 pyrolysisRegionName_(
"pyrolysisProperties"),
52Foam::filmPyrolysisTemperatureCoupledFvPatchScalarField::
53filmPyrolysisTemperatureCoupledFvPatchScalarField
61 fixedValueFvPatchScalarField(ptf,
p, iF, mapper),
62 filmRegionName_(ptf.filmRegionName_),
63 pyrolysisRegionName_(ptf.pyrolysisRegionName_),
64 phiName_(ptf.phiName_),
65 rhoName_(ptf.rhoName_)
69Foam::filmPyrolysisTemperatureCoupledFvPatchScalarField::
70filmPyrolysisTemperatureCoupledFvPatchScalarField
77 fixedValueFvPatchScalarField(
p, iF,
dict),
80 dict.getOrDefault<
word>(
"filmRegion",
"surfaceFilmProperties")
84 dict.getOrDefault<
word>(
"pyrolysisRegion",
"pyrolysisProperties")
86 phiName_(
dict.getOrDefault<
word>(
"phi",
"phi")),
87 rhoName_(
dict.getOrDefault<
word>(
"rho",
"rho"))
91Foam::filmPyrolysisTemperatureCoupledFvPatchScalarField::
92filmPyrolysisTemperatureCoupledFvPatchScalarField
97 fixedValueFvPatchScalarField(fptpsf),
98 filmRegionName_(fptpsf.filmRegionName_),
99 pyrolysisRegionName_(fptpsf.pyrolysisRegionName_),
100 phiName_(fptpsf.phiName_),
101 rhoName_(fptpsf.rhoName_)
105Foam::filmPyrolysisTemperatureCoupledFvPatchScalarField::
106filmPyrolysisTemperatureCoupledFvPatchScalarField
112 fixedValueFvPatchScalarField(fptpsf, iF),
113 filmRegionName_(fptpsf.filmRegionName_),
114 pyrolysisRegionName_(fptpsf.pyrolysisRegionName_),
115 phiName_(fptpsf.phiName_),
116 rhoName_(fptpsf.rhoName_)
130 const auto* filmModelPtr = db().time().findObject
137 (pyrolysisRegionName_);
139 if (!filmModelPtr || !pyrModelPtr)
145 const auto& filmModel = *filmModelPtr;
146 const auto& pyrModel = *pyrModelPtr;
157 const label patchi = patch().index();
160 const label filmPatchi = filmModel.regionPatchID(patchi);
162 scalarField alphaFilm = filmModel.alpha().boundaryField()[filmPatchi];
163 filmModel.toPrimary(filmPatchi, alphaFilm);
165 scalarField TFilm = filmModel.Ts().boundaryField()[filmPatchi];
166 filmModel.toPrimary(filmPatchi, TFilm);
169 const label pyrPatchi = pyrModel.regionPatchID(patchi);
171 scalarField TPyr = pyrModel.
T().boundaryField()[pyrPatchi];
172 pyrModel.toPrimary(pyrPatchi, TPyr);
176 Tp = alphaFilm*TFilm + (1.0 - alphaFilm)*TPyr;
181 fixedValueFvPatchScalarField::updateCoeffs();
194 "surfaceFilmProperties",
200 "pyrolysisProperties",
205 writeEntry(
"value",
os);
Macros for easy insertion into run-time selection tables.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
tmp< Field< Type > > T() const
Return the field transpose (only defined for second rank tensors)
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Ostream & writeEntryIfDifferent(const word &key, const T &value1, const T &value2)
Write a keyword/value entry only when the two values differ.
static int & msgType() noexcept
Message tag of standard messages.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
This boundary condition is designed to be used in conjunction with surface film and pyrolysis modelli...
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
virtual bool write()
Write the output fields.
A FieldMapper for finite-volume patch fields.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
const Type * findObject(const word &name, const bool recursive=false) const
Return const pointer to the object of the given Type.
Base class for pyrolysis models.
const Time & time() const
Return the reference to the time database.
Base class for surface film models.
A class for handling words, derived from Foam::string.
OBJstream os(runTime.globalPath()/outputName)
#define makePatchTypeField(PatchTypeField, typePatchTypeField)