totalPressureFvPatchScalarField Class Reference

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

Inheritance diagram for totalPressureFvPatchScalarField:
[legend]
Collaboration diagram for totalPressureFvPatchScalarField:
[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 256 of file totalPressureFvPatchScalarField.H.

Constructor & Destructor Documentation

◆ totalPressureFvPatchScalarField() [1/5]

totalPressureFvPatchScalarField ( const fvPatch &  p,
const DimensionedField< scalar, volMesh > &  iF 
)

Construct from patch and internal field.

Definition at line 39 of file totalPressureFvPatchScalarField.C.

Referenced by totalPressureFvPatchScalarField::clone().

Here is the caller graph for this function:

◆ totalPressureFvPatchScalarField() [2/5]

totalPressureFvPatchScalarField ( const fvPatch &  p,
const DimensionedField< scalar, volMesh > &  iF,
const dictionary &  dict 
)

Construct from patch, internal field and dictionary.

Definition at line 55 of file totalPressureFvPatchScalarField.C.

References dict, and p.

◆ totalPressureFvPatchScalarField() [3/5]

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 84 of file totalPressureFvPatchScalarField.C.

◆ totalPressureFvPatchScalarField() [4/5]

Construct as copy.

Definition at line 102 of file totalPressureFvPatchScalarField.C.

◆ totalPressureFvPatchScalarField() [5/5]

Construct as copy setting internal field reference.

Definition at line 117 of file totalPressureFvPatchScalarField.C.

Member Function Documentation

◆ TypeName()

TypeName ( "totalPressure"  )

Runtime type information.

◆ clone() [1/2]

virtual tmp<fvPatchScalarField> clone ( ) const
inlinevirtual

Construct and return a clone.

Reimplemented in fanPressureFvPatchScalarField, and rotatingTotalPressureFvPatchScalarField.

Definition at line 322 of file totalPressureFvPatchScalarField.H.

References totalPressureFvPatchScalarField::totalPressureFvPatchScalarField().

Here is the call graph for this function:

◆ clone() [2/2]

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 339 of file totalPressureFvPatchScalarField.H.

References totalPressureFvPatchScalarField::totalPressureFvPatchScalarField().

Here is the call graph for this function:

◆ UName() [1/2]

const word& UName ( ) const
inline

Return the name of the velocity field.

Definition at line 355 of file totalPressureFvPatchScalarField.H.

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

Here is the caller graph for this function:

◆ UName() [2/2]

word& UName ( )
inline

Return reference to the name of the velocity field.

to allow adjustment

Definition at line 362 of file totalPressureFvPatchScalarField.H.

◆ phiName() [1/2]

const word& phiName ( ) const
inline

Return the name of the flux field.

Definition at line 368 of file totalPressureFvPatchScalarField.H.

Referenced by fanPressureFvPatchScalarField::updateCoeffs().

Here is the caller graph for this function:

◆ phiName() [2/2]

word& phiName ( )
inline

Return reference to the name of the flux field.

to allow adjustment

Definition at line 375 of file totalPressureFvPatchScalarField.H.

◆ rhoName() [1/2]

const word& rhoName ( ) const
inline

Return the name of the density field.

Definition at line 381 of file totalPressureFvPatchScalarField.H.

Referenced by fanPressureFvPatchScalarField::updateCoeffs().

Here is the caller graph for this function:

◆ rhoName() [2/2]

word& rhoName ( )
inline

Return reference to the name of the density field.

to allow adjustment

Definition at line 388 of file totalPressureFvPatchScalarField.H.

◆ psiName() [1/2]

const word& psiName ( ) const
inline

Return the name of the compressibility field.

Definition at line 394 of file totalPressureFvPatchScalarField.H.

◆ psiName() [2/2]

word& psiName ( )
inline

Return reference to the name of the compressibility field.

to allow adjustment

Definition at line 401 of file totalPressureFvPatchScalarField.H.

◆ gamma() [1/2]

scalar gamma ( ) const
inline

Return the heat capacity ratio.

Definition at line 407 of file totalPressureFvPatchScalarField.H.

◆ gamma() [2/2]

scalar& gamma ( )
inline

Return reference to the heat capacity ratio to allow adjustment.

Definition at line 413 of file totalPressureFvPatchScalarField.H.

◆ p0() [1/2]

const scalarField& p0 ( ) const
inline

Return the total pressure.

Definition at line 419 of file totalPressureFvPatchScalarField.H.

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

Here is the caller graph for this function:

◆ p0() [2/2]

scalarField& p0 ( )
inline

Return reference to the total pressure to allow adjustment.

Definition at line 425 of file totalPressureFvPatchScalarField.H.

◆ autoMap()

void autoMap ( const fvPatchFieldMapper &  m)
virtual

Map (and resize as needed) from self given a mapping object.

Definition at line 135 of file totalPressureFvPatchScalarField.C.

◆ rmap()

void rmap ( const fvPatchScalarField &  ptf,
const labelList &  addr 
)
virtual

Reverse map the given fvPatchField onto this fvPatchField.

Definition at line 145 of file totalPressureFvPatchScalarField.C.

◆ updateCoeffs() [1/2]

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 160 of file totalPressureFvPatchScalarField.C.

References Foam::dimDensity, Foam::dimPressure, Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::magSqr(), Foam::nl, Foam::operator==(), Foam::foamVersion::patch, Foam::pos0(), Foam::pow(), and rho.

Here is the call graph for this function:

◆ updateCoeffs() [2/2]

void updateCoeffs ( )
virtual

Update the coefficients associated with the patch field.

Reimplemented in fanPressureFvPatchScalarField, and rotatingTotalPressureFvPatchScalarField.

Definition at line 236 of file totalPressureFvPatchScalarField.C.

References totalPressureFvPatchScalarField::p0(), Foam::foamVersion::patch, and totalPressureFvPatchScalarField::UName().

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ write()

void write ( Ostream &  os) const
virtual

Write.

Reimplemented in fanPressureFvPatchScalarField, and rotatingTotalPressureFvPatchScalarField.

Definition at line 246 of file totalPressureFvPatchScalarField.C.

References fvPatchField< scalar >::write(), Ostream::writeEntry(), and Ostream::writeEntryIfDifferent().

Referenced by rotatingTotalPressureFvPatchScalarField::write(), and fanPressureFvPatchScalarField::write().

Here is the call graph for this function:
Here is the caller graph for this function:

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