TableBase< Type > Class Template Reference

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

Inheritance diagram for TableBase< Type >:
[legend]
Collaboration diagram for TableBase< Type >:
[legend]

Public Member Functions

 TableBase (const word &name, const dictionary &dict)
 Construct from dictionary - note table is not populated. More...
 
 TableBase (const TableBase< Type > &tbl)
 Copy constructor. Note: steals interpolator, tableSamples. More...
 
virtual ~TableBase ()
 Destructor. More...
 
void check () const
 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 convertTimeBase (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< scalarFieldx () 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...
 
- Public Member Functions inherited from Function1< Type >
 TypeName ("Function1") declareRunTimeSelectionTable(autoPtr
 Runtime type information. More...
 
 Function1 (const word &entryName)
 Construct from entry name. More...
 
 Function1 (const word &entryName, const dictionary &dict)
 Construct from entry name and dictionary. More...
 
 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 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 interpolationWeightsinterpolator () const
 Return (demand driven) interpolator. More...
 
void operator= (const TableBase< Type > &)=delete
 No copy assignment. More...
 
- Protected Member Functions inherited from Function1< Type >
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< scalarFieldtableSamplesPtr_
 Extracted values. More...
 
autoPtr< interpolationWeightsinterpolatorPtr_
 Interpolator method. More...
 
labelList currentIndices_
 Cached indices and weights. More...
 
scalarField currentWeights_
 

Additional Inherited Members

- Public Types inherited from Function1< Type >
typedef Type returnType
 
- Static Public Member Functions inherited from Function1< Type >
static autoPtr< Function1< Type > > New (const word &entryName, const dictionary &dict, const word &redirectType, 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 bool mandatory=true)
 Compatibility selector, with fallback redirection. More...
 
static autoPtr< Function1< Type > > New (const word &entryName, const dictionary &dict, 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)
 An optional selector. More...
 
- Public Attributes inherited from Function1< Type >
 Function1
 
 dictionary
 
const wordentryName
 
const word const dictionarydict
 
const word const dictionary entryName
 
const word const dictionary dict
 

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 60 of file TableBase.H.

Constructor & Destructor Documentation

◆ TableBase() [1/2]

TableBase ( const word name,
const dictionary dict 
)

Construct from dictionary - note table is not populated.

Definition at line 63 of file TableBase.C.

◆ TableBase() [2/2]

TableBase ( const TableBase< Type > &  tbl)
explicit

Copy constructor. Note: steals interpolator, tableSamples.

Definition at line 90 of file TableBase.C.

◆ ~TableBase()

~TableBase ( )
virtual

Destructor.

Definition at line 104 of file TableBase.C.

Member Function Documentation

◆ interpolator()

const Foam::interpolationWeights & interpolator ( ) const
protected

Return (demand driven) interpolator.

Definition at line 37 of file TableBase.C.

References forAll, Foam::New(), and samples().

Here is the call graph for this function:

◆ operator=()

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

No copy assignment.

◆ check()

void check ( ) const

Check the table for size and consistency.

Definition at line 111 of file TableBase.C.

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

Here is the call graph for this function:

◆ checkMinBounds()

bool checkMinBounds ( const scalar  x,
scalar &  xDash 
) const

Check minimum table bounds.

Definition at line 143 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.

Here is the call graph for this function:

◆ checkMaxBounds()

bool checkMaxBounds ( const scalar  x,
scalar &  xDash 
) const

Check maximum table bounds.

Definition at line 201 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.

Here is the call graph for this function:

◆ convertTimeBase()

void convertTimeBase ( const Time t)
virtual

Convert time.

Definition at line 258 of file TableBase.C.

References TimeState::userTimeToTime().

Here is the call graph for this function:

◆ value()

Type value ( const scalar  x) const
virtual

Return Table value.

Reimplemented from Function1< Type >.

Definition at line 271 of file TableBase.C.

References x.

◆ integrate()

Type integrate ( const scalar  x1,
const scalar  x2 
) const
virtual

Integrate between two (scalar) values.

Reimplemented from Function1< Type >.

Definition at line 300 of file TableBase.C.

References Foam::sum().

Here is the call graph for this function:

◆ x()

Foam::tmp< Foam::scalarField > x ( ) const
virtual

Return the reference values.

Definition at line 319 of file TableBase.C.

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

Here is the call graph for this function:

◆ y()

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

Return the dependent values.

Definition at line 334 of file TableBase.C.

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

Here is the call graph for this function:

◆ writeData()

void writeData ( Ostream os) const
virtual

Write all table data in dictionary format.

Reimplemented from Function1< Type >.

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

Definition at line 370 of file TableBase.C.

References token::END_STATEMENT, Foam::indent(), Foam::nl, and Function1< Type >::writeData().

Here is the call graph for this function:

◆ writeEntries()

void writeEntries ( Ostream os) const
virtual

Write keywords only in dictionary format.

Used for non-inline table types

Reimplemented in CSV< Type >.

Definition at line 349 of file TableBase.C.

References Foam::bounds::CLAMP, Foam::bounds::repeatableBoundingNames, Ostream::writeEntry(), and Ostream::writeEntryIfDifferent().

Referenced by 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_

const bounds::repeatableBounding bounding_
protected

Handling for out-of-bound values.

Definition at line 69 of file TableBase.H.

◆ interpolationScheme_

const word interpolationScheme_
protected

Interpolation type.

Definition at line 72 of file TableBase.H.

◆ table_

List<Tuple2<scalar, Type> > table_
protected

Table data.

Definition at line 75 of file TableBase.H.

◆ tableSamplesPtr_

autoPtr<scalarField> tableSamplesPtr_
mutableprotected

Extracted values.

Definition at line 78 of file TableBase.H.

◆ interpolatorPtr_

autoPtr<interpolationWeights> interpolatorPtr_
mutableprotected

Interpolator method.

Definition at line 81 of file TableBase.H.

◆ currentIndices_

labelList currentIndices_
mutableprotected

Cached indices and weights.

Definition at line 84 of file TableBase.H.

◆ currentWeights_

scalarField currentWeights_
mutableprotected

Definition at line 86 of file TableBase.H.


The documentation for this class was generated from the following files: