Foam::expressions Namespace Reference

Namespaces

 exprDriverOps
 Miscellaneous operations used in combination with the expressions::exprDriver.
 
 exprString
 A variant of Foam::string with expansion of dictionary variables into a comma-separated form.
 
 fieldExpr
 Namespace for primitive field expressions parsing and evaluation.
 
 patchExpr
 Namespace for patch expressions parsing and evaluation.
 
 volumeExpr
 Namespace for volume field expressions parsing and evaluation.
 

Classes

struct  boolAndOp
 Logical 'and', possibly with scalars as (false, true) values. More...
 
struct  boolNotOp
 Inverse of boolOp() More...
 
struct  boolNotOp< bool >
 Inverse of boolOp, no conversion required for bool. More...
 
struct  boolOp
 Convert [0-1] values (usually scalars) as false/true. More...
 
struct  boolOp< bool >
 Convert to bool, pass-through for bool. More...
 
struct  boolOrOp
 Logical 'or', possibly with scalars as (false, true) values. More...
 
struct  boolXorOp
 Logical 'xor', possibly with scalars as (false, true) values. More...
 
class  exprDriver
 Base driver for parsing (field) values. More...
 
class  exprResult
 A polymorphic field/result from evaluating an expression. More...
 
class  exprResultDelayed
 An exprResult with an additional delay before evaluation. More...
 
class  exprResultGlobals
 A globally available registry of expression results. These are currently registered on Time (may change in the future). More...
 
class  exprResultStack
 A stack of polymorphic fields. Can be used to build a list of results one at a time. More...
 
class  exprResultStored
 An exprResult with persistence. More...
 
class  exprResultStoredStack
 An exprResultStack with persistence. More...
 
class  exprString
 
class  fvExprDriver
 Base driver for parsing value expressions associated with an fvMesh. More...
 
class  fvExprDriverWriter
 Registered input/output for an expressions::fvExprDriver. More...
 
class  patchExprFieldBase
 Base class for managing patches with expressions. The expected input supports value, gradient and mixed conditions. More...
 
class  scanToken
 A low-level input/scan token content. No defined constructors/destructors. All memory management is manual! More...
 

Typedefs

typedef patchExpr::parseDriver patchExprDriver
 Typedef for patchExpr parseDriver. More...
 
typedef volumeExpr::parseDriver volumeExprDriver
 Typedef for volumeExpr parseDriver. More...
 
typedef fieldExpr::parseDriver fieldExprDriver
 Typedef for fieldExpr parseDriver. More...
 

Enumerations

enum  FieldAssociation : unsigned char { NO_DATA = 0, POINT_DATA = 1, FACE_DATA = 2, VOLUME_DATA = 4 }
 
enum  valueTypeCode : unsigned char {
  NONE = 0, INVALID, type_bool, type_label,
  type_scalar, type_vector, type_sphericalTensor, type_symmTensor,
  type_tensor
}
 An enumeration of known and expected expression value types. More...
 

