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 &) | |
Copy constructor. More... | |
virtual tmp< fvPatchScalarField > | clone () const |
Construct and return a clone. More... | |
totalPressureFvPatchScalarField (const totalPressureFvPatchScalarField &, const DimensionedField< scalar, volMesh > &) | |
Copy constructor 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... | |
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... | |
![]() | |
TypeName ("dynamicPressure") | |
Runtime type information. More... | |
dynamicPressureFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &) | |
Construct from patch and internal field. More... | |
dynamicPressureFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &, const dictionary &) | |
Construct from patch, internal field and dictionary. More... | |
dynamicPressureFvPatchScalarField (const dynamicPressureFvPatchScalarField &, const fvPatch &, const DimensionedField< scalar, volMesh > &, const fvPatchFieldMapper &) | |
Construct by mapping given dynamicPressureFvPatchScalarField. More... | |
dynamicPressureFvPatchScalarField (const dynamicPressureFvPatchScalarField &) | |
Copy constructor. More... | |
dynamicPressureFvPatchScalarField (const dynamicPressureFvPatchScalarField &, const DimensionedField< scalar, volMesh > &) | |
Copy constructor setting internal field reference. 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... | |
void | updateCoeffs (const scalarField &p0p, const scalarField &Kp) |
Update the coefficients associated with the patch field. More... | |
Protected Attributes | |
const word | UName_ |
Name of the velocity field. More... | |
const word | phiName_ |
Name of the flux field. More... | |
![]() | |
const word | rhoName_ |
Name of the density field used to normalise the mass flux. More... | |
const word | psiName_ |
Name of the compressibility field used to calculate the wave speed. More... | |
const scalar | gamma_ |
Heat capacity ratio. More... | |
scalarField | p0_ |
Reference pressure. More... | |
This boundary condition provides a total pressure condition. Four variants are possible:
where
![]() | = | incompressible pressure at patch [m^2/s^2] |
![]() | = | incompressible total pressure [m^2/s^2] |
![]() | = | velocity [m/s] |
2. compressible subsonic:
where
![]() | = | pressure at patch [Pa] |
![]() | = | total pressure [Pa] |
![]() | = | density [kg/m^3] |
![]() | = | velocity [m/s] |
3. compressible transonic ( ):
where
![]() | = | pressure at patch [Pa] |
![]() | = | total pressure [Pa] |
![]() | = | compressibility [m^2/s^2] |
![]() | = | velocity [m/s] |
4. compressible supersonic ( ):
where
![]() | = | pressure at patch [Pa] |
![]() | = | total pressure [Pa] |
![]() | = | compressibility [m^2/s^2] |
![]() | = | coefficient given by ![]() |
![]() | = | ratio of specific heats (Cp/Cv) [] |
![]() | = | velocity [m/s] |
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 261 of file totalPressureFvPatchScalarField.H.
totalPressureFvPatchScalarField | ( | const fvPatch & | p, |
const DimensionedField< scalar, volMesh > & | iF | ||
) |
Construct from patch and internal field.
Definition at line 35 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 47 of file totalPressureFvPatchScalarField.C.
References 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 60 of file totalPressureFvPatchScalarField.C.
References totalPressureFvPatchScalarField::totalPressureFvPatchScalarField().
totalPressureFvPatchScalarField | ( | const totalPressureFvPatchScalarField & | tppsf | ) |
Copy constructor.
Definition at line 74 of file totalPressureFvPatchScalarField.C.
References totalPressureFvPatchScalarField::totalPressureFvPatchScalarField().
totalPressureFvPatchScalarField | ( | const totalPressureFvPatchScalarField & | tppsf, |
const DimensionedField< scalar, volMesh > & | iF | ||
) |
Copy constructor setting internal field reference.
Definition at line 85 of file totalPressureFvPatchScalarField.C.
References totalPressureFvPatchScalarField::updateCoeffs().
TypeName | ( | "totalPressure" | ) |
Runtime type information.
|
inlinevirtual |
Construct and return a clone.
Reimplemented in fanPressureFvPatchScalarField, and rotatingTotalPressureFvPatchScalarField.
Definition at line 316 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 333 of file totalPressureFvPatchScalarField.H.
References totalPressureFvPatchScalarField::totalPressureFvPatchScalarField(), totalPressureFvPatchScalarField::updateCoeffs(), and totalPressureFvPatchScalarField::write().
void updateCoeffs | ( | const scalarField & | p0p, |
const vectorField & | Up | ||
) |
Update the coefficients associated with the patch field.
using the given patch total pressure and velocity fields
Definition at line 99 of file totalPressureFvPatchScalarField.C.
References Foam::magSqr(), and Foam::pos0().
|
virtual |
Update the coefficients associated with the patch field.
Reimplemented in fanPressureFvPatchScalarField, and rotatingTotalPressureFvPatchScalarField.
Definition at line 115 of file totalPressureFvPatchScalarField.C.
References dynamicPressureFvPatchScalarField::p0_, and totalPressureFvPatchScalarField::UName_.
Referenced by totalPressureFvPatchScalarField::clone(), totalPressureFvPatchScalarField::totalPressureFvPatchScalarField(), rotatingTotalPressureFvPatchScalarField::updateCoeffs(), and fanPressureFvPatchScalarField::updateCoeffs().
|
virtual |
Write.
Reimplemented from dynamicPressureFvPatchScalarField.
Reimplemented in fanPressureFvPatchScalarField, and rotatingTotalPressureFvPatchScalarField.
Definition at line 124 of file totalPressureFvPatchScalarField.C.
References Foam::makePatchTypeField(), totalPressureFvPatchScalarField::phiName_, totalPressureFvPatchScalarField::UName_, and dynamicPressureFvPatchScalarField::write().
Referenced by totalPressureFvPatchScalarField::clone(), rotatingTotalPressureFvPatchScalarField::write(), and fanPressureFvPatchScalarField::write().
|
protected |
Name of the velocity field.
Definition at line 270 of file totalPressureFvPatchScalarField.H.
Referenced by rotatingTotalPressureFvPatchScalarField::updateCoeffs(), totalPressureFvPatchScalarField::updateCoeffs(), and totalPressureFvPatchScalarField::write().
|
protected |
Name of the flux field.
Definition at line 273 of file totalPressureFvPatchScalarField.H.
Referenced by totalPressureFvPatchScalarField::write().