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

functor to get pointwise dual dissipation density on local lattices, if globIC is not on the local processor, the returned vector is empty More...

#include <dualFunctors3D.h>

+ Inheritance diagram for olb::opti::SuperLatticeDphysDissipationDf3D< T, DESCRIPTOR >:
+ Collaboration diagram for olb::opti::SuperLatticeDphysDissipationDf3D< T, DESCRIPTOR >:

Public Member Functions

 SuperLatticeDphysDissipationDf3D (SuperLattice< T, DESCRIPTOR > &sLattice, const UnitConverter< T, DESCRIPTOR > &converter)
 
bool operator() (T output[], const int input[])
 
- Public Member Functions inherited from olb::SuperLatticePhysF3D< T, DESCRIPTOR >
UnitConverter< T, DESCRIPTOR > const & getConverter () const
 
- Public Member Functions inherited from olb::SuperLatticeF3D< T, DESCRIPTOR >
SuperLattice< T, DESCRIPTOR > & getSuperLattice ()
 
bool operator() (T output[], const int input[])
 
- Public Member Functions inherited from olb::SuperF3D< T, T >
SuperF3D< T, T > & operator- (SuperF3D< T, T > &rhs)
 
SuperF3D< T, T > & operator+ (SuperF3D< T, T > &rhs)
 
SuperF3D< T, T > & operator* (SuperF3D< T, T > &rhs)
 
SuperF3D< T, T > & operator/ (SuperF3D< T, T > &rhs)
 
SuperStructure< T, 3 > & getSuperStructure ()
 
int getBlockFSize () const
 
BlockF3D< T > & getBlockF (int iCloc)
 
bool operator() (T 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::SuperLatticeF3D< T, DESCRIPTOR >
using identity_functor_type = SuperLatticeIdentity3D<T,DESCRIPTOR>
 
- Public Types inherited from olb::SuperF3D< T, T >
using identity_functor_type
 
- 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, T >
static constexpr bool isSuper
 
static constexpr unsigned d
 
- Protected Member Functions inherited from olb::SuperLatticePhysF3D< T, DESCRIPTOR >
 SuperLatticePhysF3D (SuperLattice< T, DESCRIPTOR > &sLattice, const UnitConverter< T, DESCRIPTOR > &converter, int targetDim)
 
- Protected Member Functions inherited from olb::SuperLatticeF3D< T, DESCRIPTOR >
 SuperLatticeF3D (SuperLattice< T, DESCRIPTOR > &superLattice, int targetDim)
 
- Protected Member Functions inherited from olb::SuperF3D< T, T >
 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::SuperLatticePhysF3D< T, DESCRIPTOR >
const UnitConverter< T, DESCRIPTOR > & _converter
 
- Protected Attributes inherited from olb::SuperLatticeF3D< T, DESCRIPTOR >
SuperLattice< T, DESCRIPTOR > & _sLattice
 
- Protected Attributes inherited from olb::SuperF3D< T, T >
SuperStructure< T, 3 > & _superStructure
 
std::vector< std::unique_ptr< BlockF3D< T > > > _blockF
 Super functors may consist of several BlockF3D<W> derived functors.
 

Detailed Description

template<typename T, typename DESCRIPTOR>
class olb::opti::SuperLatticeDphysDissipationDf3D< T, DESCRIPTOR >

functor to get pointwise dual dissipation density on local lattices, if globIC is not on the local processor, the returned vector is empty

Definition at line 52 of file dualFunctors3D.h.

Constructor & Destructor Documentation

◆ SuperLatticeDphysDissipationDf3D()

template<typename T , typename DESCRIPTOR >
olb::opti::SuperLatticeDphysDissipationDf3D< T, DESCRIPTOR >::SuperLatticeDphysDissipationDf3D ( SuperLattice< T, DESCRIPTOR > & sLattice,
const UnitConverter< T, DESCRIPTOR > & converter )

Definition at line 107 of file dualFunctors3D.hh.

109 : SuperLatticePhysF3D<T,DESCRIPTOR>(sLattice, converter, DESCRIPTOR::q*DESCRIPTOR::d)
110{
111 this->getName() = "dPhysDissipationDf";
112 for (int iC = 0; iC < sLattice.getLoadBalancer().size(); ++iC) {
113 this->_blockF.emplace_back(
114 new BlockLatticeDphysDissipationDf3D<T,DESCRIPTOR>(
115 sLattice.getBlock(iC),
116 sLattice.getOverlap(),
117 converter)
118 );
119 }
120}
std::string & getName()
read and write access to name
Definition genericF.hh:51
std::vector< std::unique_ptr< BlockF3D< T > > > _blockF
Super functors may consist of several BlockF3D<W> derived functors.

References olb::SuperF3D< T, T >::_blockF, olb::SuperLattice< T, DESCRIPTOR >::getBlock(), olb::SuperStructure< T, D >::getLoadBalancer(), olb::GenericF< T, S >::getName(), and olb::SuperStructure< T, D >::getOverlap().

+ Here is the call graph for this function:

Member Function Documentation

◆ operator()()

template<typename T , typename DESCRIPTOR >
bool olb::opti::SuperLatticeDphysDissipationDf3D< T, DESCRIPTOR >::operator() ( T output[],
const int input[] )

Definition at line 123 of file dualFunctors3D.hh.

124{
125 auto& load = this->_sLattice.getLoadBalancer();
126 if (load.isLocal(input[0])) {
127 return this->getBlockF(load.loc(input[0]))(output, &input[1]);
128 }
129 else {
130 return false;
131 }
132}
BlockF3D< T > & getBlockF(int iCloc)
SuperLattice< T, DESCRIPTOR > & _sLattice

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