OpenLB 1.7
|
SuperMax3D returns the max in each component of f on a indicated subset. More...
#include <superMax3D.h>
Public Member Functions | |
SuperMax3D (FunctorPtr< SuperF3D< T, W > > &&f, FunctorPtr< SuperIndicatorF3D< T > > &&indicatorF) | |
Constructor for determining the maximum of f on a indicated subset. | |
SuperMax3D (FunctorPtr< SuperF3D< T, W > > &&f, SuperGeometry< T, 3 > &superGeometry, const int material) | |
Constructor for determining the maximum of 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. | |
SuperMax3D returns the max in each component of f on a indicated subset.
Definition at line 37 of file superMax3D.h.
olb::SuperMax3D< T, W >::SuperMax3D | ( | FunctorPtr< SuperF3D< T, W > > && | f, |
FunctorPtr< SuperIndicatorF3D< T > > && | indicatorF ) |
Constructor for determining the maximum of f on a indicated subset.
f | functor of which the maximum is to be determined |
indicatorF | indicator describing the subset on which to evaluate f |
Definition at line 34 of file superMax3D.hh.
References olb::SuperF3D< T, W >::_blockF, olb::CuboidGeometry3D< T >::get(), olb::GenericF< T, S >::getName(), olb::LoadBalancer< T >::glob(), and olb::LoadBalancer< T >::size().
olb::SuperMax3D< T, W >::SuperMax3D | ( | FunctorPtr< SuperF3D< T, W > > && | f, |
SuperGeometry< T, 3 > & | superGeometry, | ||
const int | material ) |
Constructor for determining the maximum of f on a given material.
f | functor of which the maximum is to be determined |
superGeometry | super geometry for constructing material indicator |
material | number of the relevant material |
Definition at line 58 of file superMax3D.hh.
|
override |
Definition at line 67 of file superMax3D.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(), olb::singleton::mpi(), olb::singleton::MpiManager::reduceAndBcast(), and olb::LoadBalancer< T >::size().