44 fixedValueFvPatchScalarField(
p, iF),
45 filmRegionName_(
"surfaceFilmProperties"),
46 pyrolysisRegionName_(
"pyrolysisProperties"),
61 fixedValueFvPatchScalarField(ptf,
p, iF, mapper),
62 filmRegionName_(ptf.filmRegionName_),
63 pyrolysisRegionName_(ptf.pyrolysisRegionName_),
64 phiName_(ptf.phiName_),
65 rhoName_(ptf.rhoName_)
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"))
97 fixedValueFvPatchScalarField(fptpsf),
98 filmRegionName_(fptpsf.filmRegionName_),
99 pyrolysisRegionName_(fptpsf.pyrolysisRegionName_),
100 phiName_(fptpsf.phiName_),
101 rhoName_(fptpsf.rhoName_)
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
131 <regionModels::surfaceFilmModels::surfaceFilmRegionModel>
135 const auto* pyrModelPtr = db().time().findObject
136 <regionModels::pyrolysisModels::pyrolysisModel>
137 (pyrolysisRegionName_);
139 if (!filmModelPtr || !pyrModelPtr)
145 const auto& filmModel = *filmModelPtr;
146 const auto& pyrModel = *pyrModelPtr;
155 const label patchi =
patch().index();
158 const label filmPatchi = filmModel.regionPatchID(patchi);
160 scalarField alphaFilm = filmModel.alpha().boundaryField()[filmPatchi];
161 filmModel.toPrimary(filmPatchi, alphaFilm);
163 scalarField TFilm = filmModel.Ts().boundaryField()[filmPatchi];
164 filmModel.toPrimary(filmPatchi, TFilm);
167 const label pyrPatchi = pyrModel.regionPatchID(patchi);
169 scalarField TPyr = pyrModel.
T().boundaryField()[pyrPatchi];
170 pyrModel.toPrimary(pyrPatchi, TPyr);
174 Tp = alphaFilm*TFilm + (1.0 - alphaFilm)*TPyr;
178 fixedValueFvPatchScalarField::updateCoeffs();
191 "surfaceFilmProperties",
197 "pyrolysisProperties",
213 filmPyrolysisTemperatureCoupledFvPatchScalarField
virtual void write(Ostream &) const
Write.
static int incrMsgType(int val=1) noexcept
Increment the message tag for standard messages.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
filmPyrolysisTemperatureCoupledFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
static int & msgType() noexcept
Message tag of standard messages.
void writeValueEntry(Ostream &os) const
Write *this field as a "value" entry.
virtual void write(Ostream &) const
Write.
Macros for easy insertion into run-time selection tables.
fvPatchField< scalar > fvPatchScalarField
A class for handling words, derived from Foam::string.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
A FieldMapper for finite-volume patch fields.
This boundary condition is designed to be used in conjunction with surface film and pyrolysis modelli...
Ostream & writeEntryIfDifferent(const word &key, const T &value1, const T &value2)
Write a keyword/value entry only when the two values differ.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
OBJstream os(runTime.globalPath()/outputName)
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
const std::string patch
OpenFOAM patch number as a std::string.
tmp< Field< Type > > T() const
Return the field transpose (only defined for second rank tensors)
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
makePatchTypeField(fvPatchScalarField, atmBoundaryLayerInletEpsilonFvPatchScalarField)