template<typename InternalForce, typename ... ExtraForce>
hub::force::Interactions class

Interaction adapter. Put all interactions together.

Template parameters
InternalForce Internal force type
ExtraForce External force types

Public static variables

static bool ext_vel_dep constexpr
Any external velocity dependent force?
static bool ext_vel_indep constexpr
Any external velocity independent force?

Public static functions

template<typename Particles>
static void eval_acc(Particles const& particles, typename Particles::VectorArray& acceleration)
template<typename Particles>
static void eval_extra_acc(Particles const& particles, typename Particles::VectorArray& acceleration)
template<typename Particles>
static void eval_extra_vel_dep_acc(Particles const& particles, typename Particles::VectorArray& acceleration)
template<typename Particles>
static void eval_extra_vel_indep_acc(Particles const& particles, typename Particles::VectorArray& acceleration)
template<typename Particles>
static void eval_newtonian_acc(Particles const& particles, typename Particles::VectorArray& acceleration)

Function documentation

template<typename InternalForce, typename ... ExtraForce> template<typename Particles>
static void hub::force::Interactions<InternalForce, ExtraForce>::eval_acc(Particles const& particles, typename Particles::VectorArray& acceleration)

Template parameters
Particles Type of the particle system.
Parameters
particles in The particle system need to be evaluated.
acceleration out The output of the evaluated acceleration.

Evaluate the total acceleration of the current state of a given particle system.

template<typename InternalForce, typename ... ExtraForce> template<typename Particles>
static void hub::force::Interactions<InternalForce, ExtraForce>::eval_extra_acc(Particles const& particles, typename Particles::VectorArray& acceleration)

Template parameters
Particles Type of the particle system.
Parameters
particles in The particle system need to be evaluated.
acceleration out The output of the evaluated acceleration.

Evaluate the external acceleration of the current state of a given particle system.

template<typename InternalForce, typename ... ExtraForce> template<typename Particles>
static void hub::force::Interactions<InternalForce, ExtraForce>::eval_extra_vel_dep_acc(Particles const& particles, typename Particles::VectorArray& acceleration)

Template parameters
Particles Type of the particle system.
Parameters
particles in The particle system need to be evaluated.
acceleration out The output of the evaluated acceleration.

Evaluate the external velocity dependent acceleration of the current state of a given particle system.

template<typename InternalForce, typename ... ExtraForce> template<typename Particles>
static void hub::force::Interactions<InternalForce, ExtraForce>::eval_extra_vel_indep_acc(Particles const& particles, typename Particles::VectorArray& acceleration)

Template parameters
Particles Type of the particle system.
Parameters
particles in The particle system need to be evaluated.
acceleration out The output of the evaluated acceleration.

Evaluate the external velocity independent acceleration of the current state of a given particle system.

template<typename InternalForce, typename ... ExtraForce> template<typename Particles>
static void hub::force::Interactions<InternalForce, ExtraForce>::eval_newtonian_acc(Particles const& particles, typename Particles::VectorArray& acceleration)

Template parameters
Particles Type of the particle system.
Parameters
particles in The particle system need to be evaluated.
acceleration out The output of the evaluated acceleration.

Evaluate the internal newtonian acceleration of the current state of a given particle system.