OpenLB 1.7
|
Arithmetic operations for SuperF2D functors. More...
#include <superCalcF2D.h>
Public Member Functions | |
SuperCalcF2D (FunctorPtr< SuperF2D< T, W > > &&f, FunctorPtr< SuperF2D< T, W > > &&g) | |
SuperCalcF2D (W scalar, FunctorPtr< SuperF2D< T, W > > &&g) | |
SuperCalcF2D (FunctorPtr< SuperF2D< T, W > > &&f, W scalar) | |
bool | operator() (W output[], const int input[]) override |
has to be implemented for 'every' derived class | |
Public Member Functions inherited from olb::SuperF2D< T, W > | |
SuperF2D< T, W > & | operator- (SuperF2D< T, W > &rhs) |
SuperF2D< T, W > & | operator+ (SuperF2D< T, W > &rhs) |
SuperF2D< T, W > & | operator* (SuperF2D< T, W > &rhs) |
SuperF2D< T, W > & | operator/ (SuperF2D< T, W > &rhs) |
SuperStructure< T, 2 > & | getSuperStructure () |
int | getBlockFSize () const |
BlockF2D< W > & | getBlockF (int iCloc) |
bool | operator() (W output[], const int input[]) override |
Public Member Functions inherited from olb::GenericF< W, int > | |
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() (W output[]) |
wrapper that call the pure virtual operator() (T output[], const S input[]) from above | |
bool | operator() (W output[], int input0) |
bool | operator() (W output[], int input0, int input1) |
bool | operator() (W output[], int input0, int input1, int input2) |
bool | operator() (W output[], int input0, int input1, int input2, int input3) |
Protected Attributes | |
FunctorPtr< SuperF2D< T, W > > | _f |
FunctorPtr< SuperF2D< T, W > > | _g |
Protected Attributes inherited from olb::SuperF2D< T, W > | |
SuperStructure< T, 2 > & | _superStructure |
std::vector< std::unique_ptr< BlockF2D< W > > > | _blockF |
Super functors may consist of several BlockF2D<W> derived functors. | |
Additional Inherited Members | |
Public Types inherited from olb::SuperF2D< T, W > | |
using | identity_functor_type |
Public Types inherited from olb::GenericF< W, int > | |
using | targetType |
using | sourceType |
Public Attributes inherited from olb::GenericF< W, int > | |
std::shared_ptr< GenericF< W, int > > | _ptrCalcC |
memory management, frees resouces (calcClass) | |
Protected Member Functions inherited from olb::SuperF2D< T, W > | |
SuperF2D (SuperStructure< T, 2 > &superStructure, int targetDim) | |
Protected Member Functions inherited from olb::GenericF< W, int > | |
GenericF (int targetDim, int sourceDim) | |
Arithmetic operations for SuperF2D functors.
F | Function object defining the arithmetic operation to be perfomed e.g. std::minus for substraction |
Block level functors are instantiated for operations if at least one input functor exposes block level functors. See BlockCalcF2D
Global queries are not delegated to block level functors to prevent unnecessary synchronization.
Warning: Allocation error possible in functors that have multiple functor evaluation like SuperSum2D
Definition at line 55 of file superCalcF2D.h.
olb::SuperCalcF2D< T, W, F >::SuperCalcF2D | ( | FunctorPtr< SuperF2D< T, W > > && | f, |
FunctorPtr< SuperF2D< T, W > > && | g ) |
Definition at line 36 of file superCalcF2D.hh.
References olb::SuperF2D< T, W >::_blockF, olb::SuperCalcF2D< T, W, F >::_f, olb::SuperCalcF2D< T, W, F >::_g, olb::GenericF< W, int >::getName(), OLB_ASSERT, and olb::LoadBalancer< T >::size().
olb::SuperCalcF2D< T, W, F >::SuperCalcF2D | ( | W | scalar, |
FunctorPtr< SuperF2D< T, W > > && | g ) |
Definition at line 83 of file superCalcF2D.hh.
olb::SuperCalcF2D< T, W, F >::SuperCalcF2D | ( | FunctorPtr< SuperF2D< T, W > > && | f, |
W | scalar ) |
Definition at line 90 of file superCalcF2D.hh.
|
overridevirtual |
has to be implemented for 'every' derived class
Implements olb::GenericF< W, int >.
Definition at line 97 of file superCalcF2D.hh.
|
protected |
Definition at line 57 of file superCalcF2D.h.
|
protected |
Definition at line 58 of file superCalcF2D.h.