This boundary condition provides a total pressure condition. Four variants are possible: More...
#include <totalPressureFvPatchScalarField.H>


Public Member Functions | |
| TypeName ("totalPressure") | |
| Runtime type information. | |
| totalPressureFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &) | |
| Construct from patch and internal field. | |
| totalPressureFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &, const dictionary &) | |
| Construct from patch, internal field and dictionary. | |
| totalPressureFvPatchScalarField (const totalPressureFvPatchScalarField &, const fvPatch &, const DimensionedField< scalar, volMesh > &, const fvPatchFieldMapper &) | |
| Construct by mapping given totalPressureFvPatchScalarField. | |
| totalPressureFvPatchScalarField (const totalPressureFvPatchScalarField &) | |
| Construct as copy. | |
| totalPressureFvPatchScalarField (const totalPressureFvPatchScalarField &, const DimensionedField< scalar, volMesh > &) | |
| Construct as copy setting internal field reference. | |
| virtual tmp< fvPatchField< scalar > > | clone () const |
| Return a clone. | |
| virtual tmp< fvPatchField< scalar > > | clone (const DimensionedField< scalar, volMesh > &iF) const |
| Clone with an internal field reference. | |
| const word & | UName () const |
| Return the name of the velocity field. | |
| word & | UName () |
| Return reference to the name of the velocity field. | |
| const word & | phiName () const |
| Return the name of the flux field. | |
| word & | phiName () |
| Return reference to the name of the flux field. | |
| const word & | rhoName () const |
| Return the name of the density field. | |
| word & | rhoName () |
| Return reference to the name of the density field. | |
| const word & | psiName () const |
| Return the name of the compressibility field. | |
| word & | psiName () |
| Return reference to the name of the compressibility field. | |
| scalar | gamma () const |
| Return the heat capacity ratio. | |
| scalar & | gamma () |
| Return reference to the heat capacity ratio to allow adjustment. | |
| const scalarField & | p0 () const |
| Return the total pressure. | |
| scalarField & | p0 () |
| Return reference to the total pressure to allow adjustment. | |
| virtual void | autoMap (const fvPatchFieldMapper &) |
| Map (and resize as needed) from self given a mapping object. | |
| virtual void | rmap (const fvPatchScalarField &, const labelList &) |
| Reverse map the given fvPatchField onto this fvPatchField. | |
| virtual void | updateCoeffs (const scalarField &p0p, const vectorField &Up) |
| Update the coefficients associated with the patch field. | |
| virtual void | updateCoeffs () |
| Update the coefficients associated with the patch field. | |
| virtual void | write (Ostream &) const |
| Write. | |
This boundary condition provides a total pressure condition. Four variants are possible:
1. incompressible subsonic:
![\[ p_p = p_0 - 0.5 |U|^2
\]](form_173.png)
where
![]() | = | incompressible pressure at patch [m2/s2] |
![]() | = | incompressible total pressure [m2/s2] |
![]() | = | velocity |
2. compressible subsonic:
![\[ p_p = p_0 - 0.5 \rho |U|^2
\]](form_177.png)
where
![]() | = | pressure at patch [Pa] |
![]() | = | total pressure [Pa] |
![]() | = | density [kg/m3] |
![]() | = | velocity |
3. compressible transonic ( 
![\[ p_p = \frac{p_0}{1 + 0.5 \psi |U|^2}
\]](form_180.png)
where
![]() | = | pressure at patch [Pa] |
![]() | = | total pressure [Pa] |
![]() | = | coefficient given by ![]() |
4. compressible supersonic ( 
![\[ p_p = \frac{p_0}{(1 + 0.5 \psi G |U|^2)^{\frac{1}{G}}}
\]](form_184.png)
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 252 of file totalPressureFvPatchScalarField.H.
| totalPressureFvPatchScalarField | ( | const fvPatch & | p, |
| const DimensionedField< scalar, volMesh > & | iF ) |
Construct from patch and internal field.
Definition at line 31 of file totalPressureFvPatchScalarField.C.
References p, and Foam::Zero.
Referenced by fanPressureFvPatchScalarField::fanPressureFvPatchScalarField(), fanPressureFvPatchScalarField::fanPressureFvPatchScalarField(), fanPressureFvPatchScalarField::fanPressureFvPatchScalarField(), fanPressureFvPatchScalarField::fanPressureFvPatchScalarField(), fanPressureFvPatchScalarField::fanPressureFvPatchScalarField(), rmap(), rotatingTotalPressureFvPatchScalarField::rotatingTotalPressureFvPatchScalarField(), rotatingTotalPressureFvPatchScalarField::rotatingTotalPressureFvPatchScalarField(), rotatingTotalPressureFvPatchScalarField::rotatingTotalPressureFvPatchScalarField(), rotatingTotalPressureFvPatchScalarField::rotatingTotalPressureFvPatchScalarField(), rotatingTotalPressureFvPatchScalarField::rotatingTotalPressureFvPatchScalarField(), totalPressureFvPatchScalarField(), totalPressureFvPatchScalarField(), totalPressureFvPatchScalarField(), and TypeName().

| 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 dict, fvPatchField< Type >::operator=(), and p.

| 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 69 of file totalPressureFvPatchScalarField.C.
References p, and totalPressureFvPatchScalarField().

| totalPressureFvPatchScalarField | ( | const totalPressureFvPatchScalarField & | tppsf | ) |
Construct as copy.
Definition at line 87 of file totalPressureFvPatchScalarField.C.
References totalPressureFvPatchScalarField().

| totalPressureFvPatchScalarField | ( | const totalPressureFvPatchScalarField & | tppsf, |
| const DimensionedField< scalar, volMesh > & | iF ) |
Construct as copy setting internal field reference.
Definition at line 102 of file totalPressureFvPatchScalarField.C.
References totalPressureFvPatchScalarField().

| TypeName | ( | "totalPressure" | ) |
Runtime type information.
References totalPressureFvPatchScalarField().

|
inlinevirtual |
Return a clone.
Reimplemented in fanPressureFvPatchScalarField, and rotatingTotalPressureFvPatchScalarField.
Definition at line 352 of file totalPressureFvPatchScalarField.H.
References fvPatchField< Type >::Clone().

|
inlinevirtual |
Clone with an internal field reference.
Reimplemented in fanPressureFvPatchScalarField, and rotatingTotalPressureFvPatchScalarField.
Definition at line 360 of file totalPressureFvPatchScalarField.H.
References fvPatchField< Type >::Clone().

|
inline |
Return the name of the velocity field.
Definition at line 376 of file totalPressureFvPatchScalarField.H.
|
inline |
Return reference to the name of the velocity field.
to allow adjustment
Definition at line 386 of file totalPressureFvPatchScalarField.H.
|
inline |
Return the name of the flux field.
Definition at line 394 of file totalPressureFvPatchScalarField.H.
Referenced by fanPressureFvPatchScalarField::updateCoeffs().

|
inline |
Return reference to the name of the flux field.
to allow adjustment
Definition at line 404 of file totalPressureFvPatchScalarField.H.
|
inline |
Return the name of the density field.
Definition at line 412 of file totalPressureFvPatchScalarField.H.
Referenced by fanPressureFvPatchScalarField::updateCoeffs().

|
inline |
Return reference to the name of the density field.
to allow adjustment
Definition at line 422 of file totalPressureFvPatchScalarField.H.
|
inline |
Return the name of the compressibility field.
Definition at line 430 of file totalPressureFvPatchScalarField.H.
|
inline |
Return reference to the name of the compressibility field.
to allow adjustment
Definition at line 440 of file totalPressureFvPatchScalarField.H.
|
inline |
Return the heat capacity ratio.
Definition at line 448 of file totalPressureFvPatchScalarField.H.
|
inline |
Return reference to the heat capacity ratio to allow adjustment.
Definition at line 456 of file totalPressureFvPatchScalarField.H.
|
inline |
Return the total pressure.
Definition at line 464 of file totalPressureFvPatchScalarField.H.
|
inline |
Return reference to the total pressure to allow adjustment.
Definition at line 472 of file totalPressureFvPatchScalarField.H.
|
virtual |
Map (and resize as needed) from self given a mapping object.
Definition at line 120 of file totalPressureFvPatchScalarField.C.
|
virtual |
Reverse map the given fvPatchField onto this fvPatchField.
Definition at line 130 of file totalPressureFvPatchScalarField.C.
References Foam::refCast(), and totalPressureFvPatchScalarField().

|
virtual |
Update the coefficients associated with the patch field.
using the given patch total pressure and velocity fields
Definition at line 145 of file totalPressureFvPatchScalarField.C.
References Foam::dimDensity, Foam::dimPressure, Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::magSqr(), Foam::neg(), Foam::nl, Foam::operator==(), Foam::pow(), and rho.
Referenced by updateCoeffs().


|
virtual |
Update the coefficients associated with the patch field.
Reimplemented in fanPressureFvPatchScalarField, and rotatingTotalPressureFvPatchScalarField.
Definition at line 221 of file totalPressureFvPatchScalarField.C.
References p0, UName(), and updateCoeffs().
Referenced by fanPressureFvPatchScalarField::updateCoeffs(), and rotatingTotalPressureFvPatchScalarField::updateCoeffs().


|
virtual |
Write.
Reimplemented in fanPressureFvPatchScalarField, and rotatingTotalPressureFvPatchScalarField.
Definition at line 231 of file totalPressureFvPatchScalarField.C.
References os(), fvPatchField< Type >::write(), and fvPatchField< Type >::writeValueEntry().
Referenced by fanPressureFvPatchScalarField::write(), and rotatingTotalPressureFvPatchScalarField::write().

