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

functor to get pointwise dual velocity 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::SuperLatticeDphysVelocityDf3D< T, DESCRIPTOR >:
+ Collaboration diagram for olb::opti::SuperLatticeDphysVelocityDf3D< T, DESCRIPTOR >:

Public Member Functions

 SuperLatticeDphysVelocityDf3D (SuperLattice< T, DESCRIPTOR > &sLattice, const UnitConverter< T, DESCRIPTOR > &converter)
 
 SuperLatticeDphysVelocityDf3D (SuperLattice< T, DESCRIPTOR > &sLattice, const UnitConverter< T, DESCRIPTOR > &converter, SuperExtractComponentF3D< T, T > &sExtract)
 
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::SuperLatticeDphysVelocityDf3D< T, DESCRIPTOR >

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

Definition at line 81 of file dualFunctors3D.h.

Constructor & Destructor Documentation

◆ SuperLatticeDphysVelocityDf3D() [1/2]

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

Definition at line 181 of file dualFunctors3D.hh.

183 : SuperLatticePhysF3D<T,DESCRIPTOR>(sLattice, converter, DESCRIPTOR::q)
184{
185 this->getName() = "dPhysVelocityDf";
186 for (int iC = 0; iC < sLattice.getLoadBalancer().size(); ++iC) {
187 this->_blockF.emplace_back(
188 new BlockLatticeDphysVelocityDf3D<T,DESCRIPTOR>(
189 sLattice.getBlock(iC),
190 sLattice.getOverlap(),
191 converter,
192 -1, -1)
193 );
194 }
195}
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:

◆ SuperLatticeDphysVelocityDf3D() [2/2]

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

Definition at line 198 of file dualFunctors3D.hh.

202 : SuperLatticePhysF3D<T,DESCRIPTOR>(sLattice, converter, DESCRIPTOR::q)
203{
204 this->getName() = "dPhysVelocityDf";
205 for (int iC = 0; iC < sLattice.getLoadBalancer().size(); ++iC) {
206 this->_blockF.emplace_back(
207 new BlockLatticeDphysVelocityDf3D<T,DESCRIPTOR>(
208 sLattice.getBlock(iC),
209 sLattice.getOverlap(),
210 converter,
211 1, sExtract.getExtractDim())
212 );
213 }
214}

References olb::SuperF3D< T, T >::_blockF, olb::SuperLattice< T, DESCRIPTOR >::getBlock(), olb::SuperExtractComponentF3D< T, W >::getExtractDim(), 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::SuperLatticeDphysVelocityDf3D< T, DESCRIPTOR >::operator() ( T output[],
const int input[] )

Definition at line 217 of file dualFunctors3D.hh.

218{
219 auto& load = this->_sLattice.getLoadBalancer();
220 if (load.isLocal(input[0])) {
221 return this->getBlockF(load.loc(input[0]))(output, &input[1]);
222 }
223 else {
224 return false;
225 }
226}
BlockF3D< T > & getBlockF(int iCloc)
SuperLattice< T, DESCRIPTOR > & _sLattice

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