OpenLB 1.7
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Attributes | List of all members
olb::Cosinus< T, S > Class Template Reference

Cosinus: Cosinus with period and amplitude. More...

#include <analyticalF.h>

+ Inheritance diagram for olb::Cosinus< T, S >:
+ Collaboration diagram for olb::Cosinus< T, S >:

Public Types

template<typename V , typename U >
using exchange_type = Cosinus<V,U>
 
- Public Types inherited from olb::AnalyticalF< 1, T, S >
using identity_functor_type
 
- Public Types inherited from olb::GenericF< T, S >
using targetType = T
 
using sourceType = S
 

Public Member Functions

 Cosinus (T period=1, T amplitude=1)
 
bool operator() (T output[], const S x[]) override
 has to be implemented for 'every' derived class
 
template<typename V , typename U >
auto copyAs () const
 
- Public Member Functions inherited from olb::AnalyticalF< 1, T, S >
AnalyticalF< D, T, S > & operator- (AnalyticalF< D, T, S > &rhs)
 
AnalyticalF< D, T, S > & operator+ (AnalyticalF< D, T, S > &rhs)
 
AnalyticalF< D, T, S > & operator* (AnalyticalF< D, T, S > &rhs)
 
AnalyticalF< D, T, S > & operator/ (AnalyticalF< D, T, S > &rhs)
 
- Public Member Functions inherited from olb::GenericF< T, S >
virtual ~GenericF ()=default
 
int getSourceDim () const
 read only access to member variable _m
 
int getTargetDim () const
 read only access to member variable _n
 
std::string & getName ()
 read and write access to name
 
std::string const & getName () const
 read only access to name
 
bool operator() (T output[])
 wrapper that call the pure virtual operator() (T output[], const S input[]) from above
 
bool operator() (T output[], S input0)
 
bool operator() (T output[], S input0, S input1)
 
bool operator() (T output[], S input0, S input1, S input2)
 
bool operator() (T output[], S input0, S input1, S input2, S input3)
 

Protected Attributes

_period
 
_amplitude
 

Additional Inherited Members

- Public Attributes inherited from olb::GenericF< T, S >
std::shared_ptr< GenericF< T, S > > _ptrCalcC
 memory management, frees resouces (calcClass)
 
- Static Public Attributes inherited from olb::AnalyticalF< 1, T, S >
static constexpr unsigned dim
 
- Protected Member Functions inherited from olb::AnalyticalF< 1, T, S >
 AnalyticalF (int n)
 
- Protected Member Functions inherited from olb::GenericF< T, S >
 GenericF (int targetDim, int sourceDim)
 

Detailed Description

template<typename T, typename S>
class olb::Cosinus< T, S >

Cosinus: Cosinus with period and amplitude.

Definition at line 461 of file analyticalF.h.

Member Typedef Documentation

◆ exchange_type

template<typename T , typename S >
template<typename V , typename U >
using olb::Cosinus< T, S >::exchange_type = Cosinus<V,U>

Definition at line 470 of file analyticalF.h.

Constructor & Destructor Documentation

◆ Cosinus()

template<typename T , typename S >
olb::Cosinus< T, S >::Cosinus ( T period = 1,
T amplitude = 1 )

Definition at line 464 of file analyticalF.hh.

465 : AnalyticalF1D<T,S>(1),
466 _period(period),
467 _amplitude(amplitude)
468{
469 this->getName() = "Cosinus";
470}
std::string & getName()
read and write access to name
Definition genericF.hh:51

References olb::GenericF< T, S >::getName().

+ Here is the call graph for this function:

Member Function Documentation

◆ copyAs()

template<typename T , typename S >
template<typename V , typename U >
auto olb::Cosinus< T, S >::copyAs ( ) const
inline

Definition at line 473 of file analyticalF.h.

473 {
474 return exchange_type<V,U>(_period, _amplitude);
475 }

References olb::Cosinus< T, S >::_amplitude, and olb::Cosinus< T, S >::_period.

◆ operator()()

template<typename T , typename S >
bool olb::Cosinus< T, S >::operator() ( T output[],
const S input[] )
overridevirtual

has to be implemented for 'every' derived class

Implements olb::GenericF< T, S >.

Definition at line 473 of file analyticalF.hh.

474{
475 output[0] = _amplitude * util::cos((x[0] / _period) * T(2) * M_PI);
476 return true;
477}
#define M_PI
ADf< T, DIM > cos(const ADf< T, DIM > &a)
Definition aDiff.h:578

References olb::util::cos(), and M_PI.

+ Here is the call graph for this function:

Member Data Documentation

◆ _amplitude

template<typename T , typename S >
T olb::Cosinus< T, S >::_amplitude
protected

Definition at line 464 of file analyticalF.h.

◆ _period

template<typename T , typename S >
T olb::Cosinus< T, S >::_period
protected

Definition at line 463 of file analyticalF.h.


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