Loading...
Searching...
No Matches
TableBase< Type > Class Template Reference

Base class for table with bounds handling, interpolation and integration. More...

#include <TableBase.H>

Inheritance diagram for TableBase< Type >:
Collaboration diagram for TableBase< Type >:

Public Member Functions

 TableBase (const word &name, const dictionary &dict, const objectRegistry *obrPtr=nullptr)
 Construct from dictionary - note table is not populated.
 TableBase (const TableBase< Type > &tbl)
 Copy constructor. Note: steals interpolator, tableSamples.
virtual ~TableBase ()=default
 Destructor.
void initialise ()
 Check the table for size and consistency.
bool checkMinBounds (const scalar x, scalar &xDash) const
 Check minimum table bounds.
bool checkMaxBounds (const scalar x, scalar &xDash) const
 Check maximum table bounds.
virtual void userTimeToTime (const Time &t)
 Convert time.
virtual Type value (const scalar x) const
 Return Table value.
virtual Type integrate (const scalar x1, const scalar x2) const
 Integrate between two (scalar) values.
virtual tmp< scalarFieldx () const
 Return the reference values.
virtual tmp< Field< Type > > y () const
 Return the dependent values.
virtual void writeData (Ostream &os) const
 Write all table data in dictionary format.
virtual void writeEntries (Ostream &os) const
 Write keywords only in dictionary format.
Public Member Functions inherited from Function1< Type >
virtual const wordtype () const
 Function1 (const word &entryName, const objectRegistry *obrPtr=nullptr)
 Construct from entry name.
 Function1 (const word &entryName, const dictionary &dict, const objectRegistry *obrPtr=nullptr)
 Construct from entry name, (unused) dictionary and optional registry.
 Function1 (const Function1< Type > &rhs)
 Copy construct.
virtual tmp< Function1< Type > > clone () const =0
 Return a clone.
virtual ~Function1 ()=default
 Destructor.
virtual bool constant () const
 Is value constant (i.e. independent of x).
virtual bool good () const
 Can function be evaluated?
virtual tmp< Field< Type > > value (const scalarField &x) const
 Return value as a function of (scalar) independent variable.
virtual tmp< Field< Type > > integrate (const scalarField &x1, const scalarField &x2) const
 Integrate between two (scalar) values.
