|
faunus
|
Symmetric Langevin velocity-Verlet method (BAOAB) More...
#include <forcemove.h>


Public Member Functions | |
| LangevinVelocityVerlet (Space &spc, Energy::EnergyTerm &energy) | |
| LangevinVelocityVerlet (Space &spc, Energy::EnergyTerm &energy, double time_step, double friction_coefficient) | |
| LangevinVelocityVerlet (Space &spc, Energy::EnergyTerm &energy, const json &j) | |
| void | step (PointVector &velocities, PointVector &forces) override |
| void | from_json (const json &j) override |
| void | to_json (json &j) const override |
Additional Inherited Members | |
Protected Member Functions inherited from Faunus::move::IntegratorBase | |
| IntegratorBase (Space &, Energy::EnergyTerm &) | |
Protected Attributes inherited from Faunus::move::IntegratorBase | |
| Space & | spc |
| Energy::EnergyTerm & | energy |
Symmetric Langevin velocity-Verlet method (BAOAB)
The integrator can conduct normal velocity-Verlet, when friction_coefficient = 0.
|
overridevirtual |
| velocities | Vector of velocities |
| forces | Vector of forces |
auto rng = zip(spc.p, velocities, forces);
for (auto&& [particle, velicity, force] : rng) { ... };
std::for_each(rng.begin(), rng.end(), [](auto &&tuple){
auto&& [particle, velicity, force] = tuple;
...
}};
Implements Faunus::move::IntegratorBase.
1.8.13