|
faunus
|
Base class for force moves, e.g., molecular dynamics or Langevin dynamics. More...
#include <forcemove.h>


Public Member Functions | |
| double | bias (Change &, double, double) override |
| Extra energy not captured by the Hamiltonian. More... | |
| const PointVector & | getForces () const |
| const PointVector & | getVelocities () const |
Public Member Functions inherited from Faunus::move::Move | |
| void | from_json (const json &j) |
| void | to_json (json &j) const |
| JSON report w. statistics, output etc. | |
| void | move (Change &change) |
| Perform move and modify given change object. | |
| void | accept (Change &change) |
| void | reject (Change &change) |
| void | setRepeat (int repeat) |
| Move (Space &spc, std::string_view name, std::string_view cite) | |
| bool | isStochastic () const |
| True if move should be called stochastically. | |
| const std::string & | getName () const |
Protected Member Functions | |
| size_t | resizeForcesAndVelocities () |
| Resize velocities and forces to match number of active particles. More... | |
| void | generateVelocities () |
| Generate initial velocities and zero forces. More... | |
| void | _to_json (json &j) const override |
| Extra info for report if needed. | |
| void | _from_json (const json &j) override |
| Extra info for report if needed. | |
| void | _move (Change &change) override |
| Perform move and modify change object. | |
| ForceMove (Space &spc, const std::string &name, const std::string &cite, std::shared_ptr< IntegratorBase > integrator, unsigned int nsteps) | |
Protected Attributes | |
| std::shared_ptr< IntegratorBase > | integrator |
| unsigned int | number_of_steps |
| number of integration steps to perform during a single MC move | |
| PointVector | velocities |
| Vector of velocities matching each active particle in Space. | |
| PointVector | forces |
| Vector of forces matching each active particle in Space. | |
Protected Attributes inherited from Faunus::move::Move | |
| const std::string | name |
| Name of move. | |
| Space & | spc |
| Space to operate on. | |
| int | repeat = 1 |
| unsigned long | number_of_attempted_moves = 0 |
| Counter for total number of move attempts. | |
Additional Inherited Members | |
Static Public Attributes inherited from Faunus::move::Move | |
| static Random | slump |
| Shared for all moves. | |
Base class for force moves, e.g., molecular dynamics or Langevin dynamics.
Orchestrate execution of integrators, thermostats, etc. Store vectors for velocities and forces, which are not part of the particle vector in the space.
|
overridevirtual |
Extra energy not captured by the Hamiltonian.
This can be used to introduce an extra energy change that will be added to the total trial energy in the Metropolis acceptance criterion.
Typically used to include bias not contained in Energy::Hamiltonian.
| change | Change made to the system |
| old_energy | Energy from hamiltonian before the change (kT) |
| new_energy | Energy from hamiltonian after the change (kT) |
Reimplemented from Faunus::move::Move.
|
protected |
Generate initial velocities and zero forces.
|
protected |
Resize velocities and forces to match number of active particles.
Upon resizing, new elements in forces and velocities are zeroed.
1.8.13