ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
#include "npt.hpp"
#include "PropagationMode.hpp"
#include "communication.hpp"
#include "config/config.hpp"
#include "electrostatics/coulomb.hpp"
#include "errorhandling.hpp"
#include "integrators/Propagation.hpp"
#include "magnetostatics/dipoles.hpp"
#include "system/System.hpp"
#include <utils/Vector.hpp>
#include <boost/mpi/collectives/broadcast.hpp>
#include <algorithm>
#include <cmath>
#include <stdexcept>
Go to the source code of this file.
Functions | |
void | synchronize_npt_state () |
Synchronizes NpT state such as instantaneous and average pressure. | |
void | npt_ensemble_init (Utils::Vector3d const &box_l, bool recalc_forces) |
void | integrator_npt_sanity_checks () |
void | npt_reset_instantaneous_virials () |
reset virial part of instantaneous pressure | |
void | npt_add_virial_contribution (double energy) |
void | npt_add_virial_contribution (const Utils::Vector3d &force, const Utils::Vector3d &d) |
Variables | |
static constexpr Utils::Vector3i | nptgeom_dir {{1, 2, 4}} |
NptIsoParameters | nptiso = {} |
void integrator_npt_sanity_checks | ( | ) |
Definition at line 122 of file npt.cpp.
References NptIsoParameters::coulomb_dipole_sanity_checks(), System::get_system(), nptiso, runtimeErrorMsg, and PropagationMode::TRANS_LANGEVIN_NPT.
Referenced by System::System::on_integration_start().
void npt_add_virial_contribution | ( | const Utils::Vector3d & | force, |
const Utils::Vector3d & | d | ||
) |
Definition at line 148 of file npt.cpp.
References System::get_system(), nptiso, NptIsoParameters::p_vir, and PropagationMode::TRANS_LANGEVIN_NPT.
void npt_add_virial_contribution | ( | double | energy | ) |
Definition at line 141 of file npt.cpp.
References System::get_system(), nptiso, NptIsoParameters::p_vir, and PropagationMode::TRANS_LANGEVIN_NPT.
Referenced by CoulombP3MImpl< FloatType, Architecture >::add_long_range_forces_gpu(), CoulombP3MImpl< FloatType, Architecture >::long_range_kernel(), DipolarP3MImpl< FloatType, Architecture >::long_range_kernel(), npt_add_virial_force_contribution(), and npt_add_virial_magnetic_contribution().
void npt_ensemble_init | ( | Utils::Vector3d const & | box_l, |
bool | recalc_forces | ||
) |
Definition at line 112 of file npt.cpp.
References NptIsoParameters::dimension, NptIsoParameters::inv_piston, NptIsoParameters::non_const_dim, nptiso, NptIsoParameters::p_inst, NptIsoParameters::p_vel, NptIsoParameters::p_vir, NptIsoParameters::piston, and NptIsoParameters::volume.
Referenced by System::System::on_integration_start().
void npt_reset_instantaneous_virials | ( | ) |
reset virial part of instantaneous pressure
Definition at line 134 of file npt.cpp.
References System::get_system(), nptiso, NptIsoParameters::p_vir, and PropagationMode::TRANS_LANGEVIN_NPT.
Referenced by System::System::calculate_forces().
void synchronize_npt_state | ( | ) |
Synchronizes NpT state such as instantaneous and average pressure.
Definition at line 44 of file npt.cpp.
References comm_cart, nptiso, NptIsoParameters::p_diff, NptIsoParameters::p_inst, and NptIsoParameters::volume.
Referenced by System::System::integrate().
|
staticconstexpr |
NptIsoParameters nptiso = {} |
Definition at line 42 of file npt.cpp.
Referenced by ScriptInterface::Integrators::VelocityVerletIsoNPT::activate(), integrator_npt_sanity_checks(), npt_add_virial_contribution(), npt_add_virial_contribution(), npt_ensemble_init(), npt_reset_instantaneous_virials(), NptIsoParameters::NptIsoParameters(), Thermostat::Thermostat::recalc_prefactors(), synchronize_npt_state(), velocity_verlet_npt_finalize_p_inst(), velocity_verlet_npt_propagate_pos(), velocity_verlet_npt_propagate_vel(), and velocity_verlet_npt_propagate_vel_final().