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 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 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... | |
Friends | |
Ostream & | operator (Ostream &os, const Function1< Type > &func) |
Ostream Operator. 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 291 of file propellerInfo.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 CodedFunction1< Type >, FunctionObjectTrigger< Type >, CSV< Type >, Table< Type >, Polynomial< Type >, Function1Expression< Type >, Sample< Type >, Constant< Type >, FunctionObjectValue< Type >, TableFile< Type >, OneConstant< Type >, and None< Type >.
|
static |
Selector, with fallback redirection.
Definition at line 151 of file Function1New.C.
|
static |
Compatibility selector, with fallback redirection.
Definition at line 174 of file Function1New.C.
|
static |
Selector, without fallback redirection.
Definition at line 198 of file Function1New.C.
|
static |
An optional selector.
Definition at line 212 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 227 of file Function1New.C.
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.
|
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().
|
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.
|
virtual |
Integrate between two (scalar) values.
Reimplemented in FunctionObjectTrigger< Type >, InputValueMapper< Type >, Polynomial< Type >, Function1Expression< Type >, Constant< Type >, Sample< Type >, TableBase< Type >, FunctionObjectValue< Type >, ZeroConstant< Type >, and OneConstant< Type >.
Definition at line 88 of file Function1.C.
|
virtual |
Integrate between two (scalar) values.
Reimplemented in OneConstant< Type >.
Definition at line 97 of file Function1.C.
|
virtual |
Write in dictionary format.
Reimplemented in Sine< Type >, Square< Type >, InputValueMapper< Type >, CodedFunction1< Type >, FunctionObjectTrigger< Type >, ramp, Scale< Type >, CSV< Type >, Polynomial< Type >, Function1Expression< Type >, Constant< Type >, Table< Type >, TableBase< Type >, Sample< Type >, FunctionObjectValue< Type >, TableFile< Type >, OneConstant< Type >, ZeroConstant< Type >, and None< Type >.
Definition at line 174 of file Function1.C.
Referenced by TableFile< Type >::writeData(), Sample< Type >::writeData(), TableBase< Type >::writeData(), Table< Type >::writeData(), Constant< Type >::writeData(), Polynomial< Type >::writeData(), CSV< Type >::writeData(), Scale< Type >::writeData(), ramp::writeData(), Square< Type >::writeData(), and Sine< Type >::writeData().
void writeEntries | ( | Ostream & | os | ) | const |
Write coefficient entries in dictionary format.
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.
const word const dictionary& dict |
Definition at line 134 of file Function1.H.
const word const dictionary const objectRegistry* obrPtr |
Definition at line 136 of file Function1.H.
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 138 of file Function1.H.