const::Foam::word typeName (Function1< label >::typeName_())
int debug (::Foam::debug::debugSwitch(Function1< label >::typeName_(), 0))
Function1< label >::dictionaryConstructorTableTypedictionaryConstructorTablePtr_ (nullptr)
std::unique_ptr< Function1< label >::dictionaryConstructorCompatTableTypedictionaryConstructorCompatTablePtr_ (nullptr)
Function1< label >::dictionaryConstructorCompatTableTypedictionaryConstructorCompatTable ()
void dictionaryConstructorTablePtr_construct (bool load)
Function1< label >::dictionaryConstructorPtr dictionaryConstructorTable (const::Foam::word &k)
const::Foam::word typeName (Function1< scalar >::typeName_())
int debug (::Foam::debug::debugSwitch(Function1< scalar >::typeName_(), 0))
Function1< scalar >::dictionaryConstructorTableTypedictionaryConstructorTablePtr_ (nullptr)
std::unique_ptr< Function1< scalar >::dictionaryConstructorCompatTableTypedictionaryConstructorCompatTablePtr_ (nullptr)
Function1< scalar >::dictionaryConstructorCompatTableTypedictionaryConstructorCompatTable ()
void dictionaryConstructorTablePtr_construct (bool load)
Function1< scalar >::dictionaryConstructorPtr dictionaryConstructorTable (const::Foam::word &k)
const::Foam::word typeName (Function1< vector >::typeName_())
int debug (::Foam::debug::debugSwitch(Function1< vector >::typeName_(), 0))
Function1< vector >::dictionaryConstructorTableTypedictionaryConstructorTablePtr_ (nullptr)
std::unique_ptr< Function1< vector >::dictionaryConstructorCompatTableTypedictionaryConstructorCompatTablePtr_ (nullptr)
Function1< vector >::dictionaryConstructorCompatTableTypedictionaryConstructorCompatTable ()
void dictionaryConstructorTablePtr_construct (bool load)
Function1< vector >::dictionaryConstructorPtr dictionaryConstructorTable (const::Foam::word &k)
const::Foam::word typeName (Function1< sphericalTensor >::typeName_())
int debug (::Foam::debug::debugSwitch(Function1< sphericalTensor >::typeName_(), 0))
Function1< sphericalTensor >::dictionaryConstructorTableTypedictionaryConstructorTablePtr_ (nullptr)
std::unique_ptr< Function1< sphericalTensor >::dictionaryConstructorCompatTableTypedictionaryConstructorCompatTablePtr_ (nullptr)
Function1< sphericalTensor >::dictionaryConstructorCompatTableTypedictionaryConstructorCompatTable ()
void dictionaryConstructorTablePtr_construct (bool load)
Function1< sphericalTensor >::dictionaryConstructorPtr dictionaryConstructorTable (const::Foam::word &k)
const::Foam::word typeName (Function1< symmTensor >::typeName_())
int debug (::Foam::debug::debugSwitch(Function1< symmTensor >::typeName_(), 0))
Function1< symmTensor >::dictionaryConstructorTableTypedictionaryConstructorTablePtr_ (nullptr)
std::unique_ptr< Function1< symmTensor >::dictionaryConstructorCompatTableTypedictionaryConstructorCompatTablePtr_ (nullptr)
Function1< symmTensor >::dictionaryConstructorCompatTableTypedictionaryConstructorCompatTable ()
void dictionaryConstructorTablePtr_construct (bool load)
Function1< symmTensor >::dictionaryConstructorPtr dictionaryConstructorTable (const::Foam::word &k)
const::Foam::word typeName (Function1< tensor >::typeName_())
int debug (::Foam::debug::debugSwitch(Function1< tensor >::typeName_(), 0))
Function1< tensor >::dictionaryConstructorTableTypedictionaryConstructorTablePtr_ (nullptr)
std::unique_ptr< Function1< tensor >::dictionaryConstructorCompatTableTypedictionaryConstructorCompatTablePtr_ (nullptr)
Function1< tensor >::dictionaryConstructorCompatTableTypedictionaryConstructorCompatTable ()
void dictionaryConstructorTablePtr_construct (bool load)
Function1< tensor >::dictionaryConstructorPtr dictionaryConstructorTable (const::Foam::word &k)
const::Foam::word typeName (Function1< scalarField >::typeName_())
int debug (::Foam::debug::debugSwitch(Function1< scalarField >::typeName_(), 0))
Function1< scalarField >::dictionaryConstructorTableTypedictionaryConstructorTablePtr_ (nullptr)
std::unique_ptr< Function1< scalarField >::dictionaryConstructorCompatTableTypedictionaryConstructorCompatTablePtr_ (nullptr)
Function1< scalarField >::dictionaryConstructorCompatTableTypedictionaryConstructorCompatTable ()
void dictionaryConstructorTablePtr_construct (bool load)
Function1< scalarField >::dictionaryConstructorPtr dictionaryConstructorTable (const::Foam::word &k)
Public Member Functions inherited from function1Base
 function1Base (const word &entryName, const objectRegistry *obrPtr=nullptr)
 Construct from entry name and optional registry.
 function1Base (const word &entryName, const dictionary &dict, const objectRegistry *obrPtr=nullptr)
 Construct from entry name, dictionary (unused) and optional registry.
 function1Base (const function1Base &rhs)
 Copy construct.
virtual ~function1Base ()
 Destructor.
const wordname () const noexcept
 The name of the entry.
const objectRegistrywhichDb () const noexcept
 Return the associated registry or nullptr.
void resetDb (const objectRegistry *obrPtr=nullptr) noexcept
 Reset the associated objectRegistry.
void resetDb (const objectRegistry &db) noexcept
 Reset the associated objectRegistry.
const objectRegistryobr () const
 Return the object registry.
bool isTime () const noexcept
 Return true if this function was created with the time database.
const Timetime () const
 Return the time database.
template<class MeshType>
const MeshType & mesh (const word &regionName=word::null) const
 Return the mesh database if this Function1 was created using a mesh.
Public Member Functions inherited from refCount
constexpr refCount () noexcept
 Default construct, initializing count to 0.
int use_count () const noexcept
 Return the current reference count.
bool unique () const noexcept
 Return true if the reference count is zero.
void operator++ () noexcept
 Increment the reference count.
void operator++ (int) noexcept
 Increment the reference count.
void operator-- () noexcept
 Decrement the reference count.
void operator-- (int) noexcept
 Decrement the reference count.

Protected Member Functions

const interpolationWeightsinterpolator () const
 Return (demand driven) interpolator.
void operator= (const TableBase< Type > &)=delete
 No copy assignment.
Protected Member Functions inherited from Function1< Type >
void operator= (const Function1< Type > &)=delete
 No copy assignment.
Protected Member Functions inherited from function1Base
void operator= (const function1Base &)=delete
 No copy assignment.

Protected Attributes

const bounds::repeatableBounding bounding_
 Handling for out-of-bound values.
const word interpolationScheme_
 Interpolation type.
List< Tuple2< scalar, Type > > table_
 Table data.
autoPtr< scalarFieldtableSamplesPtr_
 Extracted values.
autoPtr< interpolationWeightsinterpolatorPtr_
 Interpolator method.
labelList currentIndices_
 Cached indices and weights.
