ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
#include "config/config.hpp"
#include "bonded_interactions/bonded_interaction_data.hpp"
#include "magnetostatics/dipoles.hpp"
#include "nonbonded_interactions/nonbonded_interaction_data.hpp"
#include "BoxGeometry.hpp"
#include "Observable_stat.hpp"
#include "Particle.hpp"
#include "errorhandling.hpp"
#include "exclusions.hpp"
#include "forces_inline.hpp"
#include <utils/Vector.hpp>
#include <utils/math/tensor_product.hpp>
#include <boost/variant.hpp>
#include <cstdio>
#include <optional>
#include <span>
#include <string>
#include <tuple>
Go to the source code of this file.
Functions | |
void | add_non_bonded_pair_virials (Particle const &p1, Particle const &p2, Utils::Vector3d const &d, double dist, IA_parameters const &ia_params, BondedInteractionsMap const &bonded_ias, Coulomb::ShortRangeForceKernel::kernel_type const *kernel_forces, Coulomb::ShortRangePressureKernel::kernel_type const *kernel_pressure, Observable_stat &obs_pressure) |
Calculate non-bonded energies between a pair of particles. | |
std::optional< Utils::Matrix< double, 3, 3 > > | calc_bonded_virial_pressure_tensor (Bonded_IA_Parameters const &iaparams, Particle const &p1, Particle const &p2, BoxGeometry const &box_geo, Coulomb::ShortRangeForceKernel::kernel_type const *kernel) |
std::optional< Utils::Matrix< double, 3, 3 > > | calc_bonded_three_body_pressure_tensor (Bonded_IA_Parameters const &iaparams, Particle const &p1, Particle const &p2, Particle const &p3, BoxGeometry const &box_geo) |
std::optional< Utils::Matrix< double, 3, 3 > > | calc_bonded_pressure_tensor (Bonded_IA_Parameters const &iaparams, Particle const &p1, std::span< Particle * > partners, BoxGeometry const &box_geo, Coulomb::ShortRangeForceKernel::kernel_type const *kernel) |
void | add_kinetic_virials (Particle const &p1, Observable_stat &obs_pressure) |
Calculate kinetic pressure (aka energy) for one particle. | |
|
inline |
Calculate kinetic pressure (aka energy) for one particle.
[in] | p1 | particle for which to calculate pressure |
[out] | obs_pressure | pressure observable |
Definition at line 175 of file pressure_inline.hpp.
References Particle::is_virtual(), Observable_stat::kinetic, Particle::mass(), and Particle::v().
Referenced by System::System::calculate_pressure().
|
inline |
Calculate non-bonded energies between a pair of particles.
p1 | pointer to particle 1. | |
p2 | pointer to particle 2. | |
d | vector between p1 and p2. | |
dist | distance between p1 and p2. | |
ia_params | non-bonded interaction kernels. | |
bonded_ias | bonded interaction kernels. | |
kernel_forces | Coulomb force kernel. | |
kernel_pressure | Coulomb pressure kernel. | |
[in,out] | obs_pressure | pressure observable. |
Definition at line 59 of file pressure_inline.hpp.
References Observable_stat::add_non_bonded_contribution(), calc_central_radial_force(), calc_non_central_force(), Observable_stat::coulomb, do_nonbonded(), ParticleForce::f, Dipoles::get_dipoles(), Particle::mol_id(), Particle::q(), Utils::tensor_product(), thole_pair_force(), and Particle::type().
Referenced by System::System::calculate_pressure().
|
inline |
Definition at line 152 of file pressure_inline.hpp.
References calc_bonded_three_body_pressure_tensor(), calc_bonded_virial_pressure_tensor(), number_of_partners(), and runtimeWarningMsg.
Referenced by System::System::calculate_pressure().
|
inline |
Definition at line 120 of file pressure_inline.hpp.
References calc_bonded_three_body_force(), BoxGeometry::get_mi_vector(), Particle::pos(), runtimeWarningMsg, and Utils::tensor_product().
Referenced by calc_bonded_pressure_tensor().
|
inline |
Definition at line 104 of file pressure_inline.hpp.
References calc_bond_pair_force(), BoxGeometry::get_mi_vector(), Particle::pos(), and Utils::tensor_product().
Referenced by calc_bonded_pressure_tensor().