OpenLB 1.7
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
olb::opti::BlockLatticeDphysVelocityDf3D< 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::BlockLatticeDphysVelocityDf3D< T, DESCRIPTOR >:
+ Collaboration diagram for olb::opti::BlockLatticeDphysVelocityDf3D< T, DESCRIPTOR >:

Public Member Functions

 BlockLatticeDphysVelocityDf3D (BlockLattice< T, DESCRIPTOR > &blockLattice, int overlap, const UnitConverter< T, DESCRIPTOR > &converter, int nDim, int extractDim)
 
bool operator() (T output[], const int input[])
 has to be implemented for 'every' derived class
 
- Public Member Functions inherited from olb::BlockLatticeF3D< T, DESCRIPTOR >
BlockLattice< T, DESCRIPTOR > & getBlock ()
 Copy Constructor.
 
- Public Member Functions inherited from olb::BlockF3D< T >
 ~BlockF3D () override
 virtual destructor for defined behaviour
 
virtual BlockStructureD< 3 > & getBlockStructure () const
 
BlockF3D< T > & operator- (BlockF3D< T > &rhs)
 
BlockF3D< T > & operator+ (BlockF3D< T > &rhs)
 
BlockF3D< T > & operator* (BlockF3D< T > &rhs)
 
BlockF3D< T > & operator/ (BlockF3D< T > &rhs)
 
- Public Member Functions inherited from olb::GenericF< T, 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() (T output[])
 wrapper that call the pure virtual operator() (T output[], const S input[]) from above
 
bool operator() (T output[], int input0)
 
bool operator() (T output[], int input0, int input1)
 
bool operator() (T output[], int input0, int input1, int input2)
 
bool operator() (T output[], int input0, int input1, int input2, int input3)
 

Protected Attributes

const int _overlap
 
const UnitConverter< T, DESCRIPTOR > & _converter
 
- Protected Attributes inherited from olb::BlockLatticeF3D< T, DESCRIPTOR >
BlockLattice< T, DESCRIPTOR > & _blockLattice
 
- Protected Attributes inherited from olb::BlockF3D< T >
BlockStructureD< 3 > & _blockStructure
 

Additional Inherited Members

- Public Types inherited from olb::GenericF< T, int >
using targetType
 
using sourceType
 
- Public Attributes inherited from olb::GenericF< T, int >
std::shared_ptr< GenericF< T, int > > _ptrCalcC
 memory management, frees resouces (calcClass)
 
- Protected Member Functions inherited from olb::BlockLatticeF3D< T, DESCRIPTOR >
 BlockLatticeF3D (BlockLattice< T, DESCRIPTOR > &blockLattice, int targetDim)
 
- Protected Member Functions inherited from olb::BlockF3D< T >
 BlockF3D (BlockStructureD< 3 > &blockStructure, int targetDim)
 
- Protected Member Functions inherited from olb::GenericF< T, int >
 GenericF (int targetDim, int sourceDim)
 

Detailed Description

template<typename T, typename DESCRIPTOR>
class olb::opti::BlockLatticeDphysVelocityDf3D< 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 63 of file dualFunctors3D.h.

Constructor & Destructor Documentation

◆ BlockLatticeDphysVelocityDf3D()

template<typename T , typename DESCRIPTOR >
olb::opti::BlockLatticeDphysVelocityDf3D< T, DESCRIPTOR >::BlockLatticeDphysVelocityDf3D ( BlockLattice< T, DESCRIPTOR > & blockLattice,
int overlap,
const UnitConverter< T, DESCRIPTOR > & converter,
int nDim,
int extractDim )

Definition at line 136 of file dualFunctors3D.hh.

141 : BlockLatticeF3D<T,DESCRIPTOR>(blockLattice,DESCRIPTOR::q*DESCRIPTOR::d),
142 _overlap(overlap),
143 _converter(converter),
144 _nDim(nDim), _extractDim(extractDim)
145{
146 this->getName() = "dPhysVelocityDf";
147}
std::string & getName()
read and write access to name
Definition genericF.hh:51
const UnitConverter< T, DESCRIPTOR > & _converter

References olb::GenericF< T, int >::getName().

+ Here is the call graph for this function:

Member Function Documentation

◆ operator()()

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

has to be implemented for 'every' derived class

Implements olb::GenericF< T, int >.

Definition at line 150 of file dualFunctors3D.hh.

151{
152 for (int i=0; i<DESCRIPTOR::d*DESCRIPTOR::q; i++) {
153 dVelocityDf[i] = T();
154 }
155
156 T rho;
157 T u[3];
158 /*const int localLatticeR[3] = {
159 latticeR[0] + _overlap,
160 latticeR[1] + _overlap,
161 latticeR[2] + _overlap
162 };
163
164 this->_blockLattice.get(localLatticeR).computeRhoU(rho, u);*/
165 this->_blockLattice.get(latticeR).computeRhoU(rho, u);
166
167 for (int jPop=0; jPop < DESCRIPTOR::q; ++jPop) {
168 for (int iDim=0; iDim < DESCRIPTOR::d; ++iDim) {
169 if (iDim != _extractDim && _extractDim != -1) {
170 dVelocityDf[jPop*DESCRIPTOR::d + iDim] = T(0);
171 }
172 else {
173 dVelocityDf[jPop*DESCRIPTOR::d + iDim] = (descriptors::c<DESCRIPTOR>(jPop,iDim)-u[iDim])/rho;
174 }
175 }
176 }
177 return true;
178}
BlockLattice< T, DESCRIPTOR > & _blockLattice

Member Data Documentation

◆ _converter

template<typename T , typename DESCRIPTOR >
const UnitConverter<T,DESCRIPTOR>& olb::opti::BlockLatticeDphysVelocityDf3D< T, DESCRIPTOR >::_converter
protected

Definition at line 66 of file dualFunctors3D.h.

◆ _overlap

template<typename T , typename DESCRIPTOR >
const int olb::opti::BlockLatticeDphysVelocityDf3D< T, DESCRIPTOR >::_overlap
protected

Definition at line 65 of file dualFunctors3D.h.


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