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

#include <eul2LagrOperation3D.h>

+ Inheritance diagram for olb::Eul2LagrOperation3D< T, PARTICLETYPE, DESCRIPTOR >:
+ Collaboration diagram for olb::Eul2LagrOperation3D< T, PARTICLETYPE, DESCRIPTOR >:

Public Member Functions

 Eul2LagrOperation3D (SuperLattice< T, DESCRIPTOR > &sLattice, int nParticles=1)
 
virtual void applyParticleOperation (typename std::deque< PARTICLETYPE< T > >::iterator p, ParticleSystem3D< T, PARTICLETYPE > &pSys) override
 

Additional Inherited Members

- Protected Member Functions inherited from olb::ParticleOperation3D< T, PARTICLETYPE >
 ParticleOperation3D ()
 

Detailed Description

template<typename T, template< typename U > class PARTICLETYPE, typename DESCRIPTOR>
class olb::Eul2LagrOperation3D< T, PARTICLETYPE, DESCRIPTOR >

Definition at line 39 of file eul2LagrOperation3D.h.

Constructor & Destructor Documentation

◆ Eul2LagrOperation3D()

template<typename T , template< typename U > class PARTICLETYPE, typename DESCRIPTOR >
olb::Eul2LagrOperation3D< T, PARTICLETYPE, DESCRIPTOR >::Eul2LagrOperation3D ( SuperLattice< T, DESCRIPTOR > & sLattice,
int nParticles = 1 )

Definition at line 37 of file eul2LagrOperation3D.hh.

38 : _nParticles(nParticles),
39 _sLattice(sLattice)
40{ }

Member Function Documentation

◆ applyParticleOperation()

template<typename T , template< typename U > class PARTICLETYPE, typename DESCRIPTOR >
void olb::Eul2LagrOperation3D< T, PARTICLETYPE, DESCRIPTOR >::applyParticleOperation ( typename std::deque< PARTICLETYPE< T > >::iterator p,
ParticleSystem3D< T, PARTICLETYPE > & pSys )
overridevirtual

Implements olb::ParticleOperation3D< T, PARTICLETYPE >.

Definition at line 43 of file eul2LagrOperation3D.hh.

45{
46 int globic = pSys.getIGeometry();
47 int locIC = this->_sLattice.getLoadBalancer().loc(globic);
48
49 // particle's physical position
50 T physPosP[] { p->getPos()[0], p->getPos()[1], p->getPos()[2] };
51
52 // particle's dimensionless position, rounded at neighbouring voxel
53 int latticeRoundedPosP[] {0, 0, 0};
54 this->_sLattice.getCuboidGeometry().get(globic).getLatticeR( latticeRoundedPosP, physPosP );
55
56 auto eul2LagrRho = _sLattice.getBlock(locIC).get (
57 latticeRoundedPosP[0], latticeRoundedPosP[1], latticeRoundedPosP[2] ).template getFieldPointer<descriptors::EUL2LAGR>();
58 eul2LagrRho[0] += 1. / _nParticles;
59}

References olb::ParticleSystem3D< T, PARTICLETYPE >::getIGeometry().

+ Here is the call graph for this function:

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