Functions

 defineTypeNameAndDebug (fvExprDriver, 0)
 
 defineRunTimeSelectionTable (fvExprDriver, dictionary)
 
 defineRunTimeSelectionTable (fvExprDriver, idName)
 
 defineTypeName (fvExprDriverWriter)
 
 defineDebugSwitchWithName (patchExpr, "patchExpr", 0)
 
 registerDebugSwitchWithName (patchExpr, patchExpr, "patchExpr")
 
 defineDebugSwitchWithName (volumeExpr, "volumeExpr", 0)
 
 registerDebugSwitchWithName (volumeExpr, volumeExpr, "volumeExpr")
 
 defineTypeNameAndDebug (exprDriver, 0)
 
 defineTypeNameAndDebug (exprResult, 0)
 
 defineRunTimeSelectionTable (exprResult, dictionary)
 
 defineRunTimeSelectionTable (exprResult, empty)
 
 addToRunTimeSelectionTable (exprResult, exprResult, dictionary)
 
 addToRunTimeSelectionTable (exprResult, exprResult, empty)
 
 defineTypeName (exprResultDelayed)
 
 addToRunTimeSelectionTable (exprResult, exprResultDelayed, dictionary)
 
 addToRunTimeSelectionTable (exprResult, exprResultDelayed, empty)
 
 defineTypeName (exprResultGlobals)
 
 defineTypeNameAndDebug (exprResultStack, 0)
 
 addToRunTimeSelectionTable (exprResult, exprResultStack, dictionary)
 
 addToRunTimeSelectionTable (exprResult, exprResultStack, empty)
 
 defineTypeName (exprResultStored)
 
 addToRunTimeSelectionTable (exprResult, exprResultStored, dictionary)
 
 addToRunTimeSelectionTable (exprResult, exprResultStored, empty)
 
 defineTypeName (exprResultStoredStack)
 
 addToRunTimeSelectionTable (exprResult, exprResultStoredStack, dictionary)
 
 addToRunTimeSelectionTable (exprResult, exprResultStoredStack, empty)
 
 defineDebugSwitchWithName (fieldExpr, "fieldExpr", 0)
 
 registerDebugSwitchWithName (fieldExpr, fieldExpr, "fieldExpr")
 
valueTypeCode valueTypeCodeOf (const word &dataTypeName)
 From string to valueTypeCode (if any) More...
 

Typedef Documentation

◆ patchExprDriver

Typedef for patchExpr parseDriver.

Definition at line 61 of file patchExprFwd.H.

◆ volumeExprDriver

Typedef for volumeExpr parseDriver.

Definition at line 61 of file volumeExprFwd.H.

◆ fieldExprDriver

Typedef for fieldExpr parseDriver.

Definition at line 61 of file fieldExprFwd.H.

Enumeration Type Documentation

◆ FieldAssociation

enum FieldAssociation : unsigned char
Enumerator
NO_DATA 

No data.

POINT_DATA 

Point data.

FACE_DATA 

Face data.

VOLUME_DATA 

Volume data.

Definition at line 43 of file exprFieldAssociation.H.

◆ valueTypeCode

enum valueTypeCode : unsigned char
strong

An enumeration of known and expected expression value types.

Do not rely on the enumeration values for any direct coding.

Note
NONE use used when initializing types, whereas INVALID is used for unsupported types (never as a stored type). This avoids false positives when testing.

Except NONE and INVALID, the enumerations will mostly not be used directly, but through exprTypeTraits :: value

Enumerator
NONE 

No type, or default initialized type.

INVALID 

Invalid/unknown/error type.

type_bool 

Type is 'bool'.

type_label 

Type is 'label'.

type_scalar 

Type is 'scalar'.

type_vector 

Type is 'vector'.

type_sphericalTensor 

Type is 'sphericalTensor'.

type_symmTensor 

Type is 'symmTensor'.

type_tensor 

Type is 'tensor'.

Definition at line 65 of file exprTraits.H.

Function Documentation

◆ defineTypeNameAndDebug() [1/4]

Foam::expressions::defineTypeNameAndDebug ( fvExprDriver  ,
 
)

◆ defineRunTimeSelectionTable() [1/4]

Foam::expressions::defineRunTimeSelectionTable ( fvExprDriver  ,
dictionary   
)

◆ defineRunTimeSelectionTable() [2/4]

Foam::expressions::defineRunTimeSelectionTable ( fvExprDriver  ,
idName   
)

◆ defineTypeName() [1/5]

Foam::expressions::defineTypeName ( fvExprDriverWriter  )

◆ defineDebugSwitchWithName() [1/3]

Foam::expressions::defineDebugSwitchWithName ( patchExpr  ,
"patchExpr"  ,
 
)

◆ registerDebugSwitchWithName() [1/3]

Foam::expressions::registerDebugSwitchWithName ( patchExpr  ,
patchExpr  ,
"patchExpr"   
)

