Simpatico
v1.10
|
Classes used by a System calculate potential energies.
Separate potential energy classes are provided for nonbonded pairs, different types of covalent potentials (pairs, angles, and dihedrals), and for one-body external potentials. Each type of potential energy * is represented by an abstract base class, which declares pure virtual methods to compute energies and forces for an entire System, and a separate implementation class template. Each implementation template takes an interaction class as a template argument, and uses an instance of this interaction class to calculate energies and forces for small groups of atoms (pairs, bonds, etc.). Specific instantiations of each implementation template, with an interaction class specified in by a style string in the parameter file, are instantiated by an associated Factory class.
Classes | |
class | McMd::EnergyCalculator |
Interface for a class that calculates a total energy. More... | |
class | McMd::StressCalculator |
Interface for a stress calculator. More... | |
Modules | |
Pair Potentials | |
Nonbonded pair potentials. | |
Bond Potentials | |
Covalent 2-body bond potentials. | |
Angle Potentials | |
Covalent 3-body angle potentials. | |
Dihedral Potentials | |
Covalent 4-body dihedral potentials. | |
Coulomb Potentials | |
Coulomb potentials, implemented using Ewald separation. | |
External Potentials | |
External one-body potentials. | |
Special Potentials | |
Special (i.e., specialized) potentials. | |