![]() |
ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
#include <config/config.hpp>#include "velocity_verlet_npt.hpp"#include "BoxGeometry.hpp"#include "Particle.hpp"#include "cell_system/CellStructure.hpp"#include "communication.hpp"#include "errorhandling.hpp"#include "system/System.hpp"#include "thermostats/npt_inline.hpp"#include <utils/Vector.hpp>#include <boost/mpi/collectives.hpp>#include <cmath>#include <functional>
Include dependency graph for velocity_verlet_npt_MTK.cpp:Go to the source code of this file.
Functions | |
| static void | velocity_verlet_npt_propagate_p_eps (NptIsoParameters &nptiso, InstantaneousPressure &npt_inst_pressure, double time_step) |
| Scale and communicate instantaneous NpT pressure and propagate the conjugate momentum for volume. | |
| static void | velocity_verlet_npt_propagate_pos (ParticleRangeNPT const &particles, double time_step) |
| static void | velocity_verlet_npt_propagate_pos_MTK (NptIsoParameters &nptiso, ParticleRangeNPT const &particles) |
| static void | velocity_verlet_npt_propagate_AVOVA_MTK (ParticleRangeNPT const &particles, IsotropicNptThermostat const &npt_iso, double time_step, System::System &system) |
| propagete positions and the volume and add thermal fluctuation. | |
| static void | velocity_verlet_npt_propagate_vel_MTK (NptIsoParameters const &nptiso, InstantaneousPressure &npt_inst_pressure, ParticleRangeNPT const &particles) |
| void | velocity_verlet_npt_MTK_step_1 (ParticleRangeNPT const &particles, IsotropicNptThermostat const &npt_iso, double time_step, System::System &system) |
| Special propagator for velocity Verlet NpT with the 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 with the MTK method. | |
Variables | |
| static constexpr Utils::Vector3i | nptgeom_dir {{1, 2, 4}} |
| void velocity_verlet_npt_MTK_step_1 | ( | ParticleRangeNPT const & | particles, |
| IsotropicNptThermostat const & | npt_iso, | ||
| double | time_step, | ||
| System::System & | system | ||
| ) |
Special propagator for velocity Verlet NpT with the Andersen method.
Definition at line 221 of file velocity_verlet_npt_MTK.cpp.
References System::System::npt_inst_pressure, System::System::nptiso, 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 with the MTK method.
Definition at line 234 of file velocity_verlet_npt_MTK.cpp.
References System::System::npt_inst_pressure, System::System::nptiso, velocity_verlet_npt_propagate_p_eps(), velocity_verlet_npt_propagate_vel(), and velocity_verlet_npt_propagate_vel_MTK().
Referenced by integrator_step_2().
|
static |
propagete positions and the volume and add thermal fluctuation.
A and V are the position and volume propagators for half-time step. O is the propagator corresponding to Ornstein-Uhlenbeck process representing the stochastic thermostat. The time evolution follows the sequence A-V-O-V-A in this function, with propagators applied right to left.
Definition at line 124 of file velocity_verlet_npt_MTK.cpp.
References System::System::box_geo, System::System::cell_structure, comm_cart, NptIsoParameters::nptgeom_dir, System::System::nptiso, System::System::on_boxl_change(), propagate_therm0_nptiso(), propagate_thermV_nptiso(), Cells::RESORT_LOCAL, this_node, velocity_verlet_npt_propagate_pos(), and velocity_verlet_npt_propagate_pos_MTK().
Referenced by velocity_verlet_npt_MTK_step_1().
|
static |
Scale and communicate instantaneous NpT pressure and propagate the conjugate momentum for volume.
\( p_{\epsilon}(t+dt) = p_{\epsilon}(t) + 3 V (P_{\text{inst}} - P_{\text{ext}}) dt / 2 \)
Definition at line 49 of file velocity_verlet_npt_MTK.cpp.
References comm_cart, NptIsoParameters::dimension, NptIsoParameters::geometry, NptIsoParameters::nptgeom_dir, NptIsoParameters::p_epsilon, NptIsoParameters::p_ext, InstantaneousPressure::p_inst, InstantaneousPressure::p_vel, InstantaneousPressure::p_vir, NptIsoParameters::particle_number, this_node, and NptIsoParameters::volume.
Referenced by velocity_verlet_npt_MTK_step_1(), and velocity_verlet_npt_MTK_step_2().
|
static |
Definition at line 85 of file velocity_verlet_npt_MTK.cpp.
Referenced by velocity_verlet_npt_propagate_AVOVA_MTK().
|
static |
Definition at line 100 of file velocity_verlet_npt_MTK.cpp.
References NptIsoParameters::geometry, NptIsoParameters::half_dt_inv_piston, NptIsoParameters::nptgeom_dir, and NptIsoParameters::p_epsilon.
Referenced by velocity_verlet_npt_propagate_AVOVA_MTK().
|
static |
Definition at line 202 of file velocity_verlet_npt_MTK.cpp.
References NptIsoParameters::geometry, NptIsoParameters::half_dt_inv_piston_and_Nf, nptgeom_dir, NptIsoParameters::p_epsilon, InstantaneousPressure::p_vel, and Utils::sqr().
Referenced by velocity_verlet_npt_MTK_step_1(), and velocity_verlet_npt_MTK_step_2().
|
staticconstexpr |
Definition at line 40 of file velocity_verlet_npt_MTK.cpp.
Referenced by velocity_verlet_npt_propagate_vel_MTK().