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...
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 bool | good () const |
Can function be evaluated? 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... | |
virtual void | writeEntries (Ostream &os) const |
Write coefficient entries in dictionary format. More... | |
![]() | |
function1Base (const word &entryName, const objectRegistry *obrPtr=nullptr) | |
Construct from entry name and optional registry. More... | |
function1Base (const word &entryName, const dictionary &dict, const objectRegistry *obrPtr=nullptr) | |
Construct from entry name, dictionary (unused) and optional registry. More... | |
function1Base (const function1Base &rhs) | |
Copy construct. More... | |
virtual | ~function1Base () |
Destructor. More... | |
const word & | name () const noexcept |
The name of the entry. More... | |
const objectRegistry * | whichDb () const noexcept |
Return the associated registry or nullptr. More... | |
void | resetDb (const objectRegistry *obrPtr=nullptr) noexcept |
Reset the associated objectRegistry. More... | |
void | resetDb (const objectRegistry &db) noexcept |
Reset the associated objectRegistry. More... | |
const objectRegistry & | obr () const |
Return the object registry. More... | |
bool | isTime () const noexcept |
Return true if this function was created with the time database. More... | |
const Time & | time () const |
Return the time database. More... | |
template<class MeshType > | |
const MeshType & | mesh (const word ®ionName=word::null) const |
Return the mesh database if this Function1 was created using a mesh. More... | |
virtual void | userTimeToTime (const Time &t) |
Convert time. More... | |
![]() | |
constexpr | refCount () noexcept |
Default construct, initializing count to 0. More... | |
int | count () const noexcept |
Return the current reference count. More... | |
bool | unique () const noexcept |
Return true if the reference count is zero. More... | |
void | operator++ () noexcept |
Increment the reference count. More... | |
void | operator++ (int) noexcept |
Increment the reference count. More... | |
void | operator-- () noexcept |
Decrement the reference count. More... | |
void | operator-- (int) noexcept |
Decrement the reference count. 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 word & | entryName |
const word const dictionary & | dict |
const word const dictionary const objectRegistry * | obrPtr |
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... | |
![]() | |
void | operator= (const function1Base &)=delete |
No copy assignment. More... | |
Friends | |
Ostream & | operator (Ostream &os, const Function1< Type > &func) |
Ostream Operator. More... | |
Additional Inherited Members | |
![]() | |
const word | name_ |
Name of entry. More... | |
const objectRegistry * | obrPtr_ |
Pointer to an object registry. More... | |
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;
Definition at line 93 of file Function1.H.
typedef Type returnType |
Definition at line 121 of file Function1.H.
|
explicit |
Construct from entry name.
Function1 | ( | const word & | entryName, |
const dictionary & | dict, | ||
const objectRegistry * | obrPtr = nullptr |
||
) |
Construct from entry name, (unused) dictionary and optional registry
|
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 );
TypeName | ( | "Function1< Type >" | ) |
Runtime type information.
Declare runtime constructor selection table
Construct and return a clone.
Implemented in Function1Expression< Type >, CodedFunction1< Type >, Constant< Type >, Cosine< Type >, CSV< Type >, FunctionObjectTrigger< Type >, FunctionObjectValue< Type >, InputValueMapper< Type >, None< Type >, OneConstant< Type >, Polynomial< Type >, Scale< Type >, Sine< Type >, Square< Type >, Table< Type >, TableFile< Type >, Uniform< Type >, ZeroConstant< Type >, and Sample< Type >.
|
static |
Selector, with fallback redirection.
Definition at line 150 of file Function1New.C.
References dict.
|
static |
Compatibility selector, with fallback redirection.
Definition at line 173 of file Function1New.C.
|
static |
Selector, without fallback redirection.
Definition at line 197 of file Function1New.C.
|
static |
An optional selector.
Definition at line 211 of file Function1New.C.
Referenced by rigidBodyMotion::read().
|
static |
Selector with external storage of Function1. This also allows wildcard matches in a dictionary
Definition at line 226 of file Function1New.C.
References refPtr< T >::cref(), dict, Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, entry::keyword(), and Foam::nl.
Is value constant (i.e. independent of x)
Reimplemented in Constant< Type >, None< Type >, OneConstant< Type >, and ZeroConstant< Type >.
Definition at line 243 of file Function1.H.
|
inlinevirtual |
Can function be evaluated?
Reimplemented in None< Type >.
Definition at line 246 of file Function1.H.
|
virtual |
Return value as a function of (scalar) independent variable.
Reimplemented in Cosine< Type >, halfCosineRamp, InputValueMapper< Type >, linearRamp, quadraticRamp, quarterCosineRamp, quarterSineRamp, Scale< Type >, Sine< Type >, Square< Type >, ramp, Function1Expression< Type >, CodedFunction1< Type >, None< Type >, Polynomial< Type >, stepFunction, TableBase< Type >, Sample< Type >, Constant< Type >, FunctionObjectTrigger< Type >, FunctionObjectValue< Type >, OneConstant< Type >, and ZeroConstant< Type >.
Definition at line 69 of file Function1.C.
References NotImplemented.
|
virtual |
Return value as a function of (scalar) independent variable.
Reimplemented in Constant< Type >, None< Type >, and OneConstant< Type >.
Definition at line 77 of file Function1.C.
References NotImplemented.
|
virtual |
Integrate between two (scalar) values.
Reimplemented in Function1Expression< Type >, Constant< Type >, FunctionObjectValue< Type >, InputValueMapper< Type >, OneConstant< Type >, Polynomial< Type >, TableBase< Type >, ZeroConstant< Type >, Sample< Type >, and FunctionObjectTrigger< Type >.
Definition at line 88 of file Function1.C.
References NotImplemented.
|
virtual |
Integrate between two (scalar) values.
Reimplemented in OneConstant< Type >.
Definition at line 96 of file Function1.C.
References NotImplemented.
|
virtual |
Write in dictionary format.
Reimplemented in Function1Expression< Type >, CodedFunction1< Type >, Constant< Type >, CSV< Type >, FunctionObjectTrigger< Type >, FunctionObjectValue< Type >, InputValueMapper< Type >, None< Type >, OneConstant< Type >, Polynomial< Type >, ramp, Scale< Type >, Sine< Type >, Square< Type >, Table< Type >, TableBase< Type >, TableFile< Type >, ZeroConstant< Type >, and Sample< Type >.
Definition at line 174 of file Function1.C.
References os(), Foam::type(), and Ostream::writeKeyword().
|
virtual |
Write coefficient entries in dictionary format.
Reimplemented in CSV< Type >, FunctionObjectTrigger< Type >, FunctionObjectValue< Type >, InputValueMapper< Type >, ramp, Scale< Type >, Sine< Type >, Square< Type >, TableBase< Type >, and Sample< Type >.
Definition at line 169 of file Function1.C.
Definition at line 130 of file Function1.H.
Definition at line 131 of file Function1.H.
const word& entryName |
Definition at line 133 of file Function1.H.
Referenced by Constant< Type >::Constant(), Polynomial< Type >::Polynomial(), and Table< Type >::Table().
const word const dictionary& dict |
Definition at line 134 of file Function1.H.
Referenced by Constant< Type >::Constant(), Function1Expression< Type >::Function1Expression(), FunctionObjectTrigger< Type >::FunctionObjectTrigger(), FunctionObjectValue< Type >::FunctionObjectValue(), InputValueMapper< Type >::InputValueMapper(), Polynomial< Type >::Polynomial(), Scale< Type >::Scale(), Sine< Type >::Sine(), Table< Type >::Table(), and TableFile< Type >::TableFile().
const word const dictionary const objectRegistry* obrPtr |
Definition at line 135 of file Function1.H.
Referenced by Sine< Type >::Sine().
const word const dictionary const objectRegistry entryName |
Definition at line 137 of file Function1.H.
const word const dictionary const objectRegistry dict |
Definition at line 137 of file Function1.H.
const word const dictionary const objectRegistry obrPtr |
Definition at line 137 of file Function1.H.