ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
Energy calculation. More...
#include "config/config.hpp"
#include "bonded_interactions/bonded_interaction_data.hpp"
#include "electrostatics/coulomb_inline.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 "BoxGeometry.hpp"
#include "Observable_stat.hpp"
#include "Particle.hpp"
#include "bond_error.hpp"
#include "errorhandling.hpp"
#include "exclusions.hpp"
#include <utils/Vector.hpp>
#include <boost/variant.hpp>
#include <optional>
#include <span>
#include <string>
Go to the source code of this file.
Functions | |
double | calc_non_bonded_pair_energy (Particle const &p1, Particle const &p2, IA_parameters const &ia_params, Utils::Vector3d const &d, double const dist, BondedInteractionsMap const &bonded_ias, Coulomb::ShortRangeEnergyKernel::kernel_type const *coulomb_kernel) |
Calculate non-bonded energies between a pair of particles. | |
void | add_non_bonded_pair_energy (Particle const &p1, Particle const &p2, Utils::Vector3d const &d, double const dist, double const dist2, IA_parameters const &ia_params, BondedInteractionsMap const &bonded_ias, Coulomb::ShortRangeEnergyKernel::kernel_type const *coulomb_kernel, Dipoles::ShortRangeEnergyKernel::kernel_type const *dipoles_kernel, Observable_stat &obs_energy) |
Add non-bonded and short-range Coulomb energies between a pair of particles to the energy observable. | |
std::optional< double > | calc_bonded_energy (Bonded_IA_Parameters const &iaparams, Particle const &p1, std::span< Particle * > partners, BoxGeometry const &box_geo, Coulomb::ShortRangeEnergyKernel::kernel_type const *kernel) |
double | translational_kinetic_energy (Particle const &p) |
Calculate kinetic energies from translation for one particle. | |
double | rotational_kinetic_energy (Particle const &p) |
Calculate kinetic energies from rotation for one particle. | |
double | calc_kinetic_energy (Particle const &p) |
Calculate kinetic energies for one particle. | |
Energy calculation.
Definition in file energy_inline.hpp.
|
inline |
Add non-bonded and short-range Coulomb energies between a pair of particles to the energy observable.
[in] | p1 | particle 1. |
[in] | 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] | ia_params | non-bonded interaction kernels. |
[in] | bonded_ias | bonded interaction kernels. |
[in] | coulomb_kernel | Coulomb energy kernel. |
[in] | dipoles_kernel | Dipolar energy kernel. |
[in,out] | obs_energy | energy observable. |
Definition at line 181 of file energy_inline.hpp.
References Observable_stat::add_non_bonded_contribution(), calc_non_bonded_pair_energy(), Observable_stat::coulomb, Observable_stat::dipolar, do_nonbonded(), Particle::mol_id(), Particle::q(), and Particle::type().
Referenced by System::System::calculate_energy().
|
inline |
Definition at line 211 of file energy_inline.hpp.
References BoxGeometry::get_mi_vector(), Particle::pos(), Particle::q(), and runtimeWarningMsg.
Referenced by System::System::calculate_energy().
|
inline |
Calculate kinetic energies for one particle.
p | particle for which to calculate energies |
Definition at line 326 of file energy_inline.hpp.
References rotational_kinetic_energy(), and translational_kinetic_energy().
Referenced by System::System::calculate_energy().
|
inline |
Calculate non-bonded energies between a pair of particles.
p1 | particle 1. |
p2 | particle 2. |
ia_params | the interaction parameters between the two particles |
d | vector between p1 and p2. |
dist | distance between p1 and p2. |
bonded_ias | bonded interaction kernels. |
coulomb_kernel | Coulomb energy kernel. |
Definition at line 76 of file energy_inline.hpp.
References BMHTF_pair_energy(), buck_pair_energy(), gaussian_pair_energy(), gb_pair_energy(), hat_pair_energy(), hertzian_pair_energy(), lj_pair_energy(), ljcos2_pair_energy(), ljcos_pair_energy(), ljgen_pair_energy(), morse_pair_energy(), Particle::quat(), SmSt_pair_energy(), soft_pair_energy(), tabulated_pair_energy(), thole_pair_energy(), and wca_pair_energy().
Referenced by Constraints::ShapeBasedConstraint::add_energy(), add_non_bonded_pair_energy(), PairCriteria::EnergyCriterion::decide(), and System::System::particle_short_range_energy_contribution().
|
inline |
Calculate kinetic energies from rotation for one particle.
p | particle for which to calculate energies |
Definition at line 313 of file energy_inline.hpp.
References Particle::can_rotate(), Particle::is_virtual(), Particle::omega(), and Particle::rinertia().
Referenced by calc_kinetic_energy().
|
inline |
Calculate kinetic energies from translation for one particle.
p | particle for which to calculate energies |
Definition at line 306 of file energy_inline.hpp.
References Particle::is_virtual(), Particle::mass(), and Particle::v().
Referenced by calc_kinetic_energy().