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, 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 tmp< Function1< Type > > clone () const =0
 Construct and return a clone. More...
 
virtual ~Function1 ()=default
 Destructor. More...
 
virtual bool constant () const
 Is value constant (i.e. independent of x) 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 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

 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

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 coefficients 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 coefficients 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 291 of file propellerInfo.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,
const objectRegistry obrPtr = nullptr 
)
explicit

Construct from entry name.

◆ Function1() [2/3]

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

Construct from entry name, (unused) dictionary and optional registry

◆ Function1() [3/3]

Function1 ( const Function1< Type > &  rhs)
explicit

Copy construct.

◆ ~Function1()

virtual ~Function1 ( )
virtualdefault

Destructor.

//- Selector with external storage of Function1. //- This also allows wildcard matches in a dictionary. // If the default value is used, stores an entry as "default" static refPtr<Function1<Type>> NewOrDefault ( HashPtrTable<Function1<Type>>& cache, const word& entryName, const dictionary& dict, const Type& deflt, enum keyType::option matchOpt = keyType::LITERAL, const objectRegistry* obrPtr = nullptr );

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()

◆ New() [1/3]

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

Selector, with fallback redirection.

Definition at line 151 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 objectRegistry obrPtr = nullptr,
const bool  mandatory = true 
)
static

Compatibility selector, with fallback redirection.

Definition at line 174 of file Function1New.C.

◆ New() [2/3]

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

Selector, without fallback redirection.

Definition at line 198 of file Function1New.C.

◆ NewIfPresent()

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

An optional selector.

Definition at line 212 of file Function1New.C.

Referenced by rigidBodyMotion::read().

Here is the caller graph for this function:

◆ New() [3/3]

Foam::refPtr< Foam::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 
)
static

Selector with external storage of Function1. This also allows wildcard matches in a dictionary

Definition at line 227 of file Function1New.C.

◆ constant()

virtual bool constant ( ) const
inlinevirtual

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

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

Definition at line 243 of file Function1.H.

◆ value() [1/2]

Type value ( const scalar  x) const
virtual

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

Reimplemented in FunctionObjectTrigger< Type >, Constant< Type >, FunctionObjectValue< Type >, ZeroConstant< Type >, OneConstant< Type >, CodedFunction1< Type >, Polynomial< Type >, Function1Expression< Type >, Sample< Type >, TableBase< Type >, None< Type >, stepFunction, ramp, Sine< Type >, Square< Type >, Cosine< Type >, InputValueMapper< Type >, Scale< Type >, halfCosineRamp, linearRamp, quadraticRamp, quarterCosineRamp, and quarterSineRamp.

Definition at line 69 of file Function1.C.

Referenced by solution::equationRelaxationFactor(), and solution::fieldRelaxationFactor().

Here is the caller graph for this function:

◆ 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 >, OneConstant< Type >, and None< Type >.

Definition at line 78 of file Function1.C.

◆ integrate() [1/2]

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

◆ integrate() [2/2]

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

Integrate between two (scalar) values.

Reimplemented in OneConstant< Type >.

Definition at line 97 of file Function1.C.

◆ writeData()

◆ writeEntries()

void writeEntries ( Ostream os) const

Write coefficient entries in dictionary format.

Definition at line 169 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 134 of file Function1.H.

◆ obrPtr [1/2]

const word const dictionary const objectRegistry* obrPtr

Definition at line 136 of file Function1.H.

◆ entryName [2/2]

const word const dictionary const objectRegistry entryName

Definition at line 137 of file Function1.H.

◆ dict [2/2]

const word const dictionary const objectRegistry dict

Definition at line 137 of file Function1.H.

◆ obrPtr [2/2]

const word const dictionary const objectRegistry obrPtr

Definition at line 138 of file Function1.H.


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