Cantera  3.1.0b1
Loading...
Searching...
No Matches
Func1 Class Reference

Base class for 'functor' classes that evaluate a function of one variable. More...

#include <Func1.h>

Inheritance diagram for Func1:
[legend]

Detailed Description

Base class for 'functor' classes that evaluate a function of one variable.

Definition at line 74 of file Func1.h.

Public Member Functions

 Func1 (shared_ptr< Func1 > f1, shared_ptr< Func1 > f2)
 
 Func1 (shared_ptr< Func1 > f1, double A)
 
Func1operator= (const Func1 &right)=delete
 
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 shared_ptr< Func1derivative () const
 Creates a derivative to the current function.
 
virtual bool isIdentical (shared_ptr< Func1 > other) const
 Routine to determine if two functions are the same.
 
virtual 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 m_c.
 
shared_ptr< Func1func1_shared () const
 Accessor function for m_f1.
 
shared_ptr< Func1func2_shared () const
 Accessor function for m_f2.
 
virtual int order () const
 Return the order of the function, if it makes sense.
 

Protected Attributes

double m_c = 0.0
 
shared_ptr< Func1m_f1
 
shared_ptr< Func1m_f2
 

Constructor & Destructor Documentation

◆ Func1() [1/2]

Func1 ( shared_ptr< Func1 f1,
shared_ptr< Func1 f2 
)
inline

Definition at line 79 of file Func1.h.

◆ Func1() [2/2]

Func1 ( shared_ptr< Func1 f1,
double  A 
)
inline

Definition at line 81 of file Func1.h.

Member Function Documentation

◆ type()

virtual string type ( ) const
inlinevirtual

Returns a string describing the type of the function.

Since
New in Cantera 3.0.

Reimplemented in Sin1, Cos1, Exp1, Log1, Pow1, Tabulated1, Const1, Sum1, Diff1, Product1, TimesConstant1, PlusConstant1, Ratio1, Composite1, Gaussian1, Poly13, Fourier1, Arrhenius1, and Periodic1.

Definition at line 90 of file Func1.h.

◆ typeName()

string typeName ( ) const

Returns a string with the class name of the functor.

Since
New in Cantera 3.0.

Definition at line 16 of file Func1.cpp.

◆ operator()()

double operator() ( double  t) const

Calls method eval to evaluate the function.

Definition at line 22 of file Func1.cpp.

◆ eval()

double eval ( double  t) const
virtual

Evaluate the function.

Reimplemented in Func1Py, Sin1, Cos1, Exp1, Log1, Pow1, Tabulated1, Const1, Sum1, Diff1, Product1, TimesConstant1, PlusConstant1, Ratio1, Composite1, Gaussian1, Poly13, Fourier1, Arrhenius1, and Periodic1.

Definition at line 28 of file Func1.cpp.

◆ derivative()

shared_ptr< Func1 > derivative ( ) const
virtual

Creates a derivative to the current function.

Returns
shared pointer to new derivative function.
Since
Starting in Cantera 3.1, the return type is a shared_ptr.

Reimplemented in Sin1, Cos1, Exp1, Log1, Pow1, Tabulated1, Const1, Sum1, Diff1, Product1, TimesConstant1, PlusConstant1, Ratio1, and Composite1.

Definition at line 33 of file Func1.cpp.

◆ isIdentical() [1/2]

bool isIdentical ( shared_ptr< Func1 other) const
virtual

Routine to determine if two functions are the same.

Two functions are the same if they are the same function. For example, either ID and stored constant are the same, or the m_f1 and m_f2 are identical if they are non-null. Functors of the base class Func1 are by default not identical, as they are used by callback functions that cannot be differentiated. In instances where exact comparisons are not implemented, false is returned to prevent false positives that could lead to incorrect simplifications of compound functors.

Reimplemented in Tabulated1, Gaussian1, Poly13, Fourier1, and Arrhenius1.

Definition at line 39 of file Func1.cpp.

◆ isIdentical() [2/2]

bool isIdentical ( Func1 other) const
virtual

Routine to determine if two functions are the same.

Deprecated:
Deprecated in Cantera 3.1 and removed thereafter; replaced by isIdentical(shared_ptr<Func1>&).
Todo:
Restore deleted copy constructor after removal.

Definition at line 63 of file Func1.cpp.

◆ isProportional() [1/2]

double isProportional ( TimesConstant1 other)
virtual
Deprecated:
Deprecated in Cantera 3.1 and removed thereafter; replaced by internal function.

Reimplemented in TimesConstant1.

Definition at line 547 of file Func1.cpp.

◆ isProportional() [2/2]

double isProportional ( Func1 other)
virtual
Deprecated:
Deprecated in Cantera 3.1 and removed thereafter; replaced by internal function.

Reimplemented in TimesConstant1.

Definition at line 558 of file Func1.cpp.

◆ write()

string write ( const string &  arg) const
virtual

Write LaTeX string describing function.

Reimplemented in Sin1, Cos1, Exp1, Log1, Pow1, Tabulated1, Const1, Sum1, Diff1, Product1, TimesConstant1, PlusConstant1, Ratio1, Composite1, and Poly13.

Definition at line 423 of file Func1.cpp.

◆ c()

double c ( ) const

Accessor function for the stored constant m_c.

accessor function for the returned constant

Definition at line 72 of file Func1.cpp.

◆ func1_shared()

shared_ptr< Func1 > func1_shared ( ) const
inline

Accessor function for m_f1.

Since
New in Cantera 3.0.

Definition at line 149 of file Func1.h.

◆ func2_shared()

shared_ptr< Func1 > func2_shared ( ) const
inline

Accessor function for m_f2.

Since
New in Cantera 3.0.

Definition at line 155 of file Func1.h.

◆ order()

int order ( ) const
virtual

Return the order of the function, if it makes sense.

Reimplemented in Sum1, Diff1, Product1, TimesConstant1, PlusConstant1, Ratio1, and Composite1.

Definition at line 77 of file Func1.cpp.

Member Data Documentation

◆ m_c

double m_c = 0.0
protected

Definition at line 163 of file Func1.h.

◆ m_f1

shared_ptr<Func1> m_f1
protected

Definition at line 164 of file Func1.h.

◆ m_f2

shared_ptr<Func1> m_f2
protected

Definition at line 165 of file Func1.h.


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