8 #ifndef MOLECULARMECHANICS_SFAMPOTENTIALTERMSGENERATOR_H
9 #define MOLECULARMECHANICS_SFAMPOTENTIALTERMSGENERATOR_H
11 #include "../Interactions/AngleTerm.h"
12 #include "../Interactions/BondedTerm.h"
13 #include "../Interactions/DihedralTerm.h"
14 #include "../Interactions/DispersionTerm.h"
15 #include "../Interactions/HydrogenBondTerm.h"
16 #include "../Interactions/ImproperDihedralTerm.h"
17 #include "../Interactions/RepulsionTerm.h"
26 namespace MolecularMechanics {
27 class IndexedStructuralTopology;
28 class AtomTypesHolder;
51 const double& nonCovalentCutoffRadius,
Core::Log& log);
81 std::shared_ptr<double> cutoff_;
85 static constexpr
double scalingFactorForElectrostaticOneFourTerms_ = 1.0;
86 static constexpr
double scalingFactorForDispersionOneFourTerms_ = 1.0;
87 static constexpr
double scalingFactorForRepulsionOneFourTerms_ = 1.0;
93 #endif // MOLECULARMECHANICS_SFAMPOTENTIALTERMSGENERATOR_H
Class containing the structural information about the connectivity of a system.
Definition: IndexedStructuralTopology.h:25
std::vector< HydrogenBondTerm > getHydrogenBondTerms()
Getter for hydrogen bond terms.
Definition: SfamPotentialTermsGenerator.cpp:167
This class creates the actual potential terms that are employed during an SFAM molecular mechanics ca...
Definition: SfamPotentialTermsGenerator.h:38
std::vector< RepulsionTerm > getRepulsionTerms(bool applyCutoff)
Getter for Pauli repulsion terms with decision whether to use a cutoff radius.
Definition: SfamPotentialTermsGenerator.cpp:137
Class containing the MM atom types of the atoms in a molecular system.
Definition: AtomTypesHolder.h:21
std::vector< BondedTerm > getBondedTerms()
Getter for bonded terms.
Definition: SfamPotentialTermsGenerator.cpp:33
std::vector< DispersionTerm > getDispersionTerms(bool applyCutoff)
Getter for dispersion terms with decision whether to use a cutoff radius.
Definition: SfamPotentialTermsGenerator.cpp:100
std::vector< ImproperDihedralTerm > getImproperDihedralTerms()
Getter for improper dihedral terms.
Definition: SfamPotentialTermsGenerator.cpp:73
std::vector< DihedralTerm > getDihedralTerms()
Getter for dihedral terms.
Definition: SfamPotentialTermsGenerator.cpp:41
SfamPotentialTermsGenerator(int nAtoms, const AtomTypesHolder &atomTypes, const IndexedStructuralTopology &topology, const SfamParameters ¶meters, const Utils::PositionCollection &positions, const double &nonCovalentCutoffRadius, Core::Log &log)
Constructor.
Definition: SfamPotentialTermsGenerator.cpp:19
Class containing the parameters for SFAM's MM model obtained after parsing a SFAM parameter file...
Definition: SfamParameters.h:37
std::vector< AngleTerm > getAngleTerms()
Getter for angle terms.
Definition: SfamPotentialTermsGenerator.cpp:37