|
faunus
|
Exception for handling pair potential initialization. More...
#include <potentials_base.h>
Public Types | |
| enum | CoefficientType { ANY, SIGMA, EPSILON } |
Public Member Functions | |
| PairMixer (TExtractorFunc extractor, TCombinatorFunc combinator, TModifierFunc modifier=&modIdentity) | |
| TPairMatrixPtr | createPairMatrix (const std::vector< AtomData > &atoms) |
| TPairMatrixPtr | createPairMatrix (const std::vector< AtomData > &atoms, const std::vector< CustomInteractionData > &interactions) |
Static Public Member Functions | |
| static TCombinatorFunc | getCombinator (CombinationRuleType combination_rule, CoefficientType coefficient=CoefficientType::ANY) |
| static constexpr double | combUndefined (double=0.0, double=0.0) |
| static double | combArithmetic (double a, double b) |
| static double | combGeometric (double a, double b) |
| static double | modIdentity (double x) |
| static double | modSquared (double x) |
Exception for handling pair potential initialization.
PairMixer creates a matrix of pair potential coefficients based on the atom properties and/or custom values using an arbitrary combination rule.
PairMixer holds three functions that are applied in order extractor → combinator → modifier to create a coefficient matrix for all possible interactions. The function createPairMatrix applies the functions on all atom type pairs, and optionally also on the list of custom pair parameters (not the combinator function).
| TPairMatrixPtr Faunus::pairpotential::PairMixer::createPairMatrix | ( | const std::vector< AtomData > & | atoms | ) |
| TPairMatrixPtr Faunus::pairpotential::PairMixer::createPairMatrix | ( | const std::vector< AtomData > & | atoms, |
| const std::vector< CustomInteractionData > & | interactions | ||
| ) |
1.8.13