OpenLB 1.7
Loading...
Searching...
No Matches
Public Member Functions | List of all members
olb::SuperDiscretizationF3D< T, W > Class Template Reference

Super functor for discretizing values by an interval (bottomBoundary,topBoundary), as well as restricting the value by setting n equal-distributed points and rounding the value to the nearest point If n = 1, there won't be restricting, and for n>=1 there will be n-1 restricting points. More...

#include <superDiscretizationF3D.h>

+ Inheritance diagram for olb::SuperDiscretizationF3D< T, W >:
+ Collaboration diagram for olb::SuperDiscretizationF3D< T, W >:

Public Member Functions

 SuperDiscretizationF3D (FunctorPtr< SuperF3D< T, W > > &&f, T bottomBoundary, T topBoundary, int n=1)
 
- 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.
 

Detailed Description

template<typename T, typename W = T>
class olb::SuperDiscretizationF3D< T, W >

Super functor for discretizing values by an interval (bottomBoundary,topBoundary), as well as restricting the value by setting n equal-distributed points and rounding the value to the nearest point If n = 1, there won't be restricting, and for n>=1 there will be n-1 restricting points.

Definition at line 38 of file superDiscretizationF3D.h.

Constructor & Destructor Documentation

◆ SuperDiscretizationF3D()

template<typename T , typename W >
olb::SuperDiscretizationF3D< T, W >::SuperDiscretizationF3D ( FunctorPtr< SuperF3D< T, W > > && f,
T bottomBoundary,
T topBoundary,
int n = 1 )
Parameters
fBlock functor
bottomBoundarybottom border of the interval the value will be restricted to
topBoundarytop border of the interval the value will be restricted to
nnumber of points the interval will be split by, and the value discretizied to

Definition at line 34 of file superDiscretizationF3D.hh.

38 :SuperF3D<T, W>(f->getSuperStructure(),f->getTargetDim()), _f(f), _bottomBoundary(bottomBoundary), _topBoundary(topBoundary), _n(n)
39{
40 this->getName()="Discretization(" + _f->getName() + ")";
41
42 LoadBalancer<T>& load = _f->getSuperStructure().getLoadBalancer();
43
44 for (int iC = 0; iC < load.size(); ++iC) {
45 this->_blockF.emplace_back(
46 new BlockDiscretizationF3D<W>(_f->getBlockF(iC), _bottomBoundary, _topBoundary, _n));
47 }
48}
std::string & getName()
read and write access to name
Definition genericF.hh:51
std::vector< std::unique_ptr< BlockF3D< W > > > _blockF
Super functors may consist of several BlockF3D<W> derived functors.

References olb::SuperF3D< T, W >::_blockF, olb::GenericF< T, S >::getName(), and olb::LoadBalancer< T >::size().

+ Here is the call graph for this function:

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