41 mixedFvPatchScalarField(
p, iF)
43 valueFraction() = scalar(0);
44 refValue() = scalar(0);
45 refGrad() = scalar(0);
56 mixedFvPatchScalarField(
p, iF,
dict)
68 mixedFvPatchScalarField(ptf,
p, iF, mapper, false)
80 mixedFvPatchScalarField(tppsf, iF)
94 mapper(*
this, ptf, [&](){
return patchInternalField(); });
95 mapper(refValue(), ptf.refValue(), [&](){ return patchInternalField(); });
96 mapper(refGrad(), ptf.refGrad(), scalar(0));
97 mapper(valueFraction(), ptf.valueFraction(), scalar(0));
107 map(refCast<const mixedEnergyFvPatchScalarField>(ptf), mapper);
124 if (isA<mixedFvPatchScalarField>(Tp))
126 mixedFvPatchScalarField& Tm =
127 refCast<mixedFvPatchScalarField>(Tp);
131 valueFraction() = Tm.valueFraction();
135 + patch().deltaCoeffs()*
138 -
thermo.
he(Tm, patch().faceCells())
141 else if (isA<mixedEnergyCalculatedTemperatureFvPatchScalarField>(Tp))
144 refCast<mixedEnergyCalculatedTemperatureFvPatchScalarField>(Tp);
155 <<
"Temperature boundary condition not recognised."
156 <<
"A " << typeName <<
" condition for energy must be used with a "
157 << mixedFvPatchScalarField::typeName <<
" or "
158 << mixedEnergyCalculatedTemperatureFvPatchScalarField::typeName
159 <<
" condition for temperature."
163 mixedFvPatchScalarField::updateCoeffs();
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...
const Boundary & boundaryField() const
Return const-reference to the boundary field.
Base-class for fluid and solid thermodynamic properties.
static const basicThermo & lookupThermo(const FieldType &f)
Lookup the thermo associated with the given field.
virtual const volScalarField & T() const =0
Temperature [K].
virtual const volScalarField & Cpv() const =0
Heat capacity at constant pressure/volume [J/kg/K].
virtual const volScalarField & he() const =0
Enthalpy/Internal energy [J/kg].
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
Abstract base class for field mapping.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Base class for temperature boundary conditions in which the parameters of the mixed energy condition ...
scalarField & heRefGrad()
Access the energy gradient.
scalarField & heValueFraction()
Access the energy fraction.
scalarField & heRefValue()
Access the energy value.
This boundary condition provides a mixed condition for energy. This is selected when the correspondin...
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
void map(const mixedEnergyFvPatchScalarField &, const fieldMapper &)
Map the given fvPatchField onto this fvPatchField.
mixedEnergyFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
errorManipArg< error, int > exit(error &err, const int errNo=1)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
makeNullConstructablePatchTypeField(fvPatchVectorField, noSlipFvPatchVectorField)
fluidMulticomponentThermo & thermo