OpenLB 1.7
|
Functor that returns the Lp norm over omega of the the euklid norm of the input functor. More...
#include <superLpNorm2D.h>
Public Member Functions | |
SuperLpNorm2D (FunctorPtr< SuperF2D< T, W > > &&f, FunctorPtr< SuperIndicatorF2D< T > > &&indicatorF) | |
SuperLpNorm2D (FunctorPtr< SuperF2D< T, W > > &&f, SuperGeometry< T, 2 > &, FunctorPtr< SuperIndicatorF2D< T > > &&indicatorF) | |
Legacy constructor accepting super geometry reference. | |
SuperLpNorm2D (FunctorPtr< SuperF2D< T, W > > &&f, SuperGeometry< T, 2 > &geometry, std::vector< int > materials) | |
SuperLpNorm2D (FunctorPtr< SuperF2D< T, W > > &&f, SuperGeometry< T, 2 > &geometry, int material) | |
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) |
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) |
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) | |
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. | |
Functor that returns the Lp norm over omega of the the euklid norm of the input functor.
Maintains block level BlockLpNorm2D functors as required.
P == 0: inf norm P >= 1: p norm
Definition at line 46 of file superLpNorm2D.h.
olb::SuperLpNorm2D< T, W, P >::SuperLpNorm2D | ( | FunctorPtr< SuperF2D< T, W > > && | f, |
FunctorPtr< SuperIndicatorF2D< T > > && | indicatorF ) |
f | (non-)owning pointer or reference to SuperF2D<T,W> |
indicatorF | (non-)owning pointer or reference to SuperIndicatorF2D<T>. Describes the subset to be integrated. |
Definition at line 37 of file superLpNorm2D.hh.
References olb::SuperF2D< T, W >::_blockF, olb::GenericF< W, int >::getName(), OLB_ASSERT, and olb::LoadBalancer< T >::size().
olb::SuperLpNorm2D< T, W, P >::SuperLpNorm2D | ( | FunctorPtr< SuperF2D< T, W > > && | f, |
SuperGeometry< T, 2 > & | geometry, | ||
FunctorPtr< SuperIndicatorF2D< T > > && | indicatorF ) |
Legacy constructor accepting super geometry reference.
f | (non-)owning pointer or reference to SuperF2D<T,W> |
indicatorF | (non-)owning pointer or reference to SuperIndicatorF2D<T>. Describes the subset to be integrated. |
Definition at line 62 of file superLpNorm2D.hh.
olb::SuperLpNorm2D< T, W, P >::SuperLpNorm2D | ( | FunctorPtr< SuperF2D< T, W > > && | f, |
SuperGeometry< T, 2 > & | geometry, | ||
std::vector< int > | materials ) |
f | (non-)owning pointer or reference to SuperF2D<T,W> |
geometry | super geometry required to construct SuperIndicatorMaterial2D using materials |
materials | vector of material numbers to be included in the Lp norm |
Definition at line 70 of file superLpNorm2D.hh.
olb::SuperLpNorm2D< T, W, P >::SuperLpNorm2D | ( | FunctorPtr< SuperF2D< T, W > > && | f, |
SuperGeometry< T, 2 > & | geometry, | ||
int | material ) |
f | (non-)owning pointer or reference to SuperF2D<T,W> |
geometry | super geometry required to construct SuperIndicatorMaterial2D using material |
material | single material number to be included in the Lp norm |
Definition at line 78 of file superLpNorm2D.hh.
|
overridevirtual |
has to be implemented for 'every' derived class
Reimplemented from olb::SuperF2D< T, W >.
Definition at line 86 of file superLpNorm2D.hh.
References olb::SuperStructure< T, D >::communicate(), olb::LpNormImpl< T, W, P >::enclose(), olb::CuboidGeometry2D< T >::get(), olb::Cuboid2D< T >::getDeltaR(), olb::Cuboid2D< T >::getNx(), olb::Cuboid2D< T >::getNy(), olb::SuperF2D< T, W >::getSuperStructure(), olb::LoadBalancer< T >::glob(), olb::singleton::mpi(), olb::util::pow(), olb::singleton::MpiManager::reduceAndBcast(), and olb::LoadBalancer< T >::size().