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

AnalyticalF are applications from DD to XD, where X is set by the constructor. More...

#include <analyticalBaseF.h>

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

Public Types

using identity_functor_type = AnalyticalIdentity<D,T,S>
 
- Public Types inherited from olb::GenericF< T, S >
using targetType = T
 
using sourceType = S
 

Public Member Functions

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
 
virtual bool operator() (T output[], const S input[])=0
 has to be implemented for 'every' derived class
 
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)
 

Static Public Attributes

static constexpr unsigned dim = D
 

Protected Member Functions

 AnalyticalF (int n)
 
- Protected Member Functions inherited from olb::GenericF< T, S >
 GenericF (int targetDim, int sourceDim)
 

Additional Inherited Members

- Public Attributes inherited from olb::GenericF< T, S >
std::shared_ptr< GenericF< T, S > > _ptrCalcC
 memory management, frees resouces (calcClass)
 

Detailed Description

template<unsigned D, typename T, typename S>
class olb::AnalyticalF< D, T, S >

AnalyticalF are applications from DD to XD, where X is set by the constructor.

Definition at line 46 of file analyticalBaseF.h.

Member Typedef Documentation

◆ identity_functor_type

template<unsigned D, typename T , typename S >
using olb::AnalyticalF< D, T, S >::identity_functor_type = AnalyticalIdentity<D,T,S>

Definition at line 54 of file analyticalBaseF.h.

Constructor & Destructor Documentation

◆ AnalyticalF()

template<unsigned D, typename T , typename S >
olb::AnalyticalF< D, T, S >::AnalyticalF ( int n)
inlineprotected

Definition at line 49 of file analyticalBaseF.h.

49 : GenericF<T,S>(n,D)
50 {
51 static_assert(D==1 || D==2 || D==3, "Only D=1,2,3 allowed.");
52 }

Member Function Documentation

◆ operator*()

template<unsigned D, typename T , typename S >
AnalyticalF< D, T, S > & olb::AnalyticalF< D, T, S >::operator* ( AnalyticalF< D, T, S > & rhs)

Definition at line 180 of file analyticCalcF.hh.

181{
182 auto tmp = std::make_shared< AnalyticCalcMultiplication<D,T,S> >(*this,rhs);
183 this->_ptrCalcC = tmp;
184 return *tmp;
185}
std::shared_ptr< GenericF< T, S > > _ptrCalcC
memory management, frees resouces (calcClass)
Definition genericF.h:71

◆ operator+()

template<unsigned D, typename T , typename S >
AnalyticalF< D, T, S > & olb::AnalyticalF< D, T, S >::operator+ ( AnalyticalF< D, T, S > & rhs)

Definition at line 164 of file analyticCalcF.hh.

165{
166 auto tmp = std::make_shared< AnalyticCalcPlus<D,T,S> >(*this,rhs);
167 this->_ptrCalcC = tmp;
168 return *tmp;
169}

◆ operator-()

template<unsigned D, typename T , typename S >
AnalyticalF< D, T, S > & olb::AnalyticalF< D, T, S >::operator- ( AnalyticalF< D, T, S > & rhs)

Definition at line 172 of file analyticCalcF.hh.

173{
174 auto tmp = std::make_shared< AnalyticCalcMinus<D,T,S> >(*this,rhs);
175 this->_ptrCalcC = tmp;
176 return *tmp;
177}

◆ operator/()

template<unsigned D, typename T , typename S >
AnalyticalF< D, T, S > & olb::AnalyticalF< D, T, S >::operator/ ( AnalyticalF< D, T, S > & rhs)

Definition at line 188 of file analyticCalcF.hh.

189{
190 auto tmp = std::make_shared< AnalyticCalcDivision<D,T,S> >(*this,rhs);
191 this->_ptrCalcC = tmp;
192 return *tmp;
193}

Member Data Documentation

◆ dim

template<unsigned D, typename T , typename S >
constexpr unsigned olb::AnalyticalF< D, T, S >::dim = D
staticconstexpr

Definition at line 55 of file analyticalBaseF.h.


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