This boundary condition provides a total pressure condition. Four variants are possible: More...
Public Member Functions | |
TypeName ("totalPressure") | |
Runtime type information. More... | |
totalPressureFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &) | |
Construct from patch and internal field. More... | |
totalPressureFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &, const dictionary &) | |
Construct from patch, internal field and dictionary. More... | |
totalPressureFvPatchScalarField (const totalPressureFvPatchScalarField &, const fvPatch &, const DimensionedField< scalar, volMesh > &, const fvPatchFieldMapper &) | |
Construct by mapping given totalPressureFvPatchScalarField. More... | |
totalPressureFvPatchScalarField (const totalPressureFvPatchScalarField &) | |
Construct as copy. More... | |
virtual tmp< fvPatchScalarField > | clone () const |
Construct and return a clone. More... | |
totalPressureFvPatchScalarField (const totalPressureFvPatchScalarField &, const DimensionedField< scalar, volMesh > &) | |
Construct as copy setting internal field reference. More... | |
virtual tmp< fvPatchScalarField > | clone (const DimensionedField< scalar, volMesh > &iF) const |
Construct and return a clone setting internal field reference. More... | |
const word & | UName () const |
Return the name of the velocity field. More... | |
word & | UName () |
Return reference to the name of the velocity field. More... | |
const word & | phiName () const |
Return the name of the flux field. More... | |
word & | phiName () |
Return reference to the name of the flux field. More... | |
const word & | rhoName () const |
Return the name of the density field. More... | |
word & | rhoName () |
Return reference to the name of the density field. More... | |
const word & | psiName () const |
Return the name of the compressibility field. More... | |
word & | psiName () |
Return reference to the name of the compressibility field. More... | |
scalar | gamma () const |
Return the heat capacity ratio. More... | |
scalar & | gamma () |
Return reference to the heat capacity ratio to allow adjustment. More... | |
const scalarField & | p0 () const |
Return the total pressure. More... | |
scalarField & | p0 () |
Return reference to the total pressure to allow adjustment. More... | |
virtual void | autoMap (const fvPatchFieldMapper &) |
Map (and resize as needed) from self given a mapping object. More... | |
virtual void | rmap (const fvPatchScalarField &, const labelList &) |
Reverse map the given fvPatchField onto this fvPatchField. More... | |
virtual void | updateCoeffs (const scalarField &p0p, const vectorField &Up) |
Update the coefficients associated with the patch field. More... | |
virtual void | updateCoeffs () |
Update the coefficients associated with the patch field. More... | |
virtual void | write (Ostream &) const |
Write. More... | |
This boundary condition provides a total pressure condition. Four variants are possible:
where
= | incompressible pressure at patch [m2/s2] | |
= | incompressible total pressure [m2/s2] | |
= | velocity |
2. compressible subsonic:
where
= | pressure at patch [Pa] | |
= | total pressure [Pa] | |
= | density [kg/m3] | |
= | velocity |
3. compressible transonic ( ):
where
= | pressure at patch [Pa] | |
= | total pressure [Pa] | |
= | coefficient given by |
4. compressible supersonic ( ):
where
= | pressure at patch [Pa] | |
= | total pressure [Pa] | |
= | ratio of specific heats (Cp/Cv) | |
= | compressibility [m2/s2] | |
= | coefficient given by |
The modes of operation are set by the dimensions of the pressure field to which this boundary condition is applied, the psi
entry and the value of gamma:
Mode | dimensions | psi | gamma |
---|---|---|---|
incompressible subsonic | p/rho | ||
compressible subsonic | p | none | |
compressible transonic | p | psi | 1 |
compressible supersonic | p | psi | > 1 |
Property | Description | Required | Default value |
---|---|---|---|
U | Velocity field name | no | U |
phi | Flux field name | no | phi |
rho | Density field name | no | rho |
psi | Compressibility field name | no | none |
gamma | (Cp/Cv) | no | 1 |
p0 | Total pressure | yes |
Example of the boundary condition specification:
<patchName> { type totalPressure; p0 uniform 1e5; }
Definition at line 254 of file totalPressureFvPatchScalarField.H.
totalPressureFvPatchScalarField | ( | const fvPatch & | p, |
const DimensionedField< scalar, volMesh > & | iF | ||
) |
Construct from patch and internal field.
Definition at line 36 of file totalPressureFvPatchScalarField.C.
Referenced by totalPressureFvPatchScalarField::clone(), and totalPressureFvPatchScalarField::totalPressureFvPatchScalarField().
totalPressureFvPatchScalarField | ( | const fvPatch & | p, |
const DimensionedField< scalar, volMesh > & | iF, | ||
const dictionary & | dict | ||
) |
Construct from patch, internal field and dictionary.
Definition at line 52 of file totalPressureFvPatchScalarField.C.
References dictionary::found(), scalarField(), fvPatch::size(), and totalPressureFvPatchScalarField::totalPressureFvPatchScalarField().
totalPressureFvPatchScalarField | ( | const totalPressureFvPatchScalarField & | ptf, |
const fvPatch & | p, | ||
const DimensionedField< scalar, volMesh > & | iF, | ||
const fvPatchFieldMapper & | mapper | ||
) |
Construct by mapping given totalPressureFvPatchScalarField.
onto a new patch
Definition at line 81 of file totalPressureFvPatchScalarField.C.
References totalPressureFvPatchScalarField::totalPressureFvPatchScalarField().
totalPressureFvPatchScalarField | ( | const totalPressureFvPatchScalarField & | tppsf | ) |
Construct as copy.
Definition at line 99 of file totalPressureFvPatchScalarField.C.
References totalPressureFvPatchScalarField::totalPressureFvPatchScalarField().
totalPressureFvPatchScalarField | ( | const totalPressureFvPatchScalarField & | tppsf, |
const DimensionedField< scalar, volMesh > & | iF | ||
) |
Construct as copy setting internal field reference.
Definition at line 114 of file totalPressureFvPatchScalarField.C.
References totalPressureFvPatchScalarField::autoMap().
TypeName | ( | "totalPressure" | ) |
Runtime type information.
|
inlinevirtual |
Construct and return a clone.
Reimplemented in fanPressureFvPatchScalarField, and rotatingTotalPressureFvPatchScalarField.
Definition at line 320 of file totalPressureFvPatchScalarField.H.
References totalPressureFvPatchScalarField::totalPressureFvPatchScalarField().
|
inlinevirtual |
Construct and return a clone setting internal field reference.
Reimplemented in fanPressureFvPatchScalarField, and rotatingTotalPressureFvPatchScalarField.
Definition at line 337 of file totalPressureFvPatchScalarField.H.
References totalPressureFvPatchScalarField::totalPressureFvPatchScalarField().
|
inline |
Return the name of the velocity field.
Definition at line 353 of file totalPressureFvPatchScalarField.H.
Referenced by rotatingTotalPressureFvPatchScalarField::updateCoeffs(), and totalPressureFvPatchScalarField::updateCoeffs().
|
inline |
Return reference to the name of the velocity field.
to allow adjustment
Definition at line 360 of file totalPressureFvPatchScalarField.H.
|
inline |
Return the name of the flux field.
Definition at line 366 of file totalPressureFvPatchScalarField.H.
|
inline |
Return reference to the name of the flux field.
to allow adjustment
Definition at line 373 of file totalPressureFvPatchScalarField.H.
|
inline |
Return the name of the density field.
Definition at line 379 of file totalPressureFvPatchScalarField.H.
|
inline |
Return reference to the name of the density field.
to allow adjustment
Definition at line 386 of file totalPressureFvPatchScalarField.H.
|
inline |
Return the name of the compressibility field.
Definition at line 392 of file totalPressureFvPatchScalarField.H.
|
inline |
Return reference to the name of the compressibility field.
to allow adjustment
Definition at line 399 of file totalPressureFvPatchScalarField.H.
|
inline |
Return the heat capacity ratio.
Definition at line 405 of file totalPressureFvPatchScalarField.H.
|
inline |
Return reference to the heat capacity ratio to allow adjustment.
Definition at line 411 of file totalPressureFvPatchScalarField.H.
|
inline |
Return the total pressure.
Definition at line 417 of file totalPressureFvPatchScalarField.H.
Referenced by rotatingTotalPressureFvPatchScalarField::updateCoeffs(), and totalPressureFvPatchScalarField::updateCoeffs().
|
inline |
Return reference to the total pressure to allow adjustment.
Definition at line 423 of file totalPressureFvPatchScalarField.H.
References totalPressureFvPatchScalarField::autoMap(), totalPressureFvPatchScalarField::rmap(), totalPressureFvPatchScalarField::updateCoeffs(), and totalPressureFvPatchScalarField::write().
|
virtual |
Map (and resize as needed) from self given a mapping object.
Definition at line 132 of file totalPressureFvPatchScalarField.C.
References totalPressureFvPatchScalarField::rmap().
Referenced by totalPressureFvPatchScalarField::p0(), and totalPressureFvPatchScalarField::totalPressureFvPatchScalarField().
|
virtual |
Reverse map the given fvPatchField onto this fvPatchField.
Definition at line 142 of file totalPressureFvPatchScalarField.C.
References totalPressureFvPatchScalarField::rmap(), and totalPressureFvPatchScalarField::updateCoeffs().
Referenced by totalPressureFvPatchScalarField::autoMap(), totalPressureFvPatchScalarField::p0(), and totalPressureFvPatchScalarField::rmap().
|
virtual |
Update the coefficients associated with the patch field.
using the given patch total pressure and velocity fields
Definition at line 157 of file totalPressureFvPatchScalarField.C.
References Foam::dimDensity, Foam::dimPressure, Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::magSqr(), Foam::nl, Foam::operator==(), Foam::pos0(), Foam::pow(), and rho.
|
virtual |
Update the coefficients associated with the patch field.
Reimplemented in fanPressureFvPatchScalarField, and rotatingTotalPressureFvPatchScalarField.
Definition at line 233 of file totalPressureFvPatchScalarField.C.
References totalPressureFvPatchScalarField::p0(), and totalPressureFvPatchScalarField::UName().
Referenced by totalPressureFvPatchScalarField::p0(), totalPressureFvPatchScalarField::rmap(), rotatingTotalPressureFvPatchScalarField::updateCoeffs(), and fanPressureFvPatchScalarField::updateCoeffs().
|
virtual |
Write.
Reimplemented in fanPressureFvPatchScalarField, and rotatingTotalPressureFvPatchScalarField.
Definition at line 243 of file totalPressureFvPatchScalarField.C.
References token::END_STATEMENT, Foam::makePatchTypeField(), Foam::nl, fvPatchField< Type >::write(), and Field< Type >::writeEntry().
Referenced by totalPressureFvPatchScalarField::p0(), rotatingTotalPressureFvPatchScalarField::write(), and fanPressureFvPatchScalarField::write().