8 #ifndef MOLECULARMECHANICS_REPULSIONPARAMETERS_H
9 #define MOLECULARMECHANICS_REPULSIONPARAMETERS_H
16 namespace MolecularMechanics {
37 double getR0(
int atom1Index,
int atom2Index)
const;
44 int getValenceElectronNumbers(Utils::ElementType element)
const;
45 double getValenceElectronScalingFactor(Utils::ElementType element)
const;
48 const Eigen::MatrixXd& R0_;
51 double betaRepulsion_;
54 double valenceElectronScalingFactors_[94] = {
55 2.35, 2.35, 1.7, 5.5, 0.95, 0.95, 0.95, 0.95, 0.95, 0.95, 2.5, 3.0, 0.75, 0.75, 0.75, 0.75, 0.75, 0.75, 3.0,
56 3.0, 0.65, 0.65, 0.65, 0.65, 0.65, 0.65, 0.65, 0.65, 0.65, 0.65, 0.65, 0.65, 0.65, 0.65, 0.65, 0.65, 3.0, 3.0,
57 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 0.63, 3.0, 3.0, 0.6,
58 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
59 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 3.0, 3.0, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6};
62 int valenceElectrons_[94] = {1, 2, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 2, 2, 2, 1,
63 2, 2, 2, 2, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 2, 2, 1, 1, 1, 1, 1, 2, 1, 2,
64 3, 4, 5, 6, 7, 8, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
65 2, 2, 2, 2, 2, 1, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 2, 2, 2, 2, 2, 2};
71 #endif // MOLECULARMECHANICS_REPULSIONPARAMETERS_H
RepulsionParameters(const Eigen::MatrixXd &R0, const double &betaRepulsion)
Constructor.
Definition: RepulsionParameters.cpp:14
double getR0(int atom1Index, int atom2Index) const
Getter for the D3 cutoff radius R0 for two atoms.
Definition: RepulsionParameters.cpp:22
double getEffectiveCharge(Utils::ElementType element) const
Getter for the effective charge of a certain element.
Definition: RepulsionParameters.cpp:18
Class handling the parameters needed for the repulsive non-bonded interaction term.
Definition: RepulsionParameters.h:22
double getBetaRepulsion()
Getter for beta parameter.
Definition: RepulsionParameters.cpp:26