Function1< Type > Class Template Referenceabstract

Top level data entry class for use in dictionaries. Provides a mechanism to specify a variable as a certain type, e.g. constant or table, and provide functions to return the (interpolated) value, and integral between limits. More...

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

Public Types

typedef Type returnType
 

Public Member Functions

 TypeName ("Function1") declareRunTimeSelectionTable(autoPtr
 Runtime type information. More...
 
 Function1 (const word &entryName)
 Construct from entry name. More...
 
 Function1 (const word &entryName, const dictionary &dict)
 Construct from entry name and dictionary. More...
 
 Function1 (const Function1< Type > &rhs)
 Copy construct. More...
 
virtual tmp< Function1< Type > > clone () const =0
 Construct and return a clone. More...
 
virtual ~Function1 ()=default
 Destructor. More...
 
virtual Type value (const scalar x) const
 Return value as a function of (scalar) independent variable. More...
 
virtual tmp< Field< Type > > value (const scalarField &x) const
 Return value as a function of (scalar) independent variable. More...
 
virtual Type integrate (const scalar x1, const scalar x2) const
 Integrate between two (scalar) values. More...
 
virtual tmp< Field< Type > > integrate (const scalarField &x1, const scalarField &x2) const
 Integrate between two (scalar) values. More...
 
virtual void writeData (Ostream &os) const
 Write in dictionary format. More...
 
void writeEntries (Ostream &os) const
 Write coefficient entries in dictionary format. More...
 

Static Public Member Functions

static autoPtr< Function1< Type > > New (const word &entryName, const dictionary &dict, const word &redirectType, 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 bool mandatory=true)
 Compatibility selector, with fallback redirection. More...
 
static autoPtr< Function1< Type > > New (const word &entryName, const dictionary &dict, 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)
 An optional selector. More...
 

Public Attributes

 Function1
 
 dictionary
 
const wordentryName
 
const word const dictionarydict
 
const word const dictionary entryName
 
const word const dictionary dict
 

Protected Member Functions

void operator= (const Function1< Type > &)=delete
 No copy assignment. More...
 

Friends

Ostreamoperator (Ostream &os, const Function1< Type > &func)
 Ostream Operator. More...
 

Detailed Description

template<class Type>
class Foam::Function1< Type >

Top level data entry class for use in dictionaries. Provides a mechanism to specify a variable as a certain type, e.g. constant or table, and provide functions to return the (interpolated) value, and integral between limits.

The New factory method attempts to deal with varying types of input. It accepts primitive or dictionary entries for dispatching to different function types, but wraps unspecified types as "constant".

In the dictionary form, the coefficents are the dictionary itself. This is arguably the more readable form. For example,

    <entryName>
    {
        type      linearRamp;
        start     10;
        duration  20;
    }

In the primitive form, the coefficents are provided separately. For example,

    <entryName>   linearRamp;
    <entryName>Coeffs
    {
        start     10;
        duration  20;
    }

The coeffs dictionary is optional, since it is not required by all types. For example,

    <entryName>   zero;
Source files

Definition at line 86 of file Function1.H.

Member Typedef Documentation

◆ returnType

typedef Type returnType

Definition at line 121 of file Function1.H.

Constructor & Destructor Documentation

◆ Function1() [1/3]

Function1 ( const word entryName)
explicit

Construct from entry name.

◆ Function1() [2/3]

Function1 ( const word entryName,
const dictionary dict 
)

Construct from entry name and dictionary.

◆ Function1() [3/3]

Function1 ( const Function1< Type > &  rhs)
explicit

Copy construct.

◆ ~Function1()

virtual ~Function1 ( )
virtualdefault

Destructor.

Member Function Documentation

◆ operator=()

void operator= ( const Function1< Type > &  )
protecteddelete

No copy assignment.

◆ TypeName()

TypeName ( "Function1< Type >"  )

Runtime type information.

Declare runtime constructor selection table

◆ clone()

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

◆ New() [1/2]

Foam::autoPtr< Foam::Function1< Type > > New ( const word entryName,
const dictionary dict,
const word redirectType,
const bool  mandatory = true 
)
static

Selector, with fallback redirection.

Definition at line 141 of file Function1New.C.

◆ NewCompat()

Foam::autoPtr< Foam::Function1< Type > > NewCompat ( const word entryName,
std::initializer_list< std::pair< const char *, int >>  compat,
const dictionary dict,
const word redirectType = word::null,
const bool  mandatory = true 
)
static

Compatibility selector, with fallback redirection.

Definition at line 162 of file Function1New.C.

◆ New() [2/2]

Foam::autoPtr< Foam::Function1< Type > > New ( const word entryName,
const dictionary dict,
const bool  mandatory = true 
)
static

Selector, without fallback redirection.

Definition at line 184 of file Function1New.C.

◆ NewIfPresent()

Foam::autoPtr< Foam::Function1< Type > > NewIfPresent ( const word entryName,
const dictionary dict,
const word redirectType = word::null 
)
static

An optional selector.

Definition at line 197 of file Function1New.C.

◆ value() [1/2]

Type value ( const scalar  x) const
virtual

◆ value() [2/2]

Foam::tmp< Foam::Field< Type > > value ( const scalarField x) const
virtual

Return value as a function of (scalar) independent variable.

Reimplemented in Constant< Type >, and OneConstant< Type >.

Definition at line 70 of file Function1.C.

◆ integrate() [1/2]

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

Integrate between two (scalar) values.

Reimplemented in LimitRange< Type >, Function1Expression< Type >, TableBase< Type >, Polynomial< Type >, Constant< Type >, OneConstant< Type >, and ZeroConstant< Type >.

Definition at line 80 of file Function1.C.

◆ integrate() [2/2]

Foam::tmp< Foam::Field< Type > > integrate ( const scalarField x1,
const scalarField x2 
) const
virtual

Integrate between two (scalar) values.

Reimplemented in Constant< Type >, Constant< Type >, OneConstant< Type >, and Constant< Type >.

Definition at line 90 of file Function1.C.

◆ writeData()

void writeData ( Ostream os) const
virtual

◆ writeEntries()

void writeEntries ( Ostream os) const

Write coefficient entries in dictionary format.

Definition at line 161 of file Function1.C.

Friends And Related Function Documentation

◆ operator

Ostream& operator ( Ostream os,
const Function1< Type > &  func 
)
friend

Ostream Operator.

Member Data Documentation

◆ Function1

Definition at line 130 of file Function1.H.

◆ dictionary

Definition at line 131 of file Function1.H.

◆ entryName [1/2]

const word& entryName

Definition at line 133 of file Function1.H.

◆ dict [1/2]

const word const dictionary& dict

Definition at line 135 of file Function1.H.

◆ entryName [2/2]

const word const dictionary entryName

Definition at line 136 of file Function1.H.

◆ dict [2/2]

const word const dictionary dict

Definition at line 137 of file Function1.H.


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