47 psiName_(
"thermo:psi"),
62 psiName_(ptf.psiName_),
76 psiName_(
dict.getOrDefault<
word>(
"psi",
"thermo:psi")),
77 gamma_(
dict.
get<scalar>(
"gamma"))
88 psiName_(ptpsf.psiName_),
101 psiName_(ptpsf.psiName_),
114 this->patch().template lookupPatchField<volScalarField>(psiName_);
117 this->db().template lookupObject<surfaceScalarField>(this->phiName_);
121 this->patch().
template
122 lookupPatchField<surfaceScalarField>(this->phiName_)
128 this->patch().template
129 lookupPatchField<volScalarField>(this->rhoName_);
137 return phip/this->
patch().magSf() +
sqrt(gamma_/psip);
146 os.writeEntryIfDifferent<
word>(
"phi",
"phi", this->phiName_);
147 os.writeEntryIfDifferent<
word>(
"rho",
"rho", this->rhoName_);
148 os.writeEntryIfDifferent<
word>(
"psi",
"thermo:psi", psiName_);
150 os.writeEntry(
"gamma", gamma_);
152 if (this->lInf_ > SMALL)
154 os.writeEntry(
"fieldInf", this->fieldInf_);
155 os.writeEntry(
"lInf", this->lInf_);
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,...
bool get(const label i) const
This boundary condition provides an advective outflow condition, based on solving DDt(W,...
advectiveFvPatchField(const fvPatch &, const DimensionedField< Type, volMesh > &)
Construct from patch and internal field.
scalar lInf_
Relaxation length-scale.
word phiName_
Name of the flux transporting the field.
Type fieldInf_
Field value of the far-field.
word rhoName_
Name of the density field used to normalise the mass flux if necessary.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
const objectRegistry & db() const
The associated objectRegistry.
const fvPatch & patch() const noexcept
Return the patch.
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.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
A class for managing temporary objects.
This boundary condition provides a wave transmissive outflow condition, based on solving DDt(W,...
virtual void write(Ostream &) const
Write.
waveTransmissiveFvPatchField(const fvPatch &, const DimensionedField< Type, volMesh > &)
Construct from patch and internal field.
virtual tmp< scalarField > advectionSpeed() const
Calculate and return the advection speed at the boundary.
A class for handling words, derived from Foam::string.
OBJstream os(runTime.globalPath()/outputName)
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
dimensionedScalar sqrt(const dimensionedScalar &ds)
const dimensionSet dimMass(1, 0, 0, 0, 0, 0, 0)