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 |
The return type. More... | |
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) | |
Construct from entry name, (unused) dictionary and optional registry. More... | |
Function1 (const Function1< Type > &rhs) | |
Copy construct. More... | |
virtual tmp< Function1< Type > > | clone () const =0 |
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... | |
Public Member Functions inherited from function1Base | |
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... | |
Public Member Functions inherited from refCount | |
constexpr | refCount () noexcept |
Default construct, initializing count to 0. More... | |
int | use_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 | |
template<class Derived > | |
static tmp< Function1< Type > > | Clone (const Derived &fun) |
Clone a Function1. More... | |
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, const objectRegistry *obrPtr=nullptr) |
An optional selector, with fallback redirection. More... | |
static autoPtr< Function1< Type > > | NewIfPresent (const word &entryName, const dictionary &dict, const objectRegistry *obrPtr=nullptr) |
An optional selector, without fallback redirection. 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) |
Selector with external storage of Function1. This also allows wildcard matches in a dictionary. More... | |
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... | |
Protected Member Functions inherited from function1Base | |
void | operator= (const function1Base &)=delete |
No copy assignment. More... | |
Friends | |
Ostream & | operator (Ostream &os, const Function1< Type > &func) |
Ostream Operator. More... | |
Additional Inherited Members | |
Protected Attributes inherited from function1Base | |
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 287 of file propellerInfo.H.
typedef Type returnType |
The return type.
Definition at line 126 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
Return a clone.
Implemented in Sine< Type >, Square< Type >, InputValueMapper< Type >, Cosine< Type >, CodedFunction1< Type >, CSV< Type >, Scale< Type >, FunctionObjectTrigger< Type >, Polynomial< Type >, Sample< Type >, Table< Type >, Function1Expression< Type >, FunctionObjectValue< Type >, Constant< Type >, Lookup< Type >, TableFile< Type >, ZeroConstant< Type >, OneConstant< Type >, Uniform< Type >, and None< Type >.
Clone a Function1.
Definition at line 190 of file Function1.H.
Referenced by None< Type >::clone(), Uniform< Type >::clone(), OneConstant< Type >::clone(), ZeroConstant< Type >::clone(), TableFile< Type >::clone(), Constant< Type >::clone(), FunctionObjectValue< Type >::clone(), Function1Expression< Type >::clone(), Table< Type >::clone(), Sample< Type >::clone(), Polynomial< Type >::clone(), FunctionObjectTrigger< Type >::clone(), Scale< Type >::clone(), CSV< Type >::clone(), CodedFunction1< Type >::clone(), Cosine< Type >::clone(), InputValueMapper< Type >::clone(), Square< Type >::clone(), Sine< Type >::clone(), and FieldFunction1< Function1Type >::clone().
|
static |
Selector, with fallback redirection.
Definition at line 148 of file Function1New.C.
|
static |
Compatibility selector, with fallback redirection.
Definition at line 171 of file Function1New.C.
|
static |
Selector, without fallback redirection.
Definition at line 195 of file Function1New.C.
|
static |
An optional selector, with fallback redirection.
Definition at line 209 of file Function1New.C.
Referenced by rigidBodyMotion::read().
|
static |
An optional selector, without fallback redirection.
Definition at line 224 of file Function1New.C.
|
static |
Selector with external storage of Function1. This also allows wildcard matches in a dictionary.
Definition at line 238 of file Function1New.C.
|
inlinevirtual |
Is value constant (i.e. independent of x)
Reimplemented in Constant< Type >, ZeroConstant< Type >, OneConstant< Type >, and None< Type >.
Definition at line 294 of file Function1.H.
|
inlinevirtual |
Can function be evaluated?
Reimplemented in None< Type >.
Definition at line 299 of file Function1.H.
|
virtual |
Return value as a function of (scalar) independent variable.
Reimplemented in Sine< Type >, Square< Type >, InputValueMapper< Type >, Cosine< Type >, CodedFunction1< Type >, FunctionObjectTrigger< Type >, Scale< Type >, ramp, Polynomial< Type >, TableBase< Type >, Sample< Type >, Constant< Type >, Function1Expression< Type >, FunctionObjectValue< Type >, Lookup< Type >, ZeroConstant< Type >, OneConstant< Type >, None< Type >, reverseRamp, stepRamp, halfCosineRamp, quadraticRamp, quarterSineRamp, stepFunction, linearRamp, and quarterCosineRamp.
Definition at line 62 of file Function1.C.
Referenced by exprDriver::fillFunctionValues(), exprDriver::getFunctionValue(), and strainRateFunction::nu().
|
virtual |
Return value as a function of (scalar) independent variable.
Reimplemented in Constant< Type >, OneConstant< Type >, and None< Type >.
Definition at line 71 of file Function1.C.
|
virtual |
Integrate between two (scalar) values.
Reimplemented in InputValueMapper< Type >, FunctionObjectTrigger< Type >, Polynomial< Type >, TableBase< Type >, Sample< Type >, Constant< Type >, Function1Expression< Type >, FunctionObjectValue< Type >, Lookup< Type >, ZeroConstant< Type >, and OneConstant< Type >.
Definition at line 81 of file Function1.C.
|
virtual |
Integrate between two (scalar) values.
Reimplemented in OneConstant< Type >.
Definition at line 90 of file Function1.C.
|
virtual |
Write in dictionary format.
Reimplemented in Sine< Type >, Square< Type >, InputValueMapper< Type >, CodedFunction1< Type >, FunctionObjectTrigger< Type >, CSV< Type >, Scale< Type >, TableBase< Type >, Polynomial< Type >, Constant< Type >, ramp, Function1Expression< Type >, Sample< Type >, FunctionObjectValue< Type >, Table< Type >, OneConstant< Type >, ZeroConstant< Type >, Lookup< Type >, TableFile< Type >, and None< Type >.
Definition at line 156 of file Function1.C.
Referenced by TableFile< Type >::writeData(), Lookup< Type >::writeData(), Table< Type >::writeData(), Sample< Type >::writeData(), Constant< Type >::writeData(), ramp::writeData(), Polynomial< Type >::writeData(), TableBase< Type >::writeData(), Scale< Type >::writeData(), CSV< Type >::writeData(), Square< Type >::writeData(), and Sine< Type >::writeData().
|
virtual |
Write coefficient entries in dictionary format.
Reimplemented in Sine< Type >, Square< Type >, InputValueMapper< Type >, FunctionObjectTrigger< Type >, CSV< Type >, TableBase< Type >, Scale< Type >, ramp, Sample< Type >, and FunctionObjectValue< Type >.
Definition at line 151 of file Function1.C.
Definition at line 140 of file Function1.H.
Definition at line 140 of file Function1.H.
const word& entryName |
Definition at line 140 of file Function1.H.
const word const dictionary& dict |
Definition at line 140 of file Function1.H.
const word const dictionary const objectRegistry* obrPtr |
Definition at line 140 of file Function1.H.
const word const dictionary const objectRegistry entryName |
Definition at line 140 of file Function1.H.
const word const dictionary const objectRegistry dict |
Definition at line 140 of file Function1.H.
const word const dictionary const objectRegistry obrPtr |
Definition at line 140 of file Function1.H.