| Cantera 3.0.0

Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
Tabulated1 Class Reference
Numerical Utilities » Functor Objects » Advanced Functors

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.
Func1 & | duplicate () const override
| Duplicate the current function.
Func1 & | derivative () const override
| Creates a derivative to the current function.
shared_ptr< Func1 > | derivative3 () 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)
Func1 & | operator= (const Func1 &right)
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.
bool | isIdentical (Func1 &other) const
| Routine to determine if two functions are the same.
virtual double | isProportional (TimesConstant1 &other)
virtual double | isProportional (Func1 &other)
double | c () const
| Accessor function for the stored constant.
void | setC (double c)
| Function to set the stored constant.
Func1 & | func1 () const
| accessor function for m_f1
shared_ptr< Func1 > | func1_shared () const
| Accessor function for m_f1_shared.
Func1 & | func2 () const
| accessor function for m_f2
shared_ptr< Func1 > | func2_shared () const
| Accessor function for m_f2_shared.
virtual int | order () const
| Return the order of the function, if it makes sense.
Func1 & | func1_dup () const
Func1 & | func2_dup () const
Func1 * | parent () 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
Func1 * | m_f1 = nullptr
Func1 * | m_f2 = nullptr
Func1 * | m_parent = nullptr
shared_ptr< Func1 > | m_f1_shared
shared_ptr< Func1 > | m_f2_shared

## Constructor & Destructor Documentation

## ◆ Tabulated1() [1/2]

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

Constructor.

Parameters

  n | Size of tabulated value arrays
  tvals | Pointer to time value array
  fvals | Pointer to function value array
  method | Interpolation 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

  method | Evaluation 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
| override virtual

Write LaTeX string describing function.

Reimplemented from Func1.

Definition at line 638 of file Func1.cpp.

## ◆ ID()

int ID | ( |  | ) | const
| inline override virtual

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
| inline override virtual

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
| override virtual

Evaluate the function.

Reimplemented from Func1.

Definition at line 480 of file Func1.cpp.

## ◆ duplicate()

Func1 & duplicate | ( |  | ) | const
| override virtual

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
| override virtual

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
| override virtual

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:

- Func1.h
- Func1.cpp