Cantera  3.1.0b1
Loading...
Searching...
No Matches

Implements a Fourier cosine/sine series. More...

#include <Func1.h>

Inheritance diagram for Fourier1:
[legend]

Detailed Description

Implements a Fourier cosine/sine series.

The functor class with type "Fourier" returns

\[ f(t) = \frac{a_0}{2} + \sum_{n=1}^N a_n \cos (n \omega t) + b_n \sin (n \omega t) \]

Definition at line 768 of file Func1.h.

Public Member Functions

 Fourier1 (size_t n, double omega, double a0, const double *a, const double *b)
 
 Fourier1 (const vector< double > &params)
 Constructor uses \( 2 n + 2 \) parameters in the following order: \( [a_0, a_1, \dots, a_n, \omega, b_1, \dots, b_n] \).
 
string type () const override
 Returns a string describing the type of the function.
 
bool isIdentical (shared_ptr< Func1 > other) const override
 Routine to determine if two functions are the same.
 
double eval (double t) const override
 Evaluate the function.
 
- Public Member Functions inherited from Func1
 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_omega
 
double m_a0_2
 
vector< double > m_ccos
 
vector< double > m_csin
 
- Protected Attributes inherited from Func1
double m_c = 0.0
 
shared_ptr< Func1m_f1
 
shared_ptr< Func1m_f2
 

Constructor & Destructor Documentation

◆ Fourier1() [1/2]

Fourier1 ( size_t  n,
double  omega,
double  a0,
const double *  a,
const double *  b 
)
inline

Definition at line 771 of file Func1.h.

◆ Fourier1() [2/2]

Fourier1 ( const vector< double > &  params)

Constructor uses \( 2 n + 2 \) parameters in the following order: \( [a_0, a_1, \dots, a_n, \omega, b_1, \dots, b_n] \).

Definition at line 269 of file Func1.cpp.

Member Function Documentation

◆ 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 784 of file Func1.h.

◆ isIdentical()

bool isIdentical ( shared_ptr< Func1 other) const
inlineoverridevirtual

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 from Func1.

Definition at line 788 of file Func1.h.

◆ eval()

double eval ( double  t) const
inlineoverridevirtual

Evaluate the function.

Reimplemented from Func1.

Definition at line 792 of file Func1.h.

Member Data Documentation

◆ m_omega

double m_omega
protected

Definition at line 804 of file Func1.h.

◆ m_a0_2

double m_a0_2
protected

Definition at line 804 of file Func1.h.

◆ m_ccos

vector<double> m_ccos
protected

Definition at line 805 of file Func1.h.

◆ m_csin

vector<double> m_csin
protected

Definition at line 805 of file Func1.h.


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