◆ defineDebugSwitchWithName() [2/3]

Foam::expressions::defineDebugSwitchWithName ( volumeExpr  ,
"volumeExpr"  ,
 
)

◆ registerDebugSwitchWithName() [2/3]

Foam::expressions::registerDebugSwitchWithName ( volumeExpr  ,
volumeExpr  ,
"volumeExpr"   
)

◆ defineTypeNameAndDebug() [2/4]

Foam::expressions::defineTypeNameAndDebug ( exprDriver  ,
 
)

◆ defineTypeNameAndDebug() [3/4]

Foam::expressions::defineTypeNameAndDebug ( exprResult  ,
 
)

◆ defineRunTimeSelectionTable() [3/4]

Foam::expressions::defineRunTimeSelectionTable ( exprResult  ,
dictionary   
)

◆ defineRunTimeSelectionTable() [4/4]

Foam::expressions::defineRunTimeSelectionTable ( exprResult  ,
empty   
)

◆ addToRunTimeSelectionTable() [1/10]

Foam::expressions::addToRunTimeSelectionTable ( exprResult  ,
exprResult  ,
dictionary   
)

◆ addToRunTimeSelectionTable() [2/10]

Foam::expressions::addToRunTimeSelectionTable ( exprResult  ,
exprResult  ,
empty   
)

◆ defineTypeName() [2/5]

Foam::expressions::defineTypeName ( exprResultDelayed  )

◆ addToRunTimeSelectionTable() [3/10]

Foam::expressions::addToRunTimeSelectionTable ( exprResult  ,
exprResultDelayed  ,
dictionary   
)

◆ addToRunTimeSelectionTable() [4/10]

Foam::expressions::addToRunTimeSelectionTable ( exprResult  ,
exprResultDelayed  ,
empty   
)

◆ defineTypeName() [3/5]

Foam::expressions::defineTypeName ( exprResultGlobals  )

◆ defineTypeNameAndDebug() [4/4]

Foam::expressions::defineTypeNameAndDebug ( exprResultStack  ,
 
)

◆ addToRunTimeSelectionTable() [5/10]

Foam::expressions::addToRunTimeSelectionTable ( exprResult  ,
exprResultStack  ,
dictionary   
)

◆ addToRunTimeSelectionTable() [6/10]

Foam::expressions::addToRunTimeSelectionTable ( exprResult  ,
exprResultStack  ,
empty   
)

◆ defineTypeName() [4/5]

Foam::expressions::defineTypeName ( exprResultStored  )

◆ addToRunTimeSelectionTable() [7/10]

Foam::expressions::addToRunTimeSelectionTable ( exprResult  ,
exprResultStored  ,
dictionary   
)

◆ addToRunTimeSelectionTable() [8/10]

Foam::expressions::addToRunTimeSelectionTable ( exprResult  ,
exprResultStored  ,
empty   
)

◆ defineTypeName() [5/5]

Foam::expressions::defineTypeName ( exprResultStoredStack  )

◆ addToRunTimeSelectionTable() [9/10]

Foam::expressions::addToRunTimeSelectionTable ( exprResult  ,
exprResultStoredStack  ,
dictionary   
)

◆ addToRunTimeSelectionTable() [10/10]

Foam::expressions::addToRunTimeSelectionTable ( exprResult  ,
exprResultStoredStack  ,
empty   
)

◆ defineDebugSwitchWithName() [3/3]

Foam::expressions::defineDebugSwitchWithName ( fieldExpr  ,
"fieldExpr"  ,
 
)

◆ registerDebugSwitchWithName() [3/3]

Foam::expressions::registerDebugSwitchWithName ( fieldExpr  ,
fieldExpr  ,
"fieldExpr"   
)

◆ valueTypeCodeOf()

Foam::expressions::valueTypeCode valueTypeCodeOf ( const word dataTypeName)

From string to valueTypeCode (if any)

Definition at line 33 of file exprTraits.C.

References stringToTypeCode.