scalarField currentWeights_
Protected Attributes inherited from function1Base
const word name_
 Name of entry.
const objectRegistryobrPtr_
 Pointer to an object registry.

Additional Inherited Members

Public Types inherited from Function1< Type >
typedef Type returnType
 The return type.
typedef autoPtr< Function1 >(* dictionaryConstructorPtr) (const word &entryName, const dictionary &dict, const objectRegistry *obrPtr)
 Declare runtime constructor selection table.
typedef ::Foam::HashTable< dictionaryConstructorPtr, ::Foam::word, ::Foam::Hash<::Foam::word > > dictionaryConstructorTableType
typedef ::Foam::HashTable< std::pair<::Foam::word, int >, ::Foam::word, ::Foam::Hash<::Foam::word > > dictionaryConstructorCompatTableType
Static Public Member Functions inherited from Function1< Type >
static const char * typeName_ ()
 Runtime type information.
static dictionaryConstructorCompatTableTypedictionaryConstructorCompatTable ()
static void dictionaryConstructorTablePtr_construct (bool load)
static dictionaryConstructorPtr dictionaryConstructorTable (const ::Foam::word &k)
template<class Derived>
static tmp< Function1< Type > > Clone (const Derived &fun)
 Clone a Function1.
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.
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.
static autoPtr< Function1< Type > > New (const word &entryName, const dictionary &dict, const objectRegistry *obrPtr=nullptr, const bool mandatory=true)
 Selector, without fallback redirection.
static autoPtr< Function1< Type > > NewIfPresent (const word &entryName, const dictionary &dict, const word &redirectType, const objectRegistry *obrPtr=nullptr)
 An optional selector, with fallback redirection.
static autoPtr< Function1< Type > > NewIfPresent (const word &entryName, const dictionary &dict, const objectRegistry *obrPtr=nullptr)
 An optional selector, without fallback redirection.
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.
Static Public Attributes inherited from Function1< Type >
static const ::Foam::word typeName
static int debug
static dictionaryConstructorTableTypedictionaryConstructorTablePtr_
static std::unique_ptr< dictionaryConstructorCompatTableTypedictionaryConstructorCompatTablePtr_

Detailed Description

template<class Type>
class Foam::Function1Types::TableBase< Type >

Base class for table with bounds handling, interpolation and integration.

Source files

Definition at line 56 of file TableBase.H.

Constructor & Destructor Documentation

◆ TableBase() [1/2]

template<class Type>
TableBase ( const word & name,
const dictionary & dict,
const objectRegistry * obrPtr = nullptr )

Construct from dictionary - note table is not populated.

Definition at line 55 of file TableBase.C.

References bounding_, dict, Function1< Type >::Function1(), interpolationScheme_, interpolatorPtr_, function1Base::name(), table_, and tableSamplesPtr_.

Referenced by CSV< Type >::CSV(), CSV< Type >::CSV(), operator=(), Table< Type >::Table(), Table< Type >::Table(), TableBase(), TableFile< Type >::TableFile(), and TableFile< Type >::TableFile().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ TableBase() [2/2]

template<class Type>
TableBase ( const TableBase< Type > & tbl)
explicit

Copy constructor. Note: steals interpolator, tableSamples.

Definition at line 89 of file TableBase.C.

References bounding_, Function1< Type >::Function1(), interpolationScheme_, interpolatorPtr_, table_, TableBase(), and tableSamplesPtr_.

Here is the call graph for this function:

◆ ~TableBase()

template<class Type>
virtual ~TableBase ( )
virtualdefault

Destructor.

References os(), and x().

Here is the call graph for this function:

Member Function Documentation

◆ interpolator()

template<class Type>
const Foam::interpolationWeights & interpolator ( ) const
protected

Return (demand driven) interpolator.

Definition at line 30 of file TableBase.C.

References forAll, interpolationScheme_, interpolatorPtr_, interpolationWeights::New(), samples(), table_, and tableSamplesPtr_.

Referenced by integrate(), and value().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=()

template<class Type>
void operator= ( const TableBase< Type > & )
protecteddelete

No copy assignment.

References dict, function1Base::name(), and TableBase().

Here is the call graph for this function:

◆ initialise()

template<class Type>
void initialise ( )

Check the table for size and consistency.

Definition at line 103 of file TableBase.C.

References Foam::exit(), Foam::FatalError, FatalErrorInFunction, name, Foam::nl, and table_.

Referenced by CSV< Type >::CSV(), and TableFile< Type >::TableFile().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ checkMinBounds()

template<class Type>
bool checkMinBounds ( const scalar x,
scalar & xDash ) const

Check minimum table bounds.

Definition at line 134 of file TableBase.C.

