faunus
Public Member Functions | List of all members
Faunus::pairpotential::CosAttractMixed Class Reference

Cosine attraction using combination rules (Eq. More...

#include <potentials.h>

Inheritance diagram for Faunus::pairpotential::CosAttractMixed:
Inheritance graph
[legend]
Collaboration diagram for Faunus::pairpotential::CosAttractMixed:
Collaboration graph
[legend]

Public Member Functions

 CosAttractMixed (const std::string &name="cos2", const std::string &cite="doi:10/chqzjk"s, CombinationRuleType combination_rule=CombinationRuleType::LORENTZ_BERTHELOT)
 
double cutOffSquared (AtomData::index_type id1, AtomData::index_type id2) const
 (r_c+w_c)^2
 
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...
 
double operator() (const Particle &a, const Particle &b, const double squared_distance, [[maybe_unused]] const Point &b_towards_a) const override
 
- 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...
 

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)
 
- 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 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
 

Detailed Description

Cosine attraction using combination rules (Eq.

4 in doi:10/chqzjk)

This will collect rc, wc, and eps from the atom topology and mix using arbitrary combination rules. EPSILON is used to mix the energy, eps. SIGMA is used to mix distances, rc and wc.

Member Function Documentation

◆ force()

Point Faunus::pairpotential::CosAttractMixed::force ( const Particle a,
const Particle b,
double  squared_distance,
const Point b_towards_a 
) const
inlineoverridevirtual

Force on particle a due to particle b.

Calculates force on particle a due to another particle, b.

Parameters
particle_aFirst particle
particle_bSecond particle
squared_distanceSquared distance, |𝐚-𝐛|²
b_towards_aDistance vector 𝐛 -> 𝐚 = 𝐚 - 𝐛
Returns
Force acting on a dur to b in units of kT/Å
Parameters
particle_aParticle a
particle_bParticle b
squared_distanceSquared norm |𝐚-𝐛|²
b_towards_aDistance vector 𝐛 -> 𝐚 = 𝐚 - 𝐛
Returns
Force on particle a due to particle b

Reimplemented from Faunus::pairpotential::PairPotential.


The documentation for this class was generated from the following files: