Cantera  3.0.0
Loading...
Searching...
No Matches
Tabulated1 Class Reference

Implements a tabulated function. More...

#include <Func1.h>

Inheritance diagram for Tabulated1:
[legend]

Detailed Description

Implements a tabulated function.

The functor class is based on tabulated arrays tvals and fvals, where tvals contain independent variables and fvals are corresponding function values. Depending on configuration, the function is either interpolated linearly between the tabulated points (type "tabulated-linear" ; default), or yields the last tabulated value until a new tabulated time value is reached (type "tabulated-previous" ).

Definition at line 488 of file Func1.h.

Public Member Functions

 Tabulated1 (size_t n, const double *tvals, const double *fvals, const string &method="linear")
 Constructor.
 
 Tabulated1 (const vector< double > &params)
 Constructor uses \( 2 n \) parameters in the following order: \( [t_0, t_1, \dots, t_{n-1}, f_0, f_1, \dots, f_{n-1}] \).
 
void setMethod (const string &method)
 Set the interpolation method.
 
string write (const string &arg) const override
 Write LaTeX string describing function.
 
int ID () const override
 
string type () const override
 Returns a string describing the type of the function.
 
double eval (double t) const override
 Evaluate the function.
 
Func1duplicate () const override
 Duplicate the current function.
 
Func1derivative () const override
 Creates a derivative to the current function.
 
shared_ptr< Func1derivative3 () const override
 Creates a derivative to the current function.
 
- Public Member Functions inherited from Func1
 Func1 (shared_ptr< Func1 > f1, shared_ptr< Func1 > f2)
 
 Func1 (shared_ptr< Func1 > f1, double A)
 
 Func1 (const Func1 &right)
 
Func1operator= (const Func1 &right)
 
virtual Func1duplicate () const
 Duplicate the current function.
 
virtual int ID () const
 
virtual string type () const
 Returns a string describing the type of the function.
 
string typeName () const
 Returns a string with the class name of the functor.
 
double operator() (double t) const
 Calls method eval to evaluate the function.
 
virtual double eval (double t) const
 Evaluate the function.
 
virtual Func1derivative () const
 Creates a derivative to the current function.
 
virtual shared_ptr< Func1derivative3 () const
 Creates a derivative to the current function.
 
bool isIdentical (Func1 &other) const
 Routine to determine if two functions are the same.
 
virtual double isProportional (TimesConstant1 &other)
 
virtual double isProportional (Func1 &other)
 
virtual string write (const string &arg) const
 Write LaTeX string describing function.
 
double c () const
 Accessor function for the stored constant.
 
void setC (double c)
 Function to set the stored constant.
 
Func1func1 () const
 accessor function for m_f1
 
shared_ptr< Func1func1_shared () const
 Accessor function for m_f1_shared.
 
Func1func2 () const
 accessor function for m_f2
 
shared_ptr< Func1func2_shared () const
 Accessor function for m_f2_shared.
 
virtual int order () const
 Return the order of the function, if it makes sense.
 
Func1func1_dup () const
 
Func1func2_dup () const
 
Func1parent () const
 
void setParent (Func1 *p)
 

Private Attributes

vector< double > m_tvec
 Vector of time values.
 
vector< double > m_fvec
 Vector of function values.
 
bool m_isLinear
 Boolean indicating interpolation method.
 

Additional Inherited Members

- Protected Attributes inherited from Func1
double m_c = 0.0
 
Func1m_f1 = nullptr
 
Func1m_f2 = nullptr
 
Func1m_parent = nullptr
 
shared_ptr< Func1m_f1_shared
 
shared_ptr< Func1m_f2_shared
 

Constructor & Destructor Documentation

◆ Tabulated1() [1/2]

Tabulated1 ( size_t  n,
const double *  tvals,
const double *  fvals,
const string &  method = "linear" 
)

Constructor.

Parameters
nSize of tabulated value arrays
tvalsPointer to time value array
fvalsPointer to function value array
methodInterpolation method ('linear' or 'previous')

Definition at line 429 of file Func1.cpp.

◆ Tabulated1() [2/2]

Tabulated1 ( const vector< double > &  params)

Constructor uses \( 2 n \) parameters in the following order: \( [t_0, t_1, \dots, t_{n-1}, f_0, f_1, \dots, f_{n-1}] \).

Definition at line 445 of file Func1.cpp.

Member Function Documentation

◆ setMethod()

void setMethod ( const string &  method)

Set the interpolation method.

Parameters
methodEvaluation method. If "linear" (default), a linear interpolation between tabulated values is used; if "previous", the last tabulated value is held until a new tabulated time value is reached.
Since
New in Cantera 3.0

Definition at line 468 of file Func1.cpp.

◆ write()

string write ( const string &  arg) const
overridevirtual

Write LaTeX string describing function.

Reimplemented from Func1.

Definition at line 638 of file Func1.cpp.

◆ ID()

int ID ( ) const
inlineoverridevirtual
Deprecated:
To be removed after Cantera 3.0. Replaced by type.

Reimplemented from Func1.

Definition at line 513 of file Func1.h.

◆ type()

string type ( ) const
inlineoverridevirtual

Returns a string describing the type of the function.

Since
New in Cantera 3.0.

Reimplemented from Func1.

Definition at line 516 of file Func1.h.

◆ eval()

double eval ( double  t) const
overridevirtual

Evaluate the function.

Reimplemented from Func1.

Definition at line 480 of file Func1.cpp.

◆ duplicate()

Func1 & duplicate ( ) const
overridevirtual

Duplicate the current function.

This duplicates the current function, returning a reference to the newly created function.

Deprecated:
To be removed after Cantera 3.0. Only used by deprecated methods.

Reimplemented from Func1.

Definition at line 503 of file Func1.cpp.

◆ derivative()

Func1 & derivative ( ) const
overridevirtual

Creates a derivative to the current function.

This will create a new derivative function and return a reference to the function.

Deprecated:
To be changed after Cantera 3.0; for new behavior, see derivative3.

Reimplemented from Func1.

Definition at line 515 of file Func1.cpp.

◆ derivative3()

shared_ptr< Func1 > derivative3 ( ) const
overridevirtual

Creates a derivative to the current function.

This will create a new derivative function

Returns
shared pointer to new derivative function.
Since
New in Cantera 3.0.

Reimplemented from Func1.

Definition at line 543 of file Func1.cpp.

Member Data Documentation

◆ m_tvec

vector<double> m_tvec
private

Vector of time values.

Definition at line 528 of file Func1.h.

◆ m_fvec

vector<double> m_fvec
private

Vector of function values.

Definition at line 529 of file Func1.h.

◆ m_isLinear

bool m_isLinear
private

Boolean indicating interpolation method.

Definition at line 530 of file Func1.h.


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