Scine::Swoose  2.1.0
This is the SCINE module Swoose.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
Scine::MolecularMechanics::SfamParameters Class Referencefinal

Class containing the parameters for SFAM's MM model obtained after parsing a SFAM parameter file. The angle and bond parameters are handled by the base class MMParameters. More...

#include <SfamParameters.h>

Inheritance diagram for Scine::MolecularMechanics::SfamParameters:
Inheritance graph
Collaboration diagram for Scine::MolecularMechanics::SfamParameters:
Collaboration graph

Public Member Functions

bool sanityCheck (const AtomTypesHolder &atomTypes) const
 Checks whether the SFAM parameters are valid.
 
std::vector< double > getChargesForEachAtom (const AtomTypesHolder &atomTypes) const
 Getter for the partial atomic charges for each atom.
 
void prepareC6Matrix (const AtomTypesHolder &atomTypes)
 Resizes the C6 dispersion coefficient matrix to size NxN (N is number of distinct atom types). Furthermore, it creates a map which stores the indices of each atom type in the matrix.
 
float getC6 (int indexOfAtomTypeA, int indexOfAtomTypeB) const
 Getter for the C6 dispersion coefficient with indices of atom types given.
 
float getC6 (const std::string &a, const std::string &b) const
 Getter for the C6 dispersion coefficient for atoms with atom types a and b.
 
std::vector< double > getNonCovalentParameters () const
 Getter for the non-covalent parameters a1, s8, a2, beta and the atomic charges scaling factor.
 
void setC6 (int indexOfAtomTypeA, int indexOfAtomTypeB, float c6)
 Setter for the C6 dispersion coefficient with indices of atom types given.
 
void setC6 (const std::string &a, const std::string &b, float c6)
 Setter for the C6 dispersion coefficient for atoms with atom types a and b.
 
void resetC6Matrix ()
 Resets the C6 matrix and the indices map.
 
void setNonCovalentParameters (std::vector< double > nonCovalentParameters)
 Setter for the non-covalent parameters a1, s8, a2, beta and the atomic charges scaling factor.
 
std::vector< DihedralgetMMDihedrals (std::string t1, std::string t2, std::string t3, std::string t4) const
 Get MMDihedrals for the four atom types t1, t2, t3 and t4. (in principle there could be more than one (Fourier series))
 
ImproperDihedral getMMImproperDihedral (std::string central, std::string t2, std::string t3, std::string t4) const
 Get MMImproperDihedral for the four atom types t1, t2, t3 and t4.
 
const std::map< std::string,
int > & 
getC6IndicesMap () const
 Returns a const reference to the map containing the unique atom types of the system and their index in the c6 matrix.
 
void addCharge (std::string atomType, double charge)
 
void addDihedral (DihedralType dihedralType, DihedralParameters dihedralParameters)
 
void addImproperDihedral (ImproperDihedralType improperDihedralType, ImproperDihedralParameters improperDihedralParameters)
 
int evaluateNumDistinctAtomTypes (const AtomTypesHolder &atomTypes) const
 
std::map< BondType,
BondParameters > & 
getBonds ()
 
std::map< AngleType,
AngleParameters > & 
getAngles ()
 
std::map< DihedralType,
DihedralParameters > & 
getDihedrals ()
 
std::map< ImproperDihedralType,
ImproperDihedralParameters > & 
getImproperDihedrals ()
 
std::map< std::string, double > & getCharges ()
 
const std::map< BondType,
BondParameters > & 
getBonds () const
 
const std::map< AngleType,
AngleParameters > & 
getAngles () const
 
const std::map< DihedralType,
DihedralParameters > & 
getDihedrals () const
 
const std::map
< ImproperDihedralType,
ImproperDihedralParameters > & 
getImproperDihedrals () const
 
const std::map< std::string,
double > & 
getCharges () const
 
- Public Member Functions inherited from Scine::MolecularMechanics::MMParameters
virtual Bond getMMBond (std::string t1, std::string t2) const
 Get Bond for the two atom types t1 and t2.
 
virtual Angle getMMAngle (std::string t1, std::string t2, std::string t3) const
 Get Angle for the three atom types t1, t2 and t3.
 
virtual void addBond (BondType bondType, BondParameters bondParameters)
 Adds a bond to the bonds_ container.
 
virtual void addAngle (AngleType angleType, AngleParameters angleParameters)
 Adds an angle to the angles_ container.
 

Additional Inherited Members

- Protected Attributes inherited from Scine::MolecularMechanics::MMParameters
std::map< BondType,
BondParameters
bonds_
 
std::map< AngleType,
AngleParameters
angles_
 

Detailed Description

Class containing the parameters for SFAM's MM model obtained after parsing a SFAM parameter file. The angle and bond parameters are handled by the base class MMParameters.


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