Public Member Functions | List of all members

This boundary condition provides a total pressure condition. Four variants are possible: More...

Inheritance diagram for totalPressureFvPatchScalarField:
Inheritance graph
[legend]
Collaboration diagram for totalPressureFvPatchScalarField:
Collaboration graph
[legend]

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...
 

Detailed Description

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
Usage
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;
    }
See also
Foam::fixedValueFvPatchField
Source files

Definition at line 254 of file totalPressureFvPatchScalarField.H.

Constructor & Destructor Documentation

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().

Here is the caller graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

Construct as copy.

Definition at line 99 of file totalPressureFvPatchScalarField.C.

References totalPressureFvPatchScalarField::totalPressureFvPatchScalarField().

Here is the call graph for this function:

Construct as copy setting internal field reference.

Definition at line 114 of file totalPressureFvPatchScalarField.C.

References totalPressureFvPatchScalarField::autoMap().

Here is the call graph for this function:

Member Function Documentation

TypeName ( "totalPressure"  )

Runtime type information.

virtual tmp<fvPatchScalarField> clone ( ) const
inlinevirtual

Construct and return a clone.

Reimplemented in fanPressureFvPatchScalarField, and rotatingTotalPressureFvPatchScalarField.

Definition at line 320 of file totalPressureFvPatchScalarField.H.

References totalPressureFvPatchScalarField::totalPressureFvPatchScalarField().

Here is the call graph for this function:

virtual tmp<fvPatchScalarField> clone ( const DimensionedField< scalar, volMesh > &  iF) const
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().

Here is the call graph for this function:

const word& UName ( ) const
inline

Return the name of the velocity field.

Definition at line 353 of file totalPressureFvPatchScalarField.H.

Referenced by rotatingTotalPressureFvPatchScalarField::updateCoeffs(), and totalPressureFvPatchScalarField::updateCoeffs().

Here is the caller graph for this function:

word& UName ( )
inline

Return reference to the name of the velocity field.

to allow adjustment

Definition at line 360 of file totalPressureFvPatchScalarField.H.

const word& phiName ( ) const
inline

Return the name of the flux field.

Definition at line 366 of file totalPressureFvPatchScalarField.H.

word& phiName ( )
inline

Return reference to the name of the flux field.

to allow adjustment

Definition at line 373 of file totalPressureFvPatchScalarField.H.

const word& rhoName ( ) const
inline

Return the name of the density field.

Definition at line 379 of file totalPressureFvPatchScalarField.H.

word& rhoName ( )
inline

Return reference to the name of the density field.

to allow adjustment

Definition at line 386 of file totalPressureFvPatchScalarField.H.

const word& psiName ( ) const
inline

Return the name of the compressibility field.

Definition at line 392 of file totalPressureFvPatchScalarField.H.

word& psiName ( )
inline

Return reference to the name of the compressibility field.

to allow adjustment

Definition at line 399 of file totalPressureFvPatchScalarField.H.

scalar gamma ( ) const
inline

Return the heat capacity ratio.

Definition at line 405 of file totalPressureFvPatchScalarField.H.

scalar& gamma ( )
inline

Return reference to the heat capacity ratio to allow adjustment.

Definition at line 411 of file totalPressureFvPatchScalarField.H.

const scalarField& p0 ( ) const
inline

Return the total pressure.

Definition at line 417 of file totalPressureFvPatchScalarField.H.

Referenced by rotatingTotalPressureFvPatchScalarField::updateCoeffs(), and totalPressureFvPatchScalarField::updateCoeffs().

Here is the caller graph for this function:

scalarField& p0 ( )
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().

Here is the call graph for this function:

void autoMap ( const fvPatchFieldMapper &  m)
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().

Here is the call graph for this function:

Here is the caller graph for this function:

void rmap ( const fvPatchScalarField &  ptf,
const labelList &  addr 
)
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().

Here is the call graph for this function:

Here is the caller graph for this function:

void updateCoeffs ( const scalarField &  p0p,
const vectorField &  Up 
)
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::pos(), Foam::pow(), and rho.

Here is the call graph for this function:

void updateCoeffs ( )
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().

Here is the call graph for this function:

Here is the caller graph for this function:

void write ( Ostream &  os) const
virtual

The documentation for this class was generated from the following files: