Provides several methods to convert an input pressure field into derived forms, including: More...
Public Types | |
enum | mode : unsigned { STATIC = (1 << 0), TOTAL = (1 << 1), ISENTROPIC = (1 << 2), COEFF = (1 << 3), STATIC_COEFF = (STATIC | COEFF), TOTAL_COEFF = (TOTAL | COEFF) } |
Enumeration for pressure calculation mode. More... | |
enum | hydrostaticMode : unsigned { NONE = 0, ADD, SUBTRACT } |
Enumeration for hydrostatic contributions. More... | |
Public Member Functions | |
TypeName ("pressure") | |
Runtime type information. More... | |
pressure (const word &name, const Time &runTime, const dictionary &) | |
Construct from Time and dictionary. More... | |
pressure (const pressure &)=delete | |
No copy construct. More... | |
void | operator= (const pressure &)=delete |
No copy assignment. More... | |
virtual | ~pressure ()=default |
Destructor. More... | |
virtual bool | read (const dictionary &) |
Read the pressure data. More... | |
![]() | |
TypeName ("fieldExpression") | |
Runtime type information. More... | |
fieldExpression (const word &name, const Time &runTime, const dictionary &dict, const word &fieldName=word::null, const word &resultName=word::null) | |
Construct from Time and dictionary. More... | |
fieldExpression (const fieldExpression &)=delete | |
No copy construct. More... | |
void | operator= (const fieldExpression &)=delete |
No copy assignment. More... | |
virtual | ~fieldExpression ()=default |
Destructor. More... | |
virtual bool | execute () |
Calculate the result field. More... | |
virtual bool | write () |
Write the result field. More... | |
virtual bool | clear () |
Clear the result field from the objectRegistry. More... | |
![]() | |
TypeName ("fvMeshFunctionObject") | |
Runtime type information. More... | |
fvMeshFunctionObject (const word &name, const Time &runTime, const dictionary &dict) | |
Construct from Time and dictionary. More... | |
fvMeshFunctionObject (const word &name, const objectRegistry &obr, const dictionary &dict) | |
Construct from the region objectRegistry and dictionary. More... | |
virtual | ~fvMeshFunctionObject ()=default |
Destructor. More... | |
![]() | |
TypeName ("regionFunctionObject") | |
Runtime type information. More... | |
regionFunctionObject (const word &name, const Time &runTime, const dictionary &dict) | |
Construct from Time and dictionary. More... | |
regionFunctionObject (const word &name, const objectRegistry &obr, const dictionary &dict) | |
Construct from the region objectRegistry and dictionary. More... | |
virtual | ~regionFunctionObject ()=default |
Destructor. More... | |
template<class ObjectType > | |
const ObjectType * | lookupObjectPtr (const word &fieldName) const |
Deprecated(2018-10) More... | |
template<class ObjectType > | |
ObjectType * | lookupObjectRefPtr (const word &fieldName) const |
Deprecated(2018-10) More... | |
![]() | |
stateFunctionObject (const word &name, const Time &runTime) | |
Construct from components. More... | |
virtual | ~stateFunctionObject ()=default |
Destructor. More... | |
dictionary & | propertyDict () |
Return access to the property dictionary. More... | |
bool | foundProperty (const word &entryName) const |
Return true if the property exists. More... | |
void | clearTrigger () |
Remove the trigger index from the properties. More... | |
label | getTrigger () const |
Get the current trigger index. More... | |
bool | setTrigger (const label triggeri, bool increaseOnly=true) |
Set the trigger index. Normally only if greater than current. More... | |
bool | getDict (const word &entryName, dictionary &dict) const |
Set dictionary, return true if set. More... | |
bool | getObjectDict (const word &objectName, const word &entryName, dictionary &dict) const |
Set dictionary from named object, return true if set. More... | |
template<class Type > | |
Type | getProperty (const word &entryName, const Type &defaultValue=Type(Zero)) const |
Retrieve generic property. More... | |
template<class Type > | |
bool | getProperty (const word &entryName, Type &value) const |
Set generic property, return true if set. More... | |
template<class Type > | |
void | setProperty (const word &entryName, const Type &value) |
Add generic property. More... | |
template<class Type > | |
Type | getObjectProperty (const word &objectName, const word &entryName, const Type &defaultValue=Type(Zero)) const |
Retrieve generic property from named object. More... | |
template<class Type > | |
bool | getObjectProperty (const word &objectName, const word &entryName, Type &value) const |
Set generic property from named object, return true if set. More... | |
template<class Type > | |
void | setObjectProperty (const word &objectName, const word &entryName, const Type &value) |
Add generic property from named object. More... | |
template<class Type > | |
void | setResult (const word &entryName, const Type &value) |
Add result. More... | |
template<class Type > | |
void | setObjectResult (const word &objectName, const word &entryName, const Type &value) |
Add result from named object. More... | |
template<class Type > | |
Type | getResult (const word &entryName, const Type &defaultValue=Type(Zero)) const |
Retrieve result. More... | |
template<class Type > | |
Type | getObjectResult (const word &objectName, const word &entryName, const Type &defaultValue=Type(Zero)) const |
Retrieve result from named object. More... | |
template<class Type > | |
bool | getObjectResult (const word &objectName, const word &entryName, Type &value) const |
Set result from named object, return true if set. More... | |
word | resultType (const word &entryName) const |
Retrieve the result type. More... | |
word | objectResultType (const word &objectName, const word &entryName) const |
Return the type of result. More... | |
wordList | objectResultEntries () const |
Retrieve the result entries. More... | |
wordList | objectResultEntries (const word &objectName) const |
Return result entries for named object. More... | |
void | writeResultEntries (Ostream &os) const |
Write the results entries for all objects to stream. More... | |
void | writeResultEntries (const word &objectName, Ostream &os) const |
Write the results entries for named object to stream. More... | |
void | writeAllResultEntries (Ostream &os) const |
Write the results entries for all objects to stream. More... | |
![]() | |
timeFunctionObject (const word &name, const Time &runTime) | |
Construct from Time. More... | |
virtual | ~timeFunctionObject ()=default |
Destructor. More... | |
const Time & | time () const |
Return time database. More... | |
objectRegistry & | storedObjects () |
const objectRegistry & | storedObjects () const |
![]() | |
declareRunTimeSelectionTable (autoPtr, functionObject, dictionary,(const word &name, const Time &runTime, const dictionary &dict),(name, runTime, dict)) | |
functionObject (const word &name, const bool withNamePrefix=defaultUseNamePrefix) | |
Construct from components. More... | |
autoPtr< functionObject > | clone () const |
Return clone. More... | |
virtual | ~functionObject ()=default |
Destructor. More... | |
virtual const word & | type () const =0 |
Runtime type information. More... | |
const word & | name () const noexcept |
Return the name of this functionObject. More... | |
bool | useNamePrefix () const noexcept |
Return the flag for adding a scoping name prefix. More... | |
bool | useNamePrefix (bool on) noexcept |
Modify the flag for adding a scoping name prefix. More... | |
virtual bool | execute (const label subIndex) |
Execute using the specified subIndex. More... | |
virtual bool | end () |
Called when Time::run() determines that the time-loop exits. More... | |
virtual bool | adjustTimeStep () |
Called at the end of Time::adjustDeltaT() if adjustTime is true. More... | |
virtual bool | filesModified () const |
Did any file get changed during execution? More... | |
virtual void | updateMesh (const mapPolyMesh &mpm) |
Update for changes of mesh. More... | |
virtual void | movePoints (const polyMesh &mesh) |
Update for changes of mesh. More... | |
Static Public Attributes | |
static const Enum< mode > | modeNames |
static const Enum< hydrostaticMode > | hydrostaticModeNames |
![]() | |
static int | debug |
Flag to execute debug content. More... | |
static bool | postProcess |
Global post-processing mode switch. More... | |
static bool | defaultUseNamePrefix |
Global default for useNamePrefix. More... | |
static word | outputPrefix |
Directory prefix. More... | |
Additional Inherited Members | |
![]() | |
static autoPtr< functionObject > | New (const word &name, const Time &runTime, const dictionary &dict) |
Select from dictionary, based on its "type" entry. More... | |
![]() | |
bool | log |
Flag to write log into Info. More... | |
![]() | |
void | setResultName (const word &typeName, const word &defaultArg) |
Set the name of result field. More... | |
template<class Type > | |
bool | foundObject (const word &name, const bool verbose=true) const |
Return true if required objects are found. More... | |
![]() | |
fvMeshFunctionObject (const fvMeshFunctionObject &)=delete | |
No copy construct. More... | |
void | operator= (const fvMeshFunctionObject &)=delete |
No copy assignment. More... | |
![]() | |
virtual const objectRegistry & | obr () const |
The region or sub-region registry being used. More... | |
template<class ObjectType > | |
bool | foundObject (const word &fieldName) const |
Find object (eg, a field) in the (sub) objectRegistry. More... | |
template<class ObjectType > | |
const ObjectType * | cfindObject (const word &fieldName) const |
template<class ObjectType > | |
const ObjectType * | findObject (const word &fieldName) const |
template<class ObjectType > | |
ObjectType * | findObject (const word &fieldName) |
template<class ObjectType > | |
ObjectType * | getObjectPtr (const word &fieldName) const |
template<class ObjectType > | |
const ObjectType & | lookupObject (const word &fieldName) const |
Lookup and return object (eg, a field) from the (sub) objectRegistry. More... | |
template<class ObjectType > | |
ObjectType & | lookupObjectRef (const word &fieldName) const |
Lookup and return object (eg, a field) from the (sub) objectRegistry. More... | |
template<class ObjectType > | |
bool | store (word &fieldName, const tmp< ObjectType > &tfield, bool cacheable=false) |
Store the field in the (sub) objectRegistry under the given name. More... | |
template<class ObjectType > | |
bool | storeInDb (const word &fieldName, const tmp< ObjectType > &tfield, const objectRegistry &obr) |
Store the field in an optional objectRegistry under the given name. More... | |
bool | writeObject (const word &fieldName) |
Write field if present in the (sub) objectRegistry. More... | |
bool | clearObject (const word &fieldName) |
Clear field from the (sub) objectRegistry if present. More... | |
void | clearObjects (const wordList &objNames) |
Clear fields from the (sub) objectRegistry if present. More... | |
regionFunctionObject (const regionFunctionObject &)=delete | |
No copy construct. More... | |
void | operator= (const regionFunctionObject &)=delete |
No copy assignment. More... | |
![]() | |
const functionObjects::properties & | stateDict () const |
Return a const reference to the state dictionary. More... | |
functionObjects::properties & | stateDict () |
Return non-const access to the state dictionary. More... | |
stateFunctionObject (const stateFunctionObject &)=delete | |
No copy construct. More... | |
void | operator= (const stateFunctionObject &)=delete |
No copy assignment. More... | |
![]() | |
void | clearOutputObjects (const wordList &objNames) |
Remove specified items from "functionObjectObjects". More... | |
timeFunctionObject (const timeFunctionObject &)=delete | |
No copy construct. More... | |
void | operator= (const timeFunctionObject &)=delete |
No copy assignment. More... | |
![]() | |
word | scopedName (const word &name) const |
Return a scoped (prefixed) name. More... | |
![]() | |
word | fieldName_ |
Name of field to process. More... | |
word | resultName_ |
Name of result field. More... | |
autoPtr< Detail::zoneSubSet > | zoneSubSetPtr_ |
Sub-set mesh. More... | |
![]() | |
const fvMesh & | mesh_ |
Reference to the fvMesh. More... | |
![]() | |
word | subRegistryName_ |
Name for alternative object registry. More... | |
const objectRegistry & | obr_ |
Reference to the region objectRegistry. More... | |
const objectRegistry * | obrPtr_ |
Pointer to alternative (eg, sub-region) objectRegistry. More... | |
![]() | |
const Time & | time_ |
Reference to the time database. More... | |
Provides several methods to convert an input pressure field into derived forms, including:
\[ p_s = p_{ref} + \rho p_k \]
\[ p_0 = p_{ref} + p + 0.5 \rho |\vec U|^2 \]
\[ p_i = p*(1 + ((\gamma-1)*M^2)/2)^{(\gamma/(\gamma - 1))} \]
\[ Cp = \frac{p_s - p_{\inf}}{0.5 \rho_{\inf} |\vec U_{\inf}|^2} \]
\[ Cp_0 = \frac{p_0 - p_{\inf}}{0.5 \rho_{\inf} |\vec U_{\inf}|^2} \]
where
\( \rho \) | = | Density [kg/m3] |
\( \vec U \) | = | Velocity [m/s] |
\( \rho_{\inf} \) | = | Freestream density [kg/m3] |
\( p_{\inf} \) | = | Freestream pressure [Pa] |
\( U_{\inf} \) | = | Freestream velocity [m/s] |
\( p_k \) | = | Kinematic pressure (p/rho)[m2/s2] |
\( p_s \) | = | Static pressure [Pa] |
\( p_0 \) | = | Total pressure [Pa] |
\( p_{ref} \) | = | Reference pressure level [Pa] |
\( p_i \) | = | Total isentropic pressure |
\( Cp \) | = | Pressure coefficient |
\( Cp_0 \) | = | Total pressure coefficient |
\( \gamma \) | = | Specific heat ratio |
The function object will operate on both kinematic ( \( p_k \)) and static pressure ( \( p \)) fields.
Operands:
Operand | Type | Location |
---|---|---|
input | volScalarField | $FOAM_CASE/<time>/<inpField> |
output file | - | - |
output field | volScalarField | $FOAM_CASE/<time>/<outField> |
system/controlDict.functions
: pressure1 { // Mandatory entries (unmodifiable) type pressure; libs (fieldFunctionObjects); // Mandatory entries (runtime modifiable) mode \<option\>; // Optional entries (runtime modifiable) field \<pName\>; U \<UName\>; rho <rhoName>; rhoInf 1.0; // enabled if rho=rhoInf pRef 0.0; hydroStaticMode none; g (0 -9.81 0); // enabled if hydroStaticMode != none hRef 0.0; // enabled if hydroStaticMode != none pInf 0.0; UInf (1 0 0); // Optional (inherited) entries ... }
where the entries mean:
Property | Description | Type | Req'd | Dflt |
---|---|---|---|---|
type | Type name: pressure | word | yes | - |
libs | Library name: fieldFunctionObjects | word | yes | - |
mode | Calculation mode (see below) | word | yes | - |
field | Name of the pressure field | word | no | p |
U | Name of the velocity field | word | no | U |
rho | Name of the density field | word | no | rho |
rhoInf | Freestream density for coefficient calculation | scalar | conditional | - |
pRef | Reference pressure for total pressure | scalar | no | 0 |
hydrostaticMode | Hydrostatic contributions (see below) | word | no | none |
g | Gravity vector (see below) | vector | no | - |
hRef | Reference height (see below) | scalar | no | - |
pInf | Freestream pressure for coefficient calculation | scalar | no | - |
UInf | Freestream velocity for coefficient calculation | vector | no | - |
Options for the mode
entry:
static | static pressure total | total pressure isentropic | isentropic pressure staticCoeff | static pressure coefficient totalCoeff | total pressure coefficient
The optional hydrostaticMode
entry provides handling for the term \( \rho (\vec{g} \dot \vec{h})\) where options include
none | not included add | add the term, e.g. to convert from p_rgh to p subtract | subtract the term, e.g. to convert from p to p_rgh
If the hydrostaticMode
is active, values are also required for gravity, g
, and reference height, hRef
. By default these will be retrieved from the database. When these values are not available the user must provide them, e.g.
g (0 -9.81 0); hRef 0;
The inherited entries are elaborated in:
Usage by the postProcess
utility is not available.
Definition at line 349 of file pressure.H.
enum mode : unsigned |
Enumeration for pressure calculation mode.
Enumerator | |
---|---|
STATIC | Static pressure. |
TOTAL | Total pressure. |
ISENTROPIC | Isentropic pressure. |
COEFF | Coefficient manipulator. |
STATIC_COEFF | |
TOTAL_COEFF |
Definition at line 358 of file pressure.H.
enum hydrostaticMode : unsigned |
Enumeration for hydrostatic contributions.
Enumerator | |
---|---|
NONE | |
ADD | |
SUBTRACT |
Definition at line 371 of file pressure.H.
pressure | ( | const word & | name, |
const Time & | runTime, | ||
const dictionary & | dict | ||
) |
Construct from Time and dictionary.
Definition at line 350 of file pressure.C.
References dict, and Foam::read().
|
virtualdefault |
Destructor.
TypeName | ( | "pressure" | ) |
Runtime type information.
|
delete |
No copy assignment.
|
virtual |
Read the pressure data.
Reimplemented from fieldExpression.
Definition at line 377 of file pressure.C.
References dict, Foam::endl(), Foam::Info, Foam::mag(), Foam::magSqr(), Foam::name(), Foam::nl, fieldExpression::read(), Foam::type(), and WarningInFunction.
|
static |
Definition at line 368 of file pressure.H.
|
static |
Definition at line 378 of file pressure.H.