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 Function1< Type > &rhs)
 Copy constructor. More...
 
virtual tmp< Function1< Type > > clone () const =0
 Construct and return a clone. More...
 
virtual ~Function1 ()=default
 Destructor. More...
 
const wordname () const
 Return the name of the entry. More...
 
virtual void convertTimeBase (const Time &t)
 Convert time. 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...
 

Static Public Member Functions

static autoPtr< Function1< Type > > New (const word &entryName, const dictionary &dict, const word &redirectType=word::null)
 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...
 

Protected Attributes

const word name_
 Name of entry. 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 113 of file Function1.H.

Constructor & Destructor Documentation

◆ Function1() [1/2]

Function1 ( const word entryName)
explicit

Construct from entry name.

◆ Function1() [2/2]

Function1 ( const Function1< Type > &  rhs)
explicit

Copy constructor.

◆ ~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

Construct and return a clone.

Implemented in CSV< Type >, Constant< Type >, Table< Type >, and OneConstant< Type >.

◆ New()

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

Selector.

Definition at line 35 of file Function1New.C.

Referenced by CrankNicolsonDdtScheme< Type >::CrankNicolsonDdtScheme(), strainRateFunction::read(), externalForce::read(), setTimeStepFunctionObject::read(), setFlow::read(), temperatureDependent::readDict(), and rigidBodyMeshMotion::rigidBodyMeshMotion().

Here is the caller graph for this function:

◆ name()

const Foam::word & name ( ) const

Return the name of the entry.

Definition at line 54 of file Function1.C.

◆ convertTimeBase()

void convertTimeBase ( const Time t)
virtual

Convert time.

Reimplemented in TableBase< Type >, and Polynomial< Type >.

Definition at line 61 of file Function1.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 75 of file Function1.C.

◆ integrate() [1/2]

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

Integrate between two (scalar) values.

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

Definition at line 85 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 94 of file Function1.C.

◆ writeData()

Friends And Related Function Documentation

◆ operator

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

Ostream Operator.

Member Data Documentation

◆ name_

const word name_
protected

Name of entry.

Definition at line 103 of file Function1.H.

◆ Function1

Definition at line 122 of file Function1.H.

◆ dictionary

Definition at line 123 of file Function1.H.

◆ entryName [1/2]

const word& entryName

Definition at line 125 of file Function1.H.

◆ dict [1/2]

const word const dictionary& dict

Definition at line 127 of file Function1.H.

◆ entryName [2/2]

const word const dictionary entryName

Definition at line 128 of file Function1.H.

◆ dict [2/2]

const word const dictionary dict

Definition at line 129 of file Function1.H.


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