|
faunus
|
Base for all pair-potentials. More...
#include <potentials_base.h>

Public Member Functions | |
| virtual void | to_json (json &) const =0 |
| virtual void | from_json (const json &)=0 |
| virtual Point | force (const Particle &a, const Particle &b, double squared_distance, const Point &b_towards_a) const |
| Force on particle a due to particle b. More... | |
| virtual double | operator() (const Particle &particle_a, const Particle &particle_b, double squared_distance, const Point &b_towards_a) const =0 |
| Pair energy between two particles. More... | |
Public Attributes | |
| std::string | name |
| unique name per polymorphic call; used in FunctorPotential::combinePairPotentials | |
| std::string | cite |
| Typically a short-doi litterature reference. | |
| bool | isotropic = true |
| true if pair-potential is independent of particle orientation | |
| std::function< double(const Particle &)> | selfEnergy = nullptr |
| self energy of particle (kT) | |
Protected Member Functions | |
| PairPotential (std::string name=std::string(), std::string cite=std::string(), bool isotropic=true) | |
Friends | |
| void | from_json (const json &, PairPotential &) |
| Serialize any pair potential from json. | |
Base for all pair-potentials.
The selfEnergy functor is by default a nullptr. Coulombic potentials may change this to add a self-energy stemming from charges and dipoles. This term is important for for example Widom insertion and grand canonical Monte Carlo schemes.
|
virtual |
Force on particle a due to particle b.
Calculates force on particle a due to another particle, b.
| particle_a | First particle |
| particle_b | Second particle |
| squared_distance | Squared distance, |𝐚-𝐛|² |
| b_towards_a | Distance vector 𝐛 -> 𝐚 = 𝐚 - 𝐛 |
| particle_a | Particle a |
| particle_b | Particle b |
| squared_distance | Squared norm |𝐚-𝐛|² |
| b_towards_a | Distance vector 𝐛 -> 𝐚 = 𝐚 - 𝐛 |
Reimplemented in Faunus::pairpotential::CustomPairPotential, Faunus::pairpotential::Polarizability, Faunus::pairpotential::CosAttractMixed, Faunus::pairpotential::CosAttract, Faunus::pairpotential::CombinedPairPotential< T1, T2 >, Faunus::pairpotential::WeeksChandlerAndersen, Faunus::pairpotential::AshbaughHatch, and Faunus::pairpotential::LennardJones.
|
pure virtual |
Pair energy between two particles.
| particle_a | First particle |
| particle_b | Second particle |
| squared_distance | Squared distance, |𝐚-𝐛|² |
| b_towards_a | Distance vector 𝐛 -> 𝐚 = 𝐚 - 𝐛 |
Implemented in Faunus::pairpotential::FunctorPotential, Faunus::pairpotential::DipoleDipole, Faunus::pairpotential::Coulomb, Faunus::pairpotential::CosAttract, Faunus::pairpotential::RepulsionR3, Faunus::pairpotential::SquareWell, Faunus::pairpotential::CombinedPairPotential< T1, T2 >, and Faunus::pairpotential::HardSphere.
1.8.13