![]() |
ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
Force calculation. More...
#include <config/config.hpp>#include "forces.hpp"#include "BoxGeometry.hpp"#include "actor/visitors.hpp"#include "bond_breakage/bond_breakage.hpp"#include "bonded_interactions/bonded_interaction_data.hpp"#include "bonded_interactions/thermalized_bond_kernel.hpp"#include "electrostatics/coulomb_inline.hpp"#include "immersed_boundary/ibm_tribend.hpp"#include "immersed_boundary/ibm_triel.hpp"#include "magnetostatics/dipoles_inline.hpp"#include "nonbonded_interactions/bmhtf-nacl.hpp"#include "nonbonded_interactions/buckingham.hpp"#include "nonbonded_interactions/gaussian.hpp"#include "nonbonded_interactions/gay_berne.hpp"#include "nonbonded_interactions/hat.hpp"#include "nonbonded_interactions/hertzian.hpp"#include "nonbonded_interactions/lj.hpp"#include "nonbonded_interactions/ljcos.hpp"#include "nonbonded_interactions/ljcos2.hpp"#include "nonbonded_interactions/ljgen.hpp"#include "nonbonded_interactions/morse.hpp"#include "nonbonded_interactions/nonbonded_interaction_data.hpp"#include "nonbonded_interactions/nonbonded_tab.hpp"#include "nonbonded_interactions/smooth_step.hpp"#include "nonbonded_interactions/soft_sphere.hpp"#include "nonbonded_interactions/thole.hpp"#include "nonbonded_interactions/wca.hpp"#include "object-in-fluid/oif_global_forces.hpp"#include "object-in-fluid/oif_local_forces.hpp"#include "dpd.hpp"#include "Particle.hpp"#include "bond_error.hpp"#include "errorhandling.hpp"#include "exclusions.hpp"#include "thermostat.hpp"#include <utils/Vector.hpp>#include <optional>#include <span>#include <tuple>#include <variant>
Include dependency graph for forces_inline.hpp:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Force calculation.
Definition in file forces_inline.hpp.
|
inline |
Definition at line 503 of file forces_inline.hpp.
References BondBreakage::BondBreakage::check_and_handle_breakage(), BoxGeometry::get_mi_vector(), Particle::id(), and Particle::pos().
Referenced by System::System::calculate_forces().
|
inline |
Definition at line 482 of file forces_inline.hpp.
References calc_bonded_four_body_force(), and Particle::force().
|
inline |
Definition at line 434 of file forces_inline.hpp.
References calc_bonded_three_body_force(), and Particle::force().
|
inline |
Definition at line 374 of file forces_inline.hpp.
References calc_bond_pair_force(), Particle::force(), BoxGeometry::get_mi_vector(), and Particle::pos().
|
inline |
Calculate non-bonded forces between a pair of particles and update their forces and torques.
| [in,out] | p1 | particle 1. |
| [in,out] | p2 | particle 2. |
| [in] | d | vector between p1 and p2. |
| [in] | dist | distance between p1 and p2. |
| [in] | dist2 | distance squared between p1 and p2. |
| [in] | q1q2 | charge x charge between p1 and p2. |
| [in] | ia_params | non-bonded interaction kernels. |
| [in] | thermostat | thermostat. |
| [in] | box_geo | box geometry. |
| [in] | bonded_ias | bonded interaction kernels. |
| [out] | virial | NpT virial. |
| [in] | coulomb_kernel | Coulomb force kernel. |
| [in] | dipoles_kernel | Dipolar force kernel. |
| [in] | elc_kernel | ELC force correction kernel. |
| [in] | coulomb_u_kernel | Coulomb energy kernel. |
Definition at line 285 of file forces_inline.hpp.
References add_non_bonded_pair_force_with_p(), calc_central_radial_force(), calc_opposing_force(), do_nonbonded(), Particle::force_and_torque(), and IA_parameters::max_cut.
Referenced by System::System::calculate_forces().
|
inline |
For interactions which need particle information.
Definition at line 176 of file forces_inline.hpp.
References Particle::calc_dip(), calc_non_central_force(), Particle::dipm(), Thermostat::Thermostat::dpd, dpd_pair_force(), ParticleForce::f, Particle::id(), IA_parameters::max_cut, Particle::pos(), THERMO_DPD, Thermostat::Thermostat::thermo_switch, thole_pair_force(), and Particle::v().
Referenced by add_non_bonded_pair_force().
|
inline |
Compute the bonded interaction force between particle pairs.
| [in] | iaparams | Bonded parameters for the interaction. |
| [in] | p1 | First particle. |
| [in] | p2 | Second particle. |
| [in] | dx | Vector between p1 and p2. |
| [in] | kernel | Coulomb force kernel. |
Definition at line 337 of file forces_inline.hpp.
References Particle::q().
Referenced by add_bonded_two_body_force(), and calc_bonded_virial_pressure_tensor().
|
inline |
Definition at line 457 of file forces_inline.hpp.
References BoxGeometry::get_mi_vector(), and Particle::pos().
Referenced by add_bonded_four_body_force().
|
inline |
Definition at line 409 of file forces_inline.hpp.
References BoxGeometry::get_mi_vector(), and Particle::pos().
Referenced by add_bonded_three_body_force(), and calc_bonded_three_body_pressure_tensor().
|
inline |
Definition at line 81 of file forces_inline.hpp.
References BMHTF_pair_force_factor(), buck_pair_force_factor(), gaussian_pair_force_factor(), hat_pair_force_factor(), hertzian_pair_force_factor(), lj_pair_force_factor(), ljcos2_pair_force_factor(), ljcos_pair_force_factor(), ljgen_pair_force_factor(), morse_pair_force_factor(), SmSt_pair_force_factor(), soft_pair_force_factor(), tabulated_pair_force_factor(), and wca_pair_force_factor().
Referenced by add_non_bonded_pair_force(), add_non_bonded_pair_virials(), Constraints::ShapeBasedConstraint::force(), and ForcesKernel::operator()().
|
inline |
Definition at line 145 of file forces_inline.hpp.
References gb_pair_force(), and Particle::quat().
Referenced by add_non_bonded_pair_force_with_p(), add_non_bonded_pair_virials(), and Constraints::ShapeBasedConstraint::force().
|
inline |
Definition at line 159 of file forces_inline.hpp.
References ParticleForce::f, ParticleForce::torque, and vector_product().
Referenced by add_non_bonded_pair_force(), Constraints::ShapeBasedConstraint::force(), and ForcesKernel::operator()().