Base class for table with bounds handling, interpolation and integration. More...
Public Member Functions | |
TableBase (const word &name, const dictionary &dict, const objectRegistry *obrPtr=nullptr) | |
Construct from dictionary - note table is not populated. More... | |
TableBase (const TableBase< Type > &tbl) | |
Copy constructor. Note: steals interpolator, tableSamples. More... | |
virtual | ~TableBase ()=default |
Destructor. More... | |
void | initialise () |
Check the table for size and consistency. More... | |
bool | checkMinBounds (const scalar x, scalar &xDash) const |
Check minimum table bounds. More... | |
bool | checkMaxBounds (const scalar x, scalar &xDash) const |
Check maximum table bounds. More... | |
virtual void | userTimeToTime (const Time &t) |
Convert time. More... | |
virtual Type | value (const scalar x) const |
Return Table value. More... | |
virtual Type | integrate (const scalar x1, const scalar x2) const |
Integrate between two (scalar) values. More... | |
virtual tmp< scalarField > | x () const |
Return the reference values. More... | |
virtual tmp< Field< Type > > | y () const |
Return the dependent values. More... | |
virtual void | writeData (Ostream &os) const |
Write all table data in dictionary format. More... | |
virtual void | writeEntries (Ostream &os) const |
Write keywords only in dictionary format. More... | |
![]() | |
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 tmp< Field< Type > > | value (const scalarField &x) const |
Return value as a function of (scalar) independent variable. More... | |
virtual tmp< Field< Type > > | integrate (const scalarField &x1, const scalarField &x2) const |
Integrate between two (scalar) values. More... | |
void | writeEntries (Ostream &os) const |
Write coefficient entries in dictionary format. More... | |
Protected Member Functions | |
const interpolationWeights & | interpolator () const |
Return (demand driven) interpolator. More... | |
void | operator= (const TableBase< Type > &)=delete |
No copy assignment. More... | |
![]() | |
void | operator= (const Function1< Type > &)=delete |
No copy assignment. More... | |
Protected Attributes | |
const bounds::repeatableBounding | bounding_ |
Handling for out-of-bound values. More... | |
const word | interpolationScheme_ |
Interpolation type. More... | |
List< Tuple2< scalar, Type > > | table_ |
Table data. More... | |
autoPtr< scalarField > | tableSamplesPtr_ |
Extracted values. More... | |
autoPtr< interpolationWeights > | interpolatorPtr_ |
Interpolator method. More... | |
labelList | currentIndices_ |
Cached indices and weights. More... | |
scalarField | currentWeights_ |
Additional Inherited Members | |
![]() | |
typedef Type | returnType |
![]() | |
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) |
![]() | |
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 |
Base class for table with bounds handling, interpolation and integration.
Definition at line 60 of file TableBase.H.
TableBase | ( | const word & | name, |
const dictionary & | dict, | ||
const objectRegistry * | obrPtr = nullptr |
||
) |
Construct from dictionary - note table is not populated.
Definition at line 63 of file TableBase.C.
Copy constructor. Note: steals interpolator, tableSamples.
Definition at line 96 of file TableBase.C.
|
virtualdefault |
Destructor.
|
protected |
Return (demand driven) interpolator.
Definition at line 37 of file TableBase.C.
References forAll, Foam::New(), and samples().
void initialise | ( | ) |
Check the table for size and consistency.
Definition at line 110 of file TableBase.C.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::name(), and Foam::nl.
bool checkMinBounds | ( | const scalar | x, |
scalar & | xDash | ||
) | const |
Check minimum table bounds.
Definition at line 142 of file TableBase.C.
References Foam::bounds::CLAMP, Foam::endl(), Foam::bounds::ERROR, Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::nl, Foam::bounds::REPEAT, Foam::bounds::WARN, WarningInFunction, and x.
bool checkMaxBounds | ( | const scalar | x, |
scalar & | xDash | ||
) | const |
Check maximum table bounds.
Definition at line 200 of file TableBase.C.
References Foam::bounds::CLAMP, Foam::endl(), Foam::bounds::ERROR, Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::nl, Foam::bounds::REPEAT, Foam::bounds::WARN, WarningInFunction, and x.
|
virtual |
Convert time.
Definition at line 257 of file TableBase.C.
References TimeState::userTimeToTime().
|
virtual |
Return Table value.
Reimplemented from Function1< Type >.
Definition at line 270 of file TableBase.C.
References x.
|
virtual |
Integrate between two (scalar) values.
Reimplemented from Function1< Type >.
Definition at line 299 of file TableBase.C.
References Foam::sum().
|
virtual |
Return the reference values.
Definition at line 318 of file TableBase.C.
References fld, forAll, tmp< T >::New(), and Foam::Zero.
|
virtual |
Return the dependent values.
Definition at line 333 of file TableBase.C.
References fld, forAll, Foam::New(), and Foam::Zero.
|
virtual |
Write all table data in dictionary format.
Reimplemented from Function1< Type >.
Reimplemented in CSV< Type >, Table< Type >, and TableFile< Type >.
Definition at line 369 of file TableBase.C.
References Foam::indent(), Foam::nl, os(), and Function1< Type >::writeData().
|
virtual |
Write keywords only in dictionary format.
Used for non-inline table types
Reimplemented in CSV< Type >.
Definition at line 348 of file TableBase.C.
References Foam::bounds::CLAMP, os(), and Foam::bounds::repeatableBoundingNames.
Referenced by TableFile< Type >::writeData(), Table< Type >::writeData(), and CSV< Type >::writeEntries().
|
protected |
Handling for out-of-bound values.
Definition at line 69 of file TableBase.H.
|
protected |
Interpolation type.
Definition at line 72 of file TableBase.H.
Table data.
Definition at line 75 of file TableBase.H.
|
mutableprotected |
Extracted values.
Definition at line 78 of file TableBase.H.
|
mutableprotected |
Interpolator method.
Definition at line 81 of file TableBase.H.
|
mutableprotected |
Cached indices and weights.
Definition at line 84 of file TableBase.H.
|
mutableprotected |
Definition at line 86 of file TableBase.H.