STORMM Source Documentation
|
A versatile object for collecting the parameters and scope of applicability of any molecular mechanics force field term. This relies on enumerations to inform whether the term applies to atom types or atom and residue names and the nature of the term. More...
#include <forcefield_element.h>
Public Member Functions | |
ParameterKind | getKind () const |
Get the force field parameter kind. | |
char4 | getNameOfAtom (char atom_rank='I') const |
Get the atom name of the I atom in the term. | |
char4 | getTypeOfAtom (char atom_rank='I') const |
Get the atom type of atom I in the term. | |
char4 | getNameOfResidue (char atom_rank='I') const |
Get the resiude name of atom I in the term. | |
double | getCharge () const |
Get the charge of an atom with a given atom name and residue nam. | |
double | getSigma () const |
Get the Lennard-Jones sigma parameter of an atom. | |
double | getEpsilon () const |
Get the Lennard-Jones epsilon parameter of an atom. | |
double | getRho () const |
Get the Lennard-Jones rho parameter of an atom (the third parameter, for 12-6-4 potentials) | |
double | getStiffnessConstant () const |
Get the stiffness constant of a bond, angle, Urey-Bradley, or CHARMM improper term. | |
double | getEquilibriumConstant () const |
Get the equilibrium constant of a bond, angle, or Urey-Bradley term. | |
double | getAmplitude () const |
Get the amplitude of a cosine-based dihedral term. | |
double | getPhaseAngle () const |
Get the phase angle of a cosine-based dihedral or CHARMM improper dihedral term. | |
double | getPeriodicity () const |
Get the periodicity of a cosine-based dihedral term. | |
double | getElectrostaticScaling () const |
Get the electrostatic scaling factor for an attenuated 1:4 non-bonded interaction. | |
double | getVanDerWaalsScaling () const |
Get the van-der Waals scaling factor for an attenuated 1:4 non-bonded interaction. | |
TorsionKind | getTorsionKind () const |
Get the torsion kind, indicating whether these four atoms describe a proper or improper torsion interaction. | |
std::vector< double > | getSurfaceValues () const |
Get the surface value edits associated with a CMAP term. | |
std::vector< int2 > | getSurfaceIndices () const |
Get the locations of point edits on a CMAP term's energy surface. | |
VirtualSiteKind | getVirtualSiteFrameType () const |
Get the virtual site frame type. | |
bool | testSigmaModification () const |
Test whether the sigma value of a van-der Waals parameter is being modified. | |
bool | testEpsilonModification () const |
Test whether the epsilon value of a van-der Waals parameter is being modified. | |
bool | testRhoModification () const |
Test whether the rho value of a van-der Waals parameter is being modified. | |
bool | testStiffnessModification () const |
Test whether the stiffness constant of a valence parameter is being modified. | |
bool | testEquilibriumModification () const |
Test whether the equilibrium constant of a valence parameter is being modified. | |
bool | testAmplitudeModification () const |
Test whether the amplitude of a dihedral parameter is being modified. | |
bool | testPhaseAngleModification () const |
Test whether the phase angle of a dihedral or improper dihedral is being modified. | |
bool | testPeriodicityModification () const |
Test whether the periodicity of a dihedral parameter is being modified. | |
void | setStiffness (double stiffness_in) |
Set the stiffness property of one of the valence terms. | |
void | setEquilibrium (double equilbrium_in) |
Set the equilibrium property of one of the valence terms. | |
void | setPhaseAngle (double phase_angle_in) |
Set the phase angle property of one of the valence terms. | |
void | setAmplitude (double amplitude_in) |
Set the amplitude of a cosine-based dihedral term. | |
void | setPeriodicity (double periodicity_in) |
Set the periodicity of a cosine-based dihedral term. | |
void | setChargeScaling (double scaling_in) |
Set the electrostatic scaling factor for an attenuated 1:4 interaction. | |
void | setVanDerWaalsScaling (double scaling_in) |
Set the van-der Waals scaling factor for an attenuated 1:4 interaction. | |
void | setCharge (double charge_in) |
Set the charge parameter of an atom. | |
void | setSigma (double sigma_in) |
Set the sigma parameter of an atom. | |
void | setEpsilon (double epsilon_in) |
Set the epsilon parameter of an atom. | |
void | setRho (double rho_in) |
Set the rho parameter of an atom. | |
void | apply (AtomGraph *ag, ExceptionResponse policy=ExceptionResponse::SILENT) const |
Apply these force field parameters to any terms found in a specific topology. | |
ForceFieldElement (ParameterKind kind_in=ParameterKind::NONE) | |
A variety of constructors can load one or more atoms and their properties. | |
ForceFieldElement (ParameterKind kind_in, char4 atom_i_in) | |
ForceFieldElement (ParameterKind kind_in, char4 atom_i_in, char4 atom_j_in) | |
ForceFieldElement (ParameterKind kind_in, char4 atom_i_in, char4 atom_j_in, char4 atom_k_in) | |
ForceFieldElement (ParameterKind kind_in, char4 atom_i_in, char4 atom_j_in, char4 atom_k_in, char4 atom_l_in, TorsionKind tkind_in=TorsionKind::PROPER) | |
ForceFieldElement (ParameterKind kind_in, VirtualSiteKind frame_type_in, char4 atom_i_in, char4 atom_j_in, char4 atom_k_in, char4 residue_i_in, char4 residue_j_in, char4 residue_k_in) | |
ForceFieldElement (ParameterKind kind_in, VirtualSiteKind frame_type_in, char4 atom_i_in, char4 atom_j_in, char4 atom_k_in, char4 atom_l_in, char4 residue_i_in, char4 residue_j_in, char4 residue_k_in, char4 residue_l_in) | |
ForceFieldElement (ParameterKind kind_in, VirtualSiteKind frame_type_in, char4 atom_i_in, char4 atom_j_in, char4 atom_k_in, char4 atom_l_in, char4 atom_m_in, char4 residue_i_in, char4 residue_j_in, char4 residue_k_in, char4 residue_l_in, char4 residue_m_in) | |
ForceFieldElement (ParameterKind kind_in, char4 atom_i_in, char4 atom_j_in, char4 atom_k_in, char4 atom_l_in, char4 atom_m_in, char4 residue_i_in, char4 residue_j_in, char4 residue_k_in, char4 residue_l_in, char4 residue_m_in, const std::vector< double > &surface_in, const std::vector< int2 > &locations_in) | |
A versatile object for collecting the parameters and scope of applicability of any molecular mechanics force field term. This relies on enumerations to inform whether the term applies to atom types or atom and residue names and the nature of the term.
stormm::modeling::ForceFieldElement::ForceFieldElement | ( | ParameterKind | kind_in = ParameterKind::NONE | ) |
A variety of constructors can load one or more atoms and their properties.
Overloaded:
kind_in | The kind of force field parameter, obligatory for every constructor |
atom_i_in | Name or type of atom I in the term |
atom_j_in | Name or type of atom J in the term |
atom_k_in | Name or type of atom K in the term |
atom_l_in | Name or type of atom L in the term |
atom_m_in | Name or type of atom M in the term |
resi_i_in | Name or type of residue I in the term |
resi_j_in | Name or type of residue J in the term |
resi_k_in | Name or type of residue K in the term |
resi_l_in | Name or type of residue L in the term |
resi_m_in | Name or type of residue M in the term |
surface_in | Surface values for an entire CMAP |
frame_type_in | Frame type of the virtual site, if that is what this object contains |
void stormm::modeling::ForceFieldElement::apply | ( | AtomGraph * | ag, |
ExceptionResponse | policy = ExceptionResponse::SILENT ) const |
Apply these force field parameters to any terms found in a specific topology.
ag | The topology to modify |
policy | The way to respond if the topology has no such parameters |