Detailed Description

Init the datastructures for the particles for later use of the HCSITS-Solver.

Call this kernel on all particles that will be treated with HCSITS before performing any relaxation timesteps. Use setGlobalAcceleration() to set an acceleration action uniformly across all particles (e.g. gravity)

#include <InitParticlesForHCSITS.h>

Public Member Functions

 InitParticlesForHCSITS ()
 
const walberla::mesa_pd::Vec3getGlobalAcceleration () const
 
void setGlobalAcceleration (walberla::mesa_pd::Vec3 v)
 
template<typename Accessor >
void operator() (size_t j, Accessor &ac, real_t dt)
 
template<typename Accessor >
void initializeVelocityCorrections (Accessor &ac, size_t body, Vec3 &dv, Vec3 &dw, real_t dt) const
 Calculates the initial velocity corrections of a given body. More...
 

Private Attributes

walberla::mesa_pd::Vec3 globalAcceleration_
 

Constructor & Destructor Documentation

◆ InitParticlesForHCSITS()

walberla::mesa_pd::kernel::InitParticlesForHCSITS::InitParticlesForHCSITS ( )
inline

Member Function Documentation

◆ getGlobalAcceleration()

const walberla::mesa_pd::Vec3& walberla::mesa_pd::kernel::InitParticlesForHCSITS::getGlobalAcceleration ( ) const
inline

◆ initializeVelocityCorrections()

template<typename Accessor >
void walberla::mesa_pd::kernel::InitParticlesForHCSITS::initializeVelocityCorrections ( Accessor &  ac,
size_t  body,
Vec3 dv,
Vec3 dw,
real_t  dt 
) const
inline

Calculates the initial velocity corrections of a given body.

Parameters
acThe particle accessor
bodyThe body whose velocities to time integrate
dvOn return the initial linear velocity correction.
wOn return the initial angular velocity correction.
dtThe time step size.
Returns
void

Calculates the velocity corrections effected by external forces and torques in an explicit Euler time integration of the velocities of the given body. For fixed objects the velocity corrections are set to zero. External forces and torques are reset if indicated by the settings.

◆ operator()()

template<typename Accessor >
void walberla::mesa_pd::kernel::InitParticlesForHCSITS::operator() ( size_t  j,
Accessor &  ac,
real_t  dt 
)
inline

◆ setGlobalAcceleration()

void walberla::mesa_pd::kernel::InitParticlesForHCSITS::setGlobalAcceleration ( walberla::mesa_pd::Vec3  v)
inline

Member Data Documentation

◆ globalAcceleration_

walberla::mesa_pd::Vec3 walberla::mesa_pd::kernel::InitParticlesForHCSITS::globalAcceleration_
private

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