![]() |
ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
#include "config/config.hpp"#include "ParticleRange.hpp"#include "PropagationMode.hpp"#include "PropagationPredicate.hpp"#include "npt.hpp"#include "system/System.hpp"#include "thermostat.hpp"#include <utils/math/sqr.hpp>
Include dependency graph for velocity_verlet_npt.hpp:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Classes | |
| struct | PropagationPredicateNPT |
Namespaces | |
| namespace | System |
Typedefs | |
| using | ParticleRangeNPT = ParticleRangeFiltered< PropagationPredicateNPT > |
Functions | |
| void | velocity_verlet_npt_Andersen_step_1 (ParticleRangeNPT const &particles, IsotropicNptThermostat const &npt_iso, double time_step, System::System &system) |
| Special propagator for NpT isotropic for Andersen method. | |
| void | velocity_verlet_npt_MTK_step_1 (ParticleRangeNPT const &particles, IsotropicNptThermostat const &npt_iso, double time_step, System::System &system) |
| Special propagator for NpT isotropic for MTK approach. | |
| void | velocity_verlet_npt_Andersen_step_2 (ParticleRangeNPT const &particles, double time_step, System::System &system) |
| Final integration step of the Velocity Verlet+NpT integrator for Andersen method. | |
| void | velocity_verlet_npt_MTK_step_2 (ParticleRangeNPT const &particles, double time_step, System::System &system) |
| Final integration step of the Velocity Verlet+NpT integrator for Andersen method. | |
| void | velocity_verlet_npt_propagate_vel_final (NptIsoParameters const &nptiso, InstantaneousPressure &npt_inst_pressure, ParticleRangeNPT const &particles, double time_step) |
| Propagate the particle's velocity. | |
| void | velocity_verlet_npt_propagate_vel (NptIsoParameters const &nptiso, InstantaneousPressure &npt_inst_pressure, ParticleRangeNPT const &particles, double time_step) |
| Propagate the particle's velocity. | |
Definition at line 47 of file velocity_verlet_npt.hpp.
| void velocity_verlet_npt_Andersen_step_1 | ( | ParticleRangeNPT const & | particles, |
| IsotropicNptThermostat const & | npt_iso, | ||
| double | time_step, | ||
| System::System & | system | ||
| ) |
Special propagator for NpT isotropic for Andersen method.
Propagate the velocities and positions. Integration steps before force calculation of the Velocity Verlet integrator:
\[ v(t+0.5 \Delta t) = v(t) + 0.5 \Delta t \cdot F(t)/m \]
\[ x(t+\Delta t) = x(t) + \Delta t \cdot v(t+0.5 \Delta t) \]
Propagate pressure, box_length (2 times) and positions, rescale positions and velocities and check Verlet list criterion (only NpT).
Definition at line 211 of file velocity_verlet_npt_Andersen.cpp.
References stream, velocity_verlet_npt_propagate_AVOVA_And(), and velocity_verlet_npt_propagate_vel().
Referenced by integrator_step_1().
| void velocity_verlet_npt_Andersen_step_2 | ( | ParticleRangeNPT const & | particles, |
| double | time_step, | ||
| System::System & | system | ||
| ) |
Final integration step of the Velocity Verlet+NpT integrator for Andersen method.
Finalize instantaneous pressure calculation:
\[ v(t+\Delta t) = v(t+0.5 \Delta t) + 0.5 \Delta t \cdot F(t+\Delta t)/m \]
Definition at line 223 of file velocity_verlet_npt_Andersen.cpp.
References stream, velocity_verlet_npt_finalize_p_inst(), and velocity_verlet_npt_propagate_vel_final().
Referenced by integrator_step_2().
| void velocity_verlet_npt_MTK_step_1 | ( | ParticleRangeNPT const & | particles, |
| IsotropicNptThermostat const & | npt_iso, | ||
| double | time_step, | ||
| System::System & | system | ||
| ) |
Special propagator for NpT isotropic for MTK approach.
Definition at line 221 of file velocity_verlet_npt_MTK.cpp.
References stream, velocity_verlet_npt_propagate_AVOVA_MTK(), velocity_verlet_npt_propagate_p_eps(), velocity_verlet_npt_propagate_vel(), and velocity_verlet_npt_propagate_vel_MTK().
Referenced by integrator_step_1().
| void velocity_verlet_npt_MTK_step_2 | ( | ParticleRangeNPT const & | particles, |
| double | time_step, | ||
| System::System & | system | ||
| ) |
Final integration step of the Velocity Verlet+NpT integrator for Andersen method.
Definition at line 234 of file velocity_verlet_npt_MTK.cpp.
References stream, velocity_verlet_npt_propagate_p_eps(), velocity_verlet_npt_propagate_vel(), and velocity_verlet_npt_propagate_vel_MTK().
Referenced by integrator_step_2().
|
inline |
Propagate the particle's velocity.
\( v(t+0.5*dt) = v(t) + 0.5*dt * a(t) \)
Definition at line 109 of file velocity_verlet_npt.hpp.
References NptIsoParameters::geometry, NptIsoParameters::nptgeom_dir, InstantaneousPressure::p_vel, Utils::sqr(), and stream.
Referenced by velocity_verlet_npt_Andersen_step_1(), velocity_verlet_npt_MTK_step_1(), and velocity_verlet_npt_MTK_step_2().
|
inline |
Propagate the particle's velocity.
\( v(t+dt) = v(t+0.5*dt) + 0.5*dt * a(t+dt) \)
Definition at line 88 of file velocity_verlet_npt.hpp.
References NptIsoParameters::geometry, NptIsoParameters::nptgeom_dir, InstantaneousPressure::p_vel, Utils::sqr(), and stream.
Referenced by velocity_verlet_npt_Andersen_step_2().