![]() |
ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
Routines to use DPD as thermostat or pair force [41]. More...
#include "config/config.hpp"#include "BoxGeometry.hpp"#include "Particle.hpp"#include "thermostat.hpp"#include <utils/Vector.hpp>
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 | |
| void | dpd_init (double kT, double time_step) |
| Utils::Vector3d | dpd_pair_force (Utils::Vector3d const &p1_position, Utils::Vector3d const &p1_velocity, int const &p1_id, Utils::Vector3d const &p2_position, Utils::Vector3d const &p2_velocity, int const &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_stress (boost::mpi::communicator const &comm) |
| Viscous stress tensor of the DPD interaction. | |
| Utils::Vector9d | dpd_pressure_local () |
| Local contribution to the pressure tensor. | |
Routines to use DPD as thermostat or pair force [41].
Implementation in dpd.cpp.
Definition in file dpd.hpp.
| void dpd_init | ( | double | kT, |
| double | time_step | ||
| ) |
Definition at line 64 of file dpd.cpp.
References System::get_system(), and System::System::nonbonded_ias.
Referenced by Thermostat::Thermostat::recalc_prefactors().
| Utils::Vector3d dpd_pair_force | ( | Utils::Vector3d const & | p1_position, |
| Utils::Vector3d const & | p1_velocity, | ||
| int const & | p1_id, | ||
| Utils::Vector3d const & | p2_position, | ||
| Utils::Vector3d const & | p2_velocity, | ||
| int const & | 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 103 of file dpd.cpp.
References DPDParameters::cutoff, IA_parameters::dpd, dpd_noise(), dpd_pair_force(), P, DPDParameters::pref, DPD_Parameters::radial, DPD_Parameters::trans, and BoxGeometry::velocity_difference().
| Utils::Vector9d dpd_pressure_local | ( | ) |
Local contribution to the pressure tensor.
Needs to be rescaled by the box volume.
Definition at line 164 of file dpd.cpp.
References dpd_viscous_stress_local(), and Utils::flatten().
Referenced by System::System::calculate_pressure().
| Utils::Vector9d dpd_stress | ( | boost::mpi::communicator const & | comm | ) |
Viscous stress tensor of the DPD interaction.
This calculates the total viscous stress contribution of the DPD interaction. It contains only the dissipative contributions of the interaction without noise. It's calculated as the sum over all pair virials as
\[ \sigma^{\nu\mu} = V^{-1}\sum_i \sum_{j < i} r_{i,j}^{\nu} (- \gamma_{i,j} v_{i,j})^{\mu} \]
where \(\gamma_{i,j}\) is the (in general tensor valued) DPD friction coefficient for particles i and j, \(v_{i,j}\), \(r_{i,j}\) are their relative velocity and distance and \(V\) is the box volume.
Definition at line 184 of file dpd.cpp.
References System::System::box_geo, dpd_viscous_stress_local(), Utils::flatten(), and System::get_system().
Referenced by ScriptInterface::Analysis::Analysis::do_call_method(), and Observables::DPDStress::operator()().