|
faunus
|
Ashbaugh-Hatch pair potential. More...
#include <potentials.h>


Public Member Functions | |
| AshbaughHatch (const std::string &name="ashbaugh-hatch", const std::string &cite="doi:10.1063/1.2895747", CombinationRuleType combination_rule=CombinationRuleType::LORENTZ_BERTHELOT) | |
| double | operator() (const Particle &a, const Particle &b, double squared_distance, [[maybe_unused]] const Point &b_towards_a) const override |
| Point | force (const Particle &a, const Particle &b, double squared_distance, const Point &b_towards_a) const override |
| Force on particle a due to particle b. More... | |
Public Member Functions inherited from Faunus::pairpotential::MixerPairPotentialBase | |
| MixerPairPotentialBase (const std::string &name=std::string(), const std::string &cite=std::string(), CombinationRuleType combination_rule=CombinationRuleType::UNDEFINED, bool isotropic=true) | |
| void | from_json (const json &j) override |
| void | to_json (json &j) const override |
Public Member Functions inherited from Faunus::pairpotential::PairPotential | |
| 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... | |
Protected Member Functions | |
| void | initPairMatrices () override |
| potential-specific initialization of parameter matrices | |
| void | extractorsFromJson (const json &j) override |
| potential-specific assignment of coefficient extracting functions | |
Protected Member Functions inherited from Faunus::pairpotential::MixerPairPotentialBase | |
| void | init () |
| initialize the potential when data, e.g., atom parameters, are available | |
Protected Member Functions inherited from Faunus::pairpotential::PairPotential | |
| PairPotential (std::string name=std::string(), std::string cite=std::string(), bool isotropic=true) | |
Protected Attributes | |
| TPairMatrixPtr | sigma_squared |
| σ_ij² | |
| TPairMatrixPtr | epsilon_quadruple |
| 4 * ε_ij | |
| TPairMatrixPtr | epsilon |
| ε_ij. | |
| TPairMatrixPtr | lambda |
| λ_ij (hydrophobicity parameter) | |
Protected Attributes inherited from Faunus::pairpotential::MixerPairPotentialBase | |
| CombinationRuleType | combination_rule |
| std::shared_ptr< std::vector< CustomInteractionData > > | custom_pairs |
| json | json_extra_params |
| pickled extra parameters like a coefficient names mapping | |
Additional Inherited Members | |
Public Attributes inherited from Faunus::pairpotential::PairPotential | |
| 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) | |
Ashbaugh-Hatch pair potential.
The Ashbaugh-Hatch potential is a modified Lennard-Jones potential with a hydrophobicity parameter λ ∈ [0,1]:
\[ V_{AH}(r) = \begin{cases} V_{LJ}(r) + \epsilon(1 - \lambda), & r \leq 2^{1/6}\sigma \\ \lambda V_{LJ}(r), & r > 2^{1/6}\sigma \end{cases} \]
where \( V_{LJ}(r) = 4\epsilon[(\sigma/r)^{12} - (\sigma/r)^6] \).
Mixing rules (Lorentz-Berthelot + arithmetic for λ):
Reference: Ashbaugh & Hatch, J. Chem. Phys. 128, 154115 (2008) https://doi.org/10.1063/1.2895747
|
inlineoverridevirtual |
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 from Faunus::pairpotential::PairPotential.
1.8.13