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:
1. incompressible subsonic:
\[ p_p = p_0 - 0.5 |U|^2 \]
where
\( p_p \) | = | incompressible pressure at patch [m2/s2] |
\( p_0 \) | = | incompressible total pressure [m2/s2] |
\( U \) | = | velocity |
2. compressible subsonic:
\[ p_p = p_0 - 0.5 \rho |U|^2 \]
where
\( p_p \) | = | pressure at patch [Pa] |
\( p_0 \) | = | total pressure [Pa] |
\( \rho \) | = | density [kg/m3] |
\( U \) | = | velocity |
3. compressible transonic ( \(\gamma = 1\)):
\[ p_p = \frac{p_0}{1 + 0.5 \psi |U|^2} \]
where
\( p_p \) | = | pressure at patch [Pa] |
\( p_0 \) | = | total pressure [Pa] |
\( G \) | = | coefficient given by \(\frac{\gamma}{1-\gamma}\) |
4. compressible supersonic ( \(\gamma > 1\)):
\[ p_p = \frac{p_0}{(1 + 0.5 \psi G |U|^2)^{\frac{1}{G}}} \]
where
\( p_p \) | = | pressure at patch [Pa] |
\( p_0 \) | = | total pressure [Pa] |
\( \gamma \) | = | ratio of specific heats (Cp/Cv) |
\( \psi \) | = | compressibility [m2/s2] |
\( G \) | = | coefficient given by \(\frac{\gamma}{1-\gamma}\) |
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 256 of file totalPressureFvPatchScalarField.H.
totalPressureFvPatchScalarField | ( | const fvPatch & | p, |
const DimensionedField< scalar, volMesh > & | iF | ||
) |
Construct from patch and internal field.
Definition at line 38 of file totalPressureFvPatchScalarField.C.
totalPressureFvPatchScalarField | ( | const fvPatch & | p, |
const DimensionedField< scalar, volMesh > & | iF, | ||
const dictionary & | dict | ||
) |
Construct from patch, internal field and dictionary.
Definition at line 54 of file totalPressureFvPatchScalarField.C.
References dict, dictionary::found(), fvPatchField< Type >::operator=(), p, and UList< T >::size().
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 83 of file totalPressureFvPatchScalarField.C.
totalPressureFvPatchScalarField | ( | const totalPressureFvPatchScalarField & | tppsf | ) |
Construct as copy.
Definition at line 101 of file totalPressureFvPatchScalarField.C.
totalPressureFvPatchScalarField | ( | const totalPressureFvPatchScalarField & | tppsf, |
const DimensionedField< scalar, volMesh > & | iF | ||
) |
Construct as copy setting internal field reference.
Definition at line 116 of file totalPressureFvPatchScalarField.C.
TypeName | ( | "totalPressure" | ) |
Runtime type information.
|
inlinevirtual |
Construct and return a clone.
Reimplemented in fanPressureFvPatchScalarField, and rotatingTotalPressureFvPatchScalarField.
Definition at line 322 of file totalPressureFvPatchScalarField.H.
|
inlinevirtual |
Construct and return a clone setting internal field reference.
Reimplemented in fanPressureFvPatchScalarField, and rotatingTotalPressureFvPatchScalarField.
Definition at line 338 of file totalPressureFvPatchScalarField.H.
|
inline |
Return the name of the velocity field.
Definition at line 355 of file totalPressureFvPatchScalarField.H.
|
inline |
Return reference to the name of the velocity field.
to allow adjustment
Definition at line 362 of file totalPressureFvPatchScalarField.H.
|
inline |
Return the name of the flux field.
Definition at line 368 of file totalPressureFvPatchScalarField.H.
|
inline |
Return reference to the name of the flux field.
to allow adjustment
Definition at line 375 of file totalPressureFvPatchScalarField.H.
|
inline |
Return the name of the density field.
Definition at line 381 of file totalPressureFvPatchScalarField.H.
|
inline |
Return reference to the name of the density field.
to allow adjustment
Definition at line 388 of file totalPressureFvPatchScalarField.H.
|
inline |
Return the name of the compressibility field.
Definition at line 394 of file totalPressureFvPatchScalarField.H.
|
inline |
Return reference to the name of the compressibility field.
to allow adjustment
Definition at line 401 of file totalPressureFvPatchScalarField.H.
|
inline |
Return the heat capacity ratio.
Definition at line 407 of file totalPressureFvPatchScalarField.H.
|
inline |
Return reference to the heat capacity ratio to allow adjustment.
Definition at line 413 of file totalPressureFvPatchScalarField.H.
|
inline |
Return the total pressure.
Definition at line 419 of file totalPressureFvPatchScalarField.H.
|
inline |
Return reference to the total pressure to allow adjustment.
Definition at line 425 of file totalPressureFvPatchScalarField.H.
|
virtual |
Map (and resize as needed) from self given a mapping object.
Definition at line 134 of file totalPressureFvPatchScalarField.C.
|
virtual |
Reverse map the given fvPatchField onto this fvPatchField.
Definition at line 144 of file totalPressureFvPatchScalarField.C.
|
virtual |
Update the coefficients associated with the patch field.
using the given patch total pressure and velocity fields
Definition at line 159 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 236 of file totalPressureFvPatchScalarField.C.
Referenced by fanPressureFvPatchScalarField::updateCoeffs(), and rotatingTotalPressureFvPatchScalarField::updateCoeffs().
|
virtual |
Write.
Reimplemented in rotatingTotalPressureFvPatchScalarField, and fanPressureFvPatchScalarField.
Definition at line 246 of file totalPressureFvPatchScalarField.C.
References os(), ObukhovLength::write(), Ostream::writeEntry(), and Ostream::writeEntryIfDifferent().