References bounding_, Foam::bounds::CLAMP, Foam::endl(), Foam::bounds::ERROR, Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::nl, Foam::bounds::REPEAT, table_, Foam::bounds::WARN, WarningInFunction, and x().

Referenced by value().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ checkMaxBounds()

template<class Type>
bool checkMaxBounds ( const scalar x,
scalar & xDash ) const

Check maximum table bounds.

Definition at line 192 of file TableBase.C.

References bounding_, Foam::bounds::CLAMP, Foam::endl(), Foam::bounds::ERROR, Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::nl, Foam::bounds::REPEAT, table_, Foam::bounds::WARN, WarningInFunction, and x().

Referenced by value().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ userTimeToTime()

template<class Type>
void userTimeToTime ( const Time & t)
virtual

Convert time.

Reimplemented from function1Base.

Definition at line 250 of file TableBase.C.

References interpolatorPtr_, table_, tableSamplesPtr_, and TimeState::userTimeToTime().

Here is the call graph for this function:

◆ value()

template<class Type>
Type value ( const scalar x) const
virtual

Return Table value.

Reimplemented from Function1< Type >.

Definition at line 263 of file TableBase.C.

References checkMaxBounds(), checkMinBounds(), currentIndices_, currentWeights_, interpolator(), table_, and x().

Here is the call graph for this function:

◆ integrate()

template<class Type>
Type integrate ( const scalar x1,
const scalar x2 ) const
virtual

Integrate between two (scalar) values.

Reimplemented from Function1< Type >.

Definition at line 291 of file TableBase.C.

References currentIndices_, currentWeights_, interpolator(), Foam::sum(), and table_.

Here is the call graph for this function:

◆ x()

template<class Type>
Foam::tmp< Foam::scalarField > x ( ) const
virtual

Return the reference values.

Definition at line 311 of file TableBase.C.

References fld(), forAll, tmp< T >::New(), table_, and Foam::Zero.

Referenced by checkMaxBounds(), checkMinBounds(), pointNoise::processData(), value(), and ~TableBase().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ y()

template<class Type>
Foam::tmp< Foam::Field< Type > > y ( ) const
virtual

Return the dependent values.

Definition at line 326 of file TableBase.C.

References fld(), forAll, Foam::New(), table_, and Foam::Zero.

Referenced by pointNoise::processData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ writeData()

template<class Type>
void writeData ( Ostream & os) const
virtual

Write all table data in dictionary format.

Reimplemented from Function1< Type >.

Reimplemented in CSV< Type >, Table< Type >, and TableFile< Type >.

Definition at line 362 of file TableBase.C.

References Foam::indent(), Foam::nl, os(), table_, Function1< Type >::writeData(), and writeEntries().

Here is the call graph for this function:

◆ writeEntries()

template<class Type>
void writeEntries ( Ostream & os) const
virtual

Write keywords only in dictionary format.

Used for non-inline table types

Reimplemented from Function1< Type >.

Reimplemented in CSV< Type >.

Definition at line 341 of file TableBase.C.

References bounding_, Foam::bounds::CLAMP, interpolationScheme_, os(), and Foam::bounds::repeatableBoundingNames.

Referenced by Table< Type >::writeData(), writeData(), TableFile< Type >::writeData(), and CSV< Type >::writeEntries().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ bounding_

template<class Type>
const bounds::repeatableBounding bounding_
protected

Handling for out-of-bound values.

Definition at line 67 of file TableBase.H.

Referenced by checkMaxBounds(), checkMinBounds(), TableBase(), TableBase(), and writeEntries().

◆ interpolationScheme_

template<class Type>
const word interpolationScheme_
protected

Interpolation type.

Definition at line 72 of file TableBase.H.

Referenced by interpolator(), TableBase(), TableBase(), and writeEntries().

◆ table_

◆ tableSamplesPtr_

template<class Type>
autoPtr<scalarField> tableSamplesPtr_
mutableprotected

Extracted values.

Definition at line 82 of file TableBase.H.

Referenced by interpolator(), TableBase(), TableBase(), and userTimeToTime().

◆ interpolatorPtr_

template<class Type>
autoPtr<interpolationWeights> interpolatorPtr_
mutableprotected

Interpolator method.

Definition at line 87 of file TableBase.H.

Referenced by interpolator(), TableBase(), TableBase(), and userTimeToTime().

◆ currentIndices_

template<class Type>
labelList currentIndices_
mutableprotected

Cached indices and weights.

Definition at line 92 of file TableBase.H.

Referenced by integrate(), and value().

◆ currentWeights_

template<class Type>
scalarField currentWeights_
mutableprotected

Definition at line 94 of file TableBase.H.

Referenced by integrate(), and value().


The documentation for this class was generated from the following files:
  • src/OpenFOAM/primitives/functions/Function1/Table/TableBase.H
  • src/OpenFOAM/primitives/functions/Function1/Table/TableBase.C