MRMD 0.4.0
Multi Resolution Molecular Dynamics
Loading...
Searching...
No Matches
mrmd::action::impl::Shake Class Reference

SHAKE algorithm (DOI: 10.1016/0021-9991(77)90098-5) RATTLE algorithm (DOI: 10.1016/0021-9991(83)90014-1) More...

#include <action/Shake.hpp>

Classes

struct  ApplyConstraint
 
struct  RemoveBondVelocity
 
struct  UnconstraintUpdate
 

Public Member Functions

KOKKOS_INLINE_FUNCTION void enforceVelocityConstraint (const idx_t idx, const idx_t jdx, const real_t eqDistance) const
 
KOKKOS_INLINE_FUNCTION void enforcePositionalConstraint (const idx_t idx, const idx_t jdx, const real_t eqDistance) const
 
KOKKOS_INLINE_FUNCTION void operator() (UnconstraintUpdate, const idx_t idx) const
 
 Shake (data::Atoms &atoms, const real_t &dt)
 

Detailed Description

SHAKE algorithm (DOI: 10.1016/0021-9991(77)90098-5) RATTLE algorithm (DOI: 10.1016/0021-9991(83)90014-1)

Constructor & Destructor Documentation

◆ Shake()

mrmd::action::impl::Shake::Shake ( data::Atoms &  atoms,
const real_t &  dt 
)
inline

Member Function Documentation

◆ enforcePositionalConstraint()

KOKKOS_INLINE_FUNCTION void mrmd::action::impl::Shake::enforcePositionalConstraint ( const idx_t  idx,
const idx_t  jdx,
const real_t  eqDistance 
) const
inline

distance between atoms

squared distances between atoms

distance between atoms after unconstrained update

squared distances between updated atoms

coefficient in quadratic equation for lamda, ax**2 + bx + c = 0

◆ enforceVelocityConstraint()

KOKKOS_INLINE_FUNCTION void mrmd::action::impl::Shake::enforceVelocityConstraint ( const idx_t  idx,
const idx_t  jdx,
const real_t  eqDistance 
) const
inline

distance vec between atoms

squared distances between atoms

◆ operator()()

KOKKOS_INLINE_FUNCTION void mrmd::action::impl::Shake::operator() ( UnconstraintUpdate  ,
const idx_t  idx 
) const
inline

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