44 inletOutletFvPatchScalarField(
p, iF),
50 this->refValue() =
Zero;
51 this->refGrad() =
Zero;
52 this->valueFraction() = 0.0;
65 inletOutletFvPatchScalarField(ptf,
p, iF, mapper),
67 psiName_(ptf.psiName_),
81 inletOutletFvPatchScalarField(
p, iF),
82 UName_(
dict.getOrDefault<
word>(
"U",
"U")),
83 psiName_(
dict.getOrDefault<
word>(
"psi",
"thermo:psi")),
84 gamma_(
dict.get<scalar>(
"gamma")),
85 T0_(
"T0",
dict,
p.size())
89 this->phiName_ =
dict.getOrDefault<
word>(
"phi",
"phi");
91 this->refValue() =
Zero;
93 if (!this->readValueEntry(
dict))
98 this->refGrad() =
Zero;
99 this->valueFraction() = 0.0;
106 const inletOutletTotalTemperatureFvPatchScalarField& tppsf
109 inletOutletFvPatchScalarField(tppsf),
110 UName_(tppsf.UName_),
111 psiName_(tppsf.psiName_),
112 gamma_(tppsf.gamma_),
124 inletOutletFvPatchScalarField(tppsf, iF),
125 UName_(tppsf.UName_),
126 psiName_(tppsf.psiName_),
127 gamma_(tppsf.gamma_),
139 inletOutletFvPatchScalarField::autoMap(m);
150 inletOutletFvPatchScalarField::rmap(ptf, addr);
155 T0_.rmap(tiptf.T0_, addr);
175 scalar gM1ByG = (gamma_ - 1.0)/gamma_;
179 this->valueFraction() =
neg(phip);
181 inletOutletFvPatchScalarField::updateCoeffs();
189 os.writeEntryIfDifferent<
word>(
"U",
"U", UName_);
190 os.writeEntryIfDifferent<
word>(
"phi",
"phi", this->phiName_);
191 os.writeEntryIfDifferent<
word>(
"psi",
"psi", psiName_);
192 os.writeEntry(
"gamma", gamma_);
193 T0_.writeEntry(
"T0",
os);
205 inletOutletTotalTemperatureFvPatchScalarField
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...
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
virtual void readDict(const dictionary &dict)
Read dictionary entries.
A FieldMapper for finite-volume patch fields.
virtual void write(Ostream &) const
Write.
void writeValueEntry(Ostream &os) const
Write *this field as a "value" entry.
virtual void operator=(const UList< Type > &)
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
This boundary condition provides an outflow condition for total temperature for use with supersonic c...
virtual void autoMap(const fvPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
virtual void write(Ostream &) const
Write.
virtual void rmap(const fvPatchScalarField &, const labelList &)
Reverse map the given fvPatchField onto this fvPatchField.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
inletOutletTotalTemperatureFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
A class for handling words, derived from Foam::string.
OBJstream os(runTime.globalPath()/outputName)
#define makePatchTypeField(PatchTypeField, typePatchTypeField)
Define a concrete fvPatchField type and add to run-time tables Example, (fvPatchScalarField,...
Type & refCast(U &obj)
A dynamic_cast (for references) to Type reference.
GeometricField< vector, fvPatchField, volMesh > volVectorField
List< label > labelList
A List of labels.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
dimensionedScalar neg(const dimensionedScalar &ds)
static constexpr const zero Zero
Global zero (0).
dimensioned< typename typeOfMag< Type >::type > magSqr(const dimensioned< Type > &dt)
fvPatchField< scalar > fvPatchScalarField