OpenLB 1.7
|
SuperSum3D sums all components of f over a indicated subset. More...
#include <superIntegralF3D.h>
Public Member Functions | |
SuperSum3D (FunctorPtr< SuperF3D< T, W > > &&f, FunctorPtr< SuperIndicatorF3D< T > > &&indicatorF) | |
Constructor for summing f on a indicated subset. | |
SuperSum3D (FunctorPtr< SuperF3D< T, W > > &&f, SuperGeometry< T, 3 > &superGeometry, const int material) | |
Constructor for summing f on a given material. | |
bool | operator() (W output[], const int input[]) override |
Public Member Functions inherited from olb::SuperF3D< T, W > | |
SuperF3D< T, W > & | operator- (SuperF3D< T, W > &rhs) |
SuperF3D< T, W > & | operator+ (SuperF3D< T, W > &rhs) |
SuperF3D< T, W > & | operator* (SuperF3D< T, W > &rhs) |
SuperF3D< T, W > & | operator/ (SuperF3D< T, W > &rhs) |
SuperStructure< T, 3 > & | getSuperStructure () |
int | getBlockFSize () const |
BlockF3D< W > & | getBlockF (int iCloc) |
bool | operator() (W output[], const int input[]) |
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) |
Additional Inherited Members | |
Public Types inherited from olb::SuperF3D< T, W > | |
using | identity_functor_type = SuperIdentity3D<T,W> |
Public Types inherited from olb::GenericF< T, S > | |
using | targetType = T |
using | sourceType = S |
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::SuperF3D< T, W > | |
static constexpr bool | isSuper = true |
static constexpr unsigned | d = 3 |
Protected Member Functions inherited from olb::SuperF3D< T, W > | |
SuperF3D (SuperStructure< T, 3 > &superStructure, int targetDim) | |
Protected Member Functions inherited from olb::GenericF< T, S > | |
GenericF (int targetDim, int sourceDim) | |
Protected Attributes inherited from olb::SuperF3D< T, W > | |
SuperStructure< T, 3 > & | _superStructure |
std::vector< std::unique_ptr< BlockF3D< W > > > | _blockF |
Super functors may consist of several BlockF3D<W> derived functors. | |
SuperSum3D sums all components of f over a indicated subset.
Definition at line 39 of file superIntegralF3D.h.
olb::SuperSum3D< T, W >::SuperSum3D | ( | FunctorPtr< SuperF3D< T, W > > && | f, |
FunctorPtr< SuperIndicatorF3D< T > > && | indicatorF ) |
Constructor for summing f on a indicated subset.
f | functor to be summed |
indicatorF | indicator describing the subset on which to evaluate f |
Definition at line 39 of file superIntegralF3D.hh.
References olb::GenericF< T, S >::getName().
olb::SuperSum3D< T, W >::SuperSum3D | ( | FunctorPtr< SuperF3D< T, W > > && | f, |
SuperGeometry< T, 3 > & | superGeometry, | ||
const int | material ) |
Constructor for summing f on a given material.
f | functor to be summed |
superGeometry | super geometry for constructing material indicator |
material | number of the relevant material |
Definition at line 61 of file superIntegralF3D.hh.
|
override |
Definition at line 70 of file superIntegralF3D.hh.
References olb::SuperStructure< T, D >::communicate(), olb::CuboidGeometry3D< T >::get(), olb::Cuboid3D< T >::getNx(), olb::Cuboid3D< T >::getNy(), olb::Cuboid3D< T >::getNz(), olb::SuperF3D< T, W >::getSuperStructure(), olb::LoadBalancer< T >::glob(), and olb::LoadBalancer< T >::size().