Cantera  3.1.0a2
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 839 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.
 
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)
 
 Func1 (const Func1 &right)=delete
 
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.
 
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.
 
shared_ptr< Func1func1_shared () const
 Accessor function for m_f1_shared.
 
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.
 

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
 
Func1m_f1 = nullptr
 
Func1m_f2 = nullptr
 
shared_ptr< Func1m_f1_shared
 
shared_ptr< Func1m_f2_shared
 

Constructor & Destructor Documentation

◆ Fourier1() [1/2]

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

Definition at line 842 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 226 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 855 of file Func1.h.

◆ eval()

double eval ( double  t) const
inlineoverridevirtual

Evaluate the function.

Reimplemented from Func1.

Definition at line 859 of file Func1.h.

Member Data Documentation

◆ m_omega

double m_omega
protected

Definition at line 871 of file Func1.h.

◆ m_a0_2

double m_a0_2
protected

Definition at line 871 of file Func1.h.

◆ m_ccos

vector<double> m_ccos
protected

Definition at line 872 of file Func1.h.

◆ m_csin

vector<double> m_csin
protected

Definition at line 872 of file Func1.h.


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