Loading...
Searching...
No Matches
PatchExprField< Type > Class Template Reference

PatchFunction1 with values supplied by a parsed expression. More...

#include <PatchFunction1Expression.H>

Inheritance diagram for PatchExprField< Type >:
Collaboration diagram for PatchExprField< Type >:

Public Member Functions

 TypeName ("expression")
 Runtime type information.
void operator= (const PatchExprField< Type > &)=delete
 No copy assignment.
 PatchExprField (const polyPatch &pp, const word &redirectType, const word &entryName, const dictionary &dict, const bool faceValues=true)
 Construct from patch, entry name and dictionary.
 PatchExprField (const PatchExprField< Type > &rhs, const polyPatch &pp)
 Copy construct setting patch.
 PatchExprField (const PatchExprField< Type > &rhs)
 Copy construct.
virtual tmp< PatchFunction1< Type > > clone () const
 Return a clone.
virtual tmp< PatchFunction1< Type > > clone (const polyPatch &pp) const
 Return a clone, setting the patch.
virtual ~PatchExprField ()=default
 Destructor.
virtual tmp< Field< Type > > value (const scalar x) const
 Return value.
virtual bool constant () const
 Is value constant (i.e. independent of x).
virtual bool uniform () const
 Is value uniform (i.e. independent of coordinate).
virtual tmp< Field< Type > > integrate (const scalar x1, const scalar x2) const
 Integrate between two values.
virtual void autoMap (const FieldMapper &mapper)
 Map (and resize as needed) from self given a mapping object.
virtual void rmap (const PatchFunction1< Type > &pf1, const labelList &addr)
 Reverse map the given PatchFunction1 onto this PatchFunction1.
virtual void writeData (Ostream &os) const
 Write in dictionary format.
