Function1Expression< Type > Class Template Reference

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

Inheritance diagram for Function1Expression< Type >:
[legend]
Collaboration diagram for Function1Expression< Type >:
[legend]

Public Member Functions

 TypeName ("expression")
 Runtime type information. More...
 
void operator= (const Function1Expression< Type > &)=delete
 No copy assignment. More...
 
 Function1Expression (const word &entryName, const dictionary &dict, const objectRegistry *obrPtr=nullptr)
 Construct from entry name, dictionary and optional registry. More...
 
 Function1Expression (const Function1Expression< Type > &rhs)
 Copy construct. More...
 
virtual tmp< Function1< Type > > clone () const
 Construct and return a clone. More...
 
virtual ~Function1Expression ()=default
 Destructor. More...
 
virtual Type value (const scalar x) const
 Return value. More...
 
virtual Type integrate (const scalar x1, const scalar x2) const
 Integrate between two values. More...
 
virtual void writeData (Ostream &os) const
 Write in dictionary format. More...
 
- Public Member Functions inherited from Function1< Type >
 TypeName ("Function1") declareRunTimeSelectionTable(autoPtr
 Runtime type information. More...
 
 Function1 (const word &entryName, const objectRegistry *obrPtr=nullptr)
 Construct from entry name. More...
 
 Function1 (const word &entryName, const dictionary &dict, const objectRegistry *obrPtr=nullptr)
 
 Function1 (const Function1< Type > &rhs)
 Copy construct. More...
 
virtual ~Function1 ()=default
 Destructor. More...
 
virtual bool constant () const
 Is value constant (i.e. independent of x) More...
 
virtual tmp< Field< Type > > value (const scalarField &x) const
 Return value as a function of (scalar) independent variable. More...
 
virtual tmp< Field< Type > > integrate (const scalarField &x1, const scalarField &x2) const
 Integrate between two (scalar) values. More...
 
void writeEntries (Ostream &os) const
 Write coefficient entries in dictionary format. More...
 

Additional Inherited Members

- Public Types inherited from Function1< Type >
typedef Type returnType
 
- Static Public Member Functions inherited from Function1< Type >
static autoPtr< Function1< Type > > New (const word &entryName, const dictionary &dict, const word &redirectType, const objectRegistry *obrPtr=nullptr, const bool mandatory=true)
 Selector, with fallback redirection. More...
 
static autoPtr< Function1< Type > > NewCompat (const word &entryName, std::initializer_list< std::pair< const char *, int >> compat, const dictionary &dict, const word &redirectType=word::null, const objectRegistry *obrPtr=nullptr, const bool mandatory=true)
 Compatibility selector, with fallback redirection. More...
 
static autoPtr< Function1< Type > > New (const word &entryName, const dictionary &dict, const objectRegistry *obrPtr=nullptr, const bool mandatory=true)
 Selector, without fallback redirection. More...
 
static autoPtr< Function1< Type > > NewIfPresent (const word &entryName, const dictionary &dict, const word &redirectType=word::null, const objectRegistry *obrPtr=nullptr)
 An optional selector. More...
 
static refPtr< Function1< Type > > New (HashPtrTable< Function1< Type >> &cache, const word &entryName, const dictionary &dict, enum keyType::option matchOpt=keyType::LITERAL, const objectRegistry *obrPtr=nullptr, const bool mandatory=true)
 
- Public Attributes inherited from Function1< Type >
 Function1
 
 dictionary
 
const wordentryName
 
const word const dictionarydict
 
const word const dictionary const objectRegistryobrPtr
 
const word const dictionary const objectRegistry entryName
 
const word const dictionary const objectRegistry dict
 
const word const dictionary const objectRegistry obrPtr
 
- Protected Member Functions inherited from Function1< Type >
void operator= (const Function1< Type > &)=delete
 No copy assignment. More...
 

Detailed Description

template<class Type>
class Foam::Function1Types::Function1Expression< Type >

Function1 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
        #{
            mag(arg() > start && arg() < stop) * vector(1, 0, 0)
        #};
    }
}

Very much like '#eval' but runtime

See also
Foam::exprFixedValueFvPatchField
Source files

Definition at line 85 of file Function1Expression.H.

Constructor & Destructor Documentation

◆ Function1Expression() [1/2]

Function1Expression ( const word entryName,
const dictionary dict,
const objectRegistry obrPtr = nullptr 
)

Construct from entry name, dictionary and optional registry.

Definition at line 34 of file Function1Expression.C.

References Foam::expressions::patchExpr::debug, dict, Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, and Foam::nl.

Here is the call graph for this function:

◆ Function1Expression() [2/2]

Function1Expression ( const Function1Expression< Type > &  rhs)
explicit

Copy construct.

Definition at line 66 of file Function1Expression.C.

◆ ~Function1Expression()

virtual ~Function1Expression ( )
virtualdefault

Destructor.

Member Function Documentation

◆ TypeName()

TypeName ( "expression"  )

Runtime type information.

◆ operator=()

void operator= ( const Function1Expression< Type > &  )
delete

No copy assignment.

◆ clone()

virtual tmp<Function1<Type> > clone ( ) const
inlinevirtual

Construct and return a clone.

Implements Function1< Type >.

Definition at line 127 of file Function1Expression.H.

◆ value()

Type value ( const scalar  x) const
virtual

Return value.

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

Reimplemented from Function1< Type >.

Definition at line 81 of file Function1Expression.C.

References DebugInfo, Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::nl, and x.

Here is the call graph for this function:

◆ integrate()

Type integrate ( const scalar  x1,
const scalar  x2 
) const
virtual

Integrate between two values.

Reimplemented from Function1< Type >.

Definition at line 114 of file Function1Expression.C.

References NotImplemented, and Foam::Zero.

◆ writeData()

void writeData ( Ostream os) const
virtual

Write in dictionary format.

Reimplemented from Function1< Type >.

Definition at line 126 of file Function1Expression.C.

References Foam::name().

Here is the call graph for this function:

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