![]() |
ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
Routines to use DPD as thermostat or pair force [42]. More...
#include <config/config.hpp>#include "BoxGeometry.hpp"#include "Particle.hpp"#include "nonbonded_interactions/nonbonded_interaction_data.hpp"#include "system/System.hpp"#include "thermostat.hpp"#include <utils/Vector.hpp>#include <cmath>
Include dependency graph for dpd.hpp:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Namespaces | |
| namespace | boost |
| namespace | boost::mpi |
Functions | |
| Utils::Vector3d | dpd_pair_force (DPDParameters const ¶ms, Utils::Vector3d const &v, double dist, Utils::Vector3d const &noise) |
| Utils::Vector3d | dpd_pair_force (Utils::Vector3d const &p1_position, Utils::Vector3d const &p1_velocity, int p1_id, Utils::Vector3d const &p2_position, Utils::Vector3d const &p2_velocity, int p2_id, DPDThermostat const &dpd, BoxGeometry const &box_geo, IA_parameters const &ia_params, Utils::Vector3d const &d, double dist, double dist2) |
| Utils::Vector9d | dpd_pressure (System::System &system, boost::mpi::communicator const &comm) |
| Pressure tensor contribution of the DPD interaction. | |
| Utils::Vector3d | dpd_noise (DPDThermostat const &dpd, int pid1, int pid2) |
| Return a random uniform 3D vector with the Philox thermostat. | |
Routines to use DPD as thermostat or pair force [42].
Implementation in dpd.cpp.
Definition in file dpd.hpp.
| Utils::Vector3d dpd_noise | ( | DPDThermostat const & | dpd, |
| int | pid1, | ||
| int | pid2 | ||
| ) |
Return a random uniform 3D vector with the Philox thermostat.
Random numbers depend on
Definition at line 54 of file dpd.cpp.
References BaseThermostat::rng_counter(), BaseThermostat::rng_seed(), and stream.
Referenced by dpd_pair_force(), dpd_pressure_local(), and PressureKernel::operator()().
|
inline |
Definition at line 49 of file dpd.hpp.
References DPDParameters::cutoff, DPDParameters::gamma, DPDParameters::k, DPDParameters::pref, stream, and DPDParameters::wf.
| Utils::Vector3d dpd_pair_force | ( | Utils::Vector3d const & | p1_position, |
| Utils::Vector3d const & | p1_velocity, | ||
| int | p1_id, | ||
| Utils::Vector3d const & | p2_position, | ||
| Utils::Vector3d const & | p2_velocity, | ||
| int | p2_id, | ||
| DPDThermostat const & | dpd, | ||
| BoxGeometry const & | box_geo, | ||
| IA_parameters const & | ia_params, | ||
| Utils::Vector3d const & | d, | ||
| double | dist, | ||
| double | dist2 | ||
| ) |
Definition at line 75 of file dpd.cpp.
References dpd_noise(), dpd_pair_force(), P, stream, and BoxGeometry::velocity_difference().
Referenced by dpd_pair_force(), dpd_pressure_local(), Constraints::ShapeBasedConstraint::force(), ForcesKernel::operator()(), and PressureKernel::operator()().
| Utils::Vector9d dpd_pressure | ( | System::System & | system, |
| boost::mpi::communicator const & | comm | ||
| ) |
Pressure tensor contribution of the DPD interaction.
This calculates the total contribution of the DPD interaction to the pressure tensor, i.e. the dissipative and random (noise) forces. It's calculated as the sum over all pair virials as
\[ P^{\nu\mu} = V^{-1}\sum_i \sum_{j < i} r_{i,j}^{\nu} F_{i,j}^{\mu} \]
where \(F_{i,j}\) is the DPD force (dissipative plus noise) exerted by particle j on particle i, \(r_{i,j}\) is their distance vector and \(V\) is the box volume.
Definition at line 154 of file dpd.cpp.
References dpd_pressure_local(), Utils::flatten(), and stream.
Referenced by ScriptInterface::Analysis::Analysis::do_call_method(), and Observables::DPDPressure::operator()().