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

#include <particleOperations3D.h>

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

Public Member Functions

 PassiveAdvectionOperation3D (SuperLattice< T, DESCRIPTOR > &sLattice, UnitConverter< T, DESCRIPTOR > &converter)
 
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::PassiveAdvectionOperation3D< T, PARTICLETYPE, DESCRIPTOR >

Definition at line 68 of file particleOperations3D.h.

Constructor & Destructor Documentation

◆ PassiveAdvectionOperation3D()

template<typename T , template< typename U > class PARTICLETYPE, typename DESCRIPTOR >
olb::PassiveAdvectionOperation3D< T, PARTICLETYPE, DESCRIPTOR >::PassiveAdvectionOperation3D ( SuperLattice< T, DESCRIPTOR > & sLattice,
UnitConverter< T, DESCRIPTOR > & converter )

Definition at line 79 of file particleOperations3D.hh.

81 : _dT(converter.getPhysDeltaT()),
82 _getVel(sLattice, converter)
83{ }

Member Function Documentation

◆ applyParticleOperation()

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

Implements olb::ParticleOperation3D< T, PARTICLETYPE >.

Definition at line 86 of file particleOperations3D.hh.

88{
89 T fluidVel[] {0., 0., 0.};
90 _getVel(fluidVel, &p->getPos()[0], p->getCuboid());
91
92 T oldPos[] {p->getPos()[0], p->getPos()[1], p->getPos()[2]};
93 p->setPos({ oldPos[0]+fluidVel[0]*_dT, oldPos[1]+fluidVel[1]*_dT, oldPos[2]+fluidVel[2]*_dT });
94 std::vector<T> oldVel { p->getVel() };
95 p->setVel({ oldVel[0]+fluidVel[0], oldVel[1]+fluidVel[1], oldVel[2]+fluidVel[2] });
96}

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