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::Vec3 & | getGlobalAcceleration () 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_ |
|
inline |
|
inline |
|
inline |
Calculates the initial velocity corrections of a given body.
ac | The particle accessor |
body | The body whose velocities to time integrate |
dv | On return the initial linear velocity correction. |
w | On return the initial angular velocity correction. |
dt | The time step size. |
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.
|
inline |
|
inline |
|
private |