Public Member Functions inherited from PatchFunction1< Type >
 TypeName ("PatchFunction1") declareRunTimeSelectionTable(autoPtr
 Runtime type information.
 PatchFunction1 (const polyPatch &pp, const word &entryName, const bool faceValues=true)
 Construct from polyPatch and entry name.
 PatchFunction1 (const polyPatch &pp, const word &entryName, const dictionary &dict, const bool faceValues=true)
 Construct from polyPatch, dictionary and entry name.
 PatchFunction1 (const PatchFunction1< Type > &rhs, const polyPatch &pp)
 Copy construct setting patch.
 PatchFunction1 (const PatchFunction1< Type > &rhs)
 Copy construct.
virtual ~PatchFunction1 ()=default
 Destructor.
virtual bool good () const
 Can function be evaluated?
virtual tmp< pointFieldlocalPosition (const pointField &globalPos) const
 Helper: optionally convert coordinates to local coordinates.
virtual tmp< Field< Type > > transform (const Field< Type > &fld) const
 Apply optional transformation.
virtual tmp< Field< Type > > transform (const tmp< Field< Type > > &tfld) const
 Apply optional transformation.
Public Member Functions inherited from patchFunction1Base
 patchFunction1Base (const polyPatch &pp, const word &entryName, const bool faceValues=true)
 Construct from polyPatch and entry name.
 patchFunction1Base (const polyPatch &pp, const word &entryName, const dictionary &dict, const bool faceValues=true)
 Construct from polyPatch, dictionary and entry name.
 patchFunction1Base (const patchFunction1Base &rhs)
 Copy construct.
 patchFunction1Base (const patchFunction1Base &rhs, const polyPatch &pp)
 Copy construct setting patch.
virtual ~patchFunction1Base ()=default
 Destructor.
const wordname () const noexcept
 The name of the entry.
const polyPatchpatch () const noexcept
 Reference to the patch.
bool faceValues () const noexcept
 Generate face or point values on patch?
label size () const
 Number of faces or points on the patch.
const objectRegistrywhichDb () const
 Return the associated registry (ie, the mesh).
const objectRegistryobr () const
 Return the object registry (ie, the mesh).
const Timetime () const
 Return false: function not created with time database.
virtual void userTimeToTime (const Time &t)
 Convert time.
Public Member Functions inherited from refCount
constexpr refCount () noexcept
 Default construct, initializing count to 0.
int use_count () const noexcept
 Return the current reference count.
bool unique () const noexcept
 Return true if the reference count is zero.
void operator++ () noexcept
 Increment the reference count.
void operator++ (int) noexcept
 Increment the reference count.
void operator-- () noexcept
 Decrement the reference count.
void operator-- (int) noexcept
 Decrement the reference count.

Additional Inherited Members

Public Types inherited from PatchFunction1< Type >
typedef Field< Type > returnType
 The return type is a field of values.
Static Public Member Functions inherited from PatchFunction1< Type >
template<class Derived>
static tmp< PatchFunction1< Type > > Clone (const Derived &fun)
 Clone a PatchFunction1.
template<class Derived>
static tmp< PatchFunction1< Type > > Clone (const Derived &fun, const polyPatch &pp)
 Clone a PatchFunction1 with a patch.
static autoPtr< PatchFunction1< Type > > New (const polyPatch &pp, const word &entryName, const dictionary &dict, const bool faceValues=true, const bool mandatory=true)
 Selector.
static autoPtr< PatchFunction1< Type > > NewCompat (const polyPatch &pp, const word &entryName, std::initializer_list< std::pair< const char *, int > > compat, const dictionary &dict, const bool faceValues=true, const bool mandatory=true)
 Compatibility selector.
static autoPtr< PatchFunction1< Type > > NewIfPresent (const polyPatch &pp, const word &entryName, const dictionary &dict, const bool faceValues=true)
 An optional selector.
static refPtr< PatchFunction1< Type > > New (HashPtrTable< PatchFunction1< Type > > &cache, const polyPatch &pp, const word &entryName, const dictionary &dict, enum keyType::option matchOpt=keyType::LITERAL, const bool faceValues=true, const bool mandatory=true)
 Selector with external storage. This also allows wildcard matches in a dictionary.
Public Attributes inherited from PatchFunction1< Type >
 PatchFunction1
 dictionary
const polyPatchpp
const polyPatch const wordtype
const polyPatch const word const wordentryName
const polyPatch const word const word const dictionarydict
const polyPatch const word const word const dictionary const bool faceValues
const polyPatch const word const word const dictionary const bool pp
const polyPatch const word const word const dictionary const bool type
const polyPatch const word const word const dictionary const bool entryName
const polyPatch const word const word const dictionary const bool dict
Protected Member Functions inherited from PatchFunction1< Type >
void operator= (const PatchFunction1< Type > &)=delete
 No copy assignment.
Protected Member Functions inherited from patchFunction1Base
void operator= (const patchFunction1Base &)=delete
 No copy assignment.
Protected Attributes inherited from PatchFunction1< Type >
coordinateScaling< Type > coordSys_
 Optional local coordinate system and scaling.
Protected Attributes inherited from patchFunction1Base
const word name_
 Name of entry.
const polyPatchpatch_
 Reference to the patch.
const bool faceValues_
 Generate face or point values on patch.

Detailed Description

template<class Type>
class Foam::PatchFunction1Types::PatchExprField< Type >

PatchFunction1 with values supplied by a parsed expression.

Usage
Example:
<patchName>
{
    type            uniformFixedValue;
    uniformValue
    {
        type            expression;

        // optional variables for use within the expression
        variables
        (
            "start = 0.5"
            "stop  = 1"
        );

        // A step function
        expression
        #{
            scalar(arg() > start && arg() < stop) * vector(1, 0, 0)
        #};
    }
}
See also
Foam::exprFixedValueFvPatchField
Source files

Definition at line 79 of file PatchFunction1Expression.H.

Constructor & Destructor Documentation

◆ PatchExprField() [1/3]

template<class Type>
PatchExprField ( const polyPatch & pp,
const word & redirectType,
const word & entryName,
const dictionary & dict,
const bool faceValues = true )

Construct from patch, entry name and dictionary.

The patch must correspond to an fvPatch!

Definition at line 27 of file PatchFunction1Expression.C.

References PatchFunction1< Type >::dict, PatchFunction1< Type >::dictionary, PatchFunction1< Type >::entryName, PatchFunction1< Type >::faceValues, if(), patchFunction1Base::patch(), PatchFunction1< Type >::PatchFunction1, and PatchFunction1< Type >::pp.

Referenced by operator=(), PatchExprField(), and PatchExprField().

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

◆ PatchExprField() [2/3]

template<class Type>
PatchExprField ( const PatchExprField< Type > & rhs,
const polyPatch & pp )
explicit

Copy construct setting patch.

Definition at line 59 of file PatchFunction1Expression.C.

References patchFunction1Base::patch(), PatchExprField(), PatchFunction1< Type >::PatchFunction1, PatchFunction1< Type >::pp, and Foam::rhs().

Here is the call graph for this function:

◆ PatchExprField() [3/3]

template<class Type>
PatchExprField ( const PatchExprField< Type > & rhs)
explicit

Copy construct.

Definition at line 73 of file PatchFunction1Expression.C.

References patchFunction1Base::patch(), PatchExprField(), and Foam::rhs().

Here is the call graph for this function:

◆ ~PatchExprField()

template<class Type>
virtual ~PatchExprField ( )
virtualdefault

Destructor.

References x.

Member Function Documentation

◆ TypeName()

template<class Type>
TypeName ( "expression" )

Runtime type information.

◆ operator=()

template<class Type>
void operator= ( const PatchExprField< Type > & )
delete

◆ clone() [1/2]

template<class Type>
virtual tmp< PatchFunction1< Type > > clone ( ) const
inlinevirtual

Return a clone.

Implements PatchFunction1< Type >.

Definition at line 150 of file PatchFunction1Expression.H.

References PatchFunction1< Type >::Clone().

Here is the call graph for this function:

◆ clone() [2/2]

template<class Type>
virtual tmp< PatchFunction1< Type > > clone ( const polyPatch & pp) const
inlinevirtual

Return a clone, setting the patch.

Implements PatchFunction1< Type >.

Definition at line 158 of file PatchFunction1Expression.H.

References PatchFunction1< Type >::Clone(), and PatchFunction1< Type >::pp.

Here is the call graph for this function:

◆ value()

template<class Type>
Foam::tmp< Foam::Field< Type > > value ( const scalar x) const
virtual

Return value.

The parameter 'x' is accessible as 'arg' in the function

Reimplemented from PatchFunction1< Type >.

Definition at line 86 of file PatchFunction1Expression.C.

References DebugInfo, Foam::nl, and x.

◆ constant()

template<class Type>
virtual bool constant ( ) const
inlinevirtual

Is value constant (i.e. independent of x).

Reimplemented from PatchFunction1< Type >.

Definition at line 184 of file PatchFunction1Expression.H.

◆ uniform()

template<class Type>
virtual bool uniform ( ) const
inlinevirtual

Is value uniform (i.e. independent of coordinate).

Implements PatchFunction1< Type >.

Definition at line 192 of file PatchFunction1Expression.H.

◆ integrate()

template<class Type>
Foam::tmp< Foam::Field< Type > > integrate ( const scalar x1,
const scalar x2 ) const
virtual

Integrate between two values.

Reimplemented from PatchFunction1< Type >.

Definition at line 107 of file PatchFunction1Expression.C.

References NotImplemented.

◆ autoMap()

template<class Type>
void autoMap ( const FieldMapper & mapper)
virtual

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

Reimplemented from PatchFunction1< Type >.

Definition at line 119 of file PatchFunction1Expression.C.

References PatchFunction1< Type >::autoMap().

Here is the call graph for this function:

◆ rmap()

template<class Type>
void rmap ( const PatchFunction1< Type > & pf1,
const labelList & addr )
virtual

Reverse map the given PatchFunction1 onto this PatchFunction1.

Reimplemented from PatchFunction1< Type >.

Definition at line 129 of file PatchFunction1Expression.C.

References PatchFunction1< Type >::PatchFunction1, and PatchFunction1< Type >::rmap().

Here is the call graph for this function:

◆ writeData()

template<class Type>
void writeData ( Ostream & os) const
virtual

Write in dictionary format.

Reimplemented from PatchFunction1< Type >.

Definition at line 140 of file PatchFunction1Expression.C.

References name, and os().

Here is the call graph for this function:

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