![]() |
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 <optional>#include <span>#include <string>#include <variant>
Include dependency graph for energy_inline.hpp:
This graph shows which files directly or indirectly include this file: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. | |
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::pos(), Particle::q(), and Particle::type().
Referenced by System::System::calculate_energy().
|
inline |
Definition at line 212 of file energy_inline.hpp.
References BoxGeometry::get_mi_vector(), Particle::pos(), Particle::q(), and runtimeWarningMsg.
Referenced by System::System::calculate_energy(), and System::System::particle_bond_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 75 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 314 of file energy_inline.hpp.
Referenced by System::System::calculate_energy().
|
inline |
Calculate kinetic energies from translation for one particle.
| p | particle for which to calculate energies |
Definition at line 307 of file energy_inline.hpp.
References Particle::is_virtual(), Particle::mass(), and Particle::v().
Referenced by System::System::calculate_energy().