OpenLB 1.7
Loading...
Searching...
No Matches
Public Member Functions | List of all members
olb::particles::dynamics::VerletParticleDynamicsRotationOnly< T, PARTICLETYPE, PCONDITION > Class Template Reference

Verlet particle dynamics only considering rotation (ignoring translation) More...

#include <particleDynamicsBase.h>

+ Inheritance diagram for olb::particles::dynamics::VerletParticleDynamicsRotationOnly< T, PARTICLETYPE, PCONDITION >:
+ Collaboration diagram for olb::particles::dynamics::VerletParticleDynamicsRotationOnly< T, PARTICLETYPE, PCONDITION >:

Public Member Functions

 VerletParticleDynamicsRotationOnly ()
 Constructor.
 
void process (Particle< T, PARTICLETYPE > &particle, T timeStepSize) override
 Procesisng step.
 
- Public Member Functions inherited from olb::particles::dynamics::ParticleDynamics< T, PARTICLETYPE >
virtual ~ParticleDynamics ()
 Destructor: virtual to enable inheritance.
 
std::string & getName ()
 read and write access to name
 
std::string const & getName () const
 read only access to name
 

Detailed Description

template<typename T, typename PARTICLETYPE, typename PCONDITION = conditions::active_particles>
class olb::particles::dynamics::VerletParticleDynamicsRotationOnly< T, PARTICLETYPE, PCONDITION >

Verlet particle dynamics only considering rotation (ignoring translation)

Definition at line 80 of file particleDynamicsBase.h.

Constructor & Destructor Documentation

◆ VerletParticleDynamicsRotationOnly()

template<typename T , typename PARTICLETYPE , typename PCONDITION >
olb::particles::dynamics::VerletParticleDynamicsRotationOnly< T, PARTICLETYPE, PCONDITION >::VerletParticleDynamicsRotationOnly ( )

Constructor.

Definition at line 120 of file particleDynamicsBase.hh.

121{
122 this->getName() = "VerletParticleDynamicsRotationOnly";
123}
std::string & getName()
read and write access to name

Member Function Documentation

◆ process()

template<typename T , typename PARTICLETYPE , typename PCONDITION >
void olb::particles::dynamics::VerletParticleDynamicsRotationOnly< T, PARTICLETYPE, PCONDITION >::process ( Particle< T, PARTICLETYPE > & particle,
T timeStepSize )
overridevirtual

Procesisng step.

Implements olb::particles::dynamics::ParticleDynamics< T, PARTICLETYPE >.

Definition at line 126 of file particleDynamicsBase.hh.

128{
129 using namespace particles::access;
130 //Check for particle condition
131 doWhenMeetingCondition<T,PARTICLETYPE,PCONDITION>( particle,[&](){
132 //Calculate angular acceleration
133 auto angularAcceleration = getAngAcceleration( particle );
134 //Verlet algorithm
136 particle, timeStepSize, timeStepSize*timeStepSize, angularAcceleration );
137 //Check if rotation matrix provided
138 if constexpr ( providesRotationMatrix<PARTICLETYPE>() ) {
139 //Update rotation matrix
140 updateRotationMatrix( particle );
141 }
142 }); //doWhenMeetingCondition<T,PARTICLETYPE,PCONDITION>
143}
Vector< T, utilities::dimensions::convert< PARTICLETYPE::d >::rotation > getAngAcceleration(Particle< T, PARTICLETYPE > particle)
void velocityVerletRotation(Particle< T, PARTICLETYPE > &particle, T delTime, T delTime2, Vector< T, utilities::dimensions::convert< PARTICLETYPE::d >::rotation > angularAcceleration)
void updateRotationMatrix(Particle< T, PARTICLETYPE > &particle)

References olb::particles::dynamics::updateRotationMatrix(), and olb::particles::dynamics::velocityVerletRotation().

+ Here is the call graph for this function:

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