STORMM Source Documentation
Loading...
Searching...
No Matches
stormm::restraints::BoundedRestraint Class Reference

Public Member Functions

int getAtomIndex (int restrained_atom_number) const
 
int getOrder () const
 Get the order of this restraint.
 
int getInitialStep () const
 Get the initial step at which to begin applying this restraint.
 
int getFinalStep () const
 Get the simulation step at which to finish applying this restraint.
 
double2 getStiffness (int step_number=0) const
 Get the stiffnesses of a restraint at a given step in the simulation.
 
double2 getInitialStiffness () const
 Get the initial stiffnesses to use when applying this restraint.
 
double2 getFinalStiffness () const
 Get the final stiffnesses of the restraint in its complete form.
 
double4 getDisplacements (int step_number=0) const
 Get the displacement parameters of a restraint at a given step in the simulation.
 
double4 getInitialDisplacements () const
 Get the initial displacement parameters to use in applying this restraint.
 
double4 getFinalDisplacements () const
 Get the final displacement parameters of the restraint in its complete form.
 
double3 getTargetSite (int step_number=0) const
 Get the target site of a positional restraint at a given step in the simulation.
 
double3 getInitialTargetSite () const
 Get the initial target of a positional restraint.
 
double3 getFinalTargetSite () const
 Get the final target of a positional restraint.
 
const AtomGraphgetTopologyPointer () const
 Get the topology pointer.
 
void setInitialStep (int new_init_step)
 Modify the initial step at which the restraint is applied.
 
void setFinalStep (int new_final_step)
 Modify the final step at which the restraint application reaches its final value.
 
void setStiffness (double new_keq)
 Modify the stiffness parameters, set with a single value. This member function is only applicable if there is no time dependence in the restraint and will throw an error otherwise.
 
void setStiffnesses (double new_k2, double new_k3)
 Modify the stiffness parameters. This member function is only applicable if there is no time dependence in the restraint and will throw an error otherwise.
 
void setInitialStiffness (double new_init_keq)
 Modify the initial stiffness parameters, setting both to a single value. This member function is only applicable if there is time dependence in the restraint.
 
void setInitialStiffnesses (double new_init_k2, double new_init_k3)
 Modify the initial stiffness parameters. This member function is only applicable if there is time dependence in the restraint.
 
void setFinalStiffness (double new_init_keq)
 Modify the final stiffness parameters, setting both to a single value. This member function is only applicable if there is time dependence in the restraint.
 
void setFinalStiffnesses (double new_init_k2, double new_init_k3)
 Modify the final stiffness parameters. This member function is only applicable if there is time dependence in the restraint.
 
void setDisplacements (double new_r1, double new_r2, double new_r3, double new_r4)
 Modify the displacements over which each segment of the flat-bottom restraint applies. This member function requires that the restraint be time-independent.
 
void setInitialDisplacements (double new_r1, double new_r2, double new_r3, double new_r4)
 Modify the initial displacements over which each segment of the flat-bottom restraint applies. This member function requires that the restraint be time-dependent.
 
void setFinalDisplacements (double new_r1, double new_r2, double new_r3, double new_r4)
 Modify the final displacements over which each segment of the flat-bottom restraint applies. This member function requires that the restraint be time-dependent.
 
 BoundedRestraint (const AtomGraph *ag_in)
 
 BoundedRestraint (const std::string &mask_i_in, const std::string &mask_j_in, const std::string &mask_k_in, const std::string &mask_l_in, const AtomGraph *ag_in, const ChemicalFeatures &chemfe, const CoordinateFrameReader &cfr, int init_step_in, int final_step_in, double init_k2_in, double init_k3_in, double init_r1_in, double init_r2_in, double init_r3_in, double init_r4_in, double final_k2_in, double final_k3_in, double final_r1_in, double final_r2_in, double final_r3_in, double final_r4_in, const double3 init_ref_crd_in={ 0.0, 0.0, 0.0 }, const double3 final_ref_crd_in={ 0.0, 0.0, 0.0 })
 
 BoundedRestraint (const std::string &mask_i_in, const std::string &mask_j_in, const std::string &mask_k_in, const AtomGraph *ag_in, const ChemicalFeatures &chemfe, const CoordinateFrameReader &cfr, int init_step_in, int final_step_in, double init_k2_in, double init_k3_in, double init_r1_in, double init_r2_in, double init_r3_in, double init_r4_in, double final_k2_in, double final_k3_in, double final_r1_in, double final_r2_in, double final_r3_in, double final_r4_in)
 
 BoundedRestraint (const std::string &mask_i_in, const std::string &mask_j_in, const AtomGraph *ag_in, const ChemicalFeatures &chemfe, const CoordinateFrameReader &cfr, int init_step_in, int final_step_in, double init_k2_in, double init_k3_in, double init_r1_in, double init_r2_in, double init_r3_in, double init_r4_in, double final_k2_in, double final_k3_in, double final_r1_in, double final_r2_in, double final_r3_in, double final_r4_in)
 
 BoundedRestraint (const std::string &mask_i_in, const AtomGraph *ag_in, const ChemicalFeatures &chemfe, const CoordinateFrameReader &cfr, int init_step_in, int final_step_in, double init_k2_in, double init_k3_in, double init_r1_in, double init_r2_in, double init_r3_in, double init_r4_in, double final_k2_in, double final_k3_in, double final_r1_in, double final_r2_in, double final_r3_in, double final_r4_in, const double3 init_ref_crd_in, const double3 final_ref_crd_in)
 
 BoundedRestraint (const std::string &mask_i_in, const std::string &mask_j_in, const std::string &mask_k_in, const std::string &mask_l_in, const AtomGraph *ag_in, const ChemicalFeatures &chemfe, const CoordinateFrameReader &cfr, double k2_in, double k3_in, double r1_in, double r2_in, double r3_in, double r4_in)
 
 BoundedRestraint (const std::string &mask_i_in, const std::string &mask_j_in, const std::string &mask_k_in, const AtomGraph *ag_in, const ChemicalFeatures &chemfe, const CoordinateFrameReader &cfr, double k2_in, double k3_in, double r1_in, double r2_in, double r3_in, double r4_in)
 
 BoundedRestraint (const std::string &mask_i_in, const std::string &mask_j_in, const AtomGraph *ag_in, const ChemicalFeatures &chemfe, const CoordinateFrameReader &cfr, double k2_in, double k3_in, double r1_in, double r2_in, double r3_in, double r4_in)
 
 BoundedRestraint (const std::string &mask_i_in, const AtomGraph *ag_in, const ChemicalFeatures &chemfe, const CoordinateFrameReader &cfr, double k2_in, double k3_in, double r1_in, double r2_in, double r3_in, double r4_in, const double3 ref_crd_in)
 
 BoundedRestraint (const std::string &mask_i_in, const AtomGraph *ag_in, const ChemicalFeatures &chemfe, const CoordinateFrameReader &cfr, double k2_in, double k3_in, double r1_in, double r2_in, double r3_in, double r4_in, const std::string &mask_ref_in)
 
 BoundedRestraint (int atom_i_in, int atom_j_in, int atom_k_in, int atom_l_in, const AtomGraph *ag_in, int init_step_in, int final_step_in, double init_k2_in, double init_k3_in, double init_r1_in, double init_r2_in, double init_r3_in, double init_r4_in, double final_k2_in, double final_k3_in, double final_r1_in, double final_r2_in, double final_r3_in, double final_r4_in, const double3 init_ref_crd_in={ 0.0, 0.0, 0.0}, const double3 final_ref_crd_in={ 0.0, 0.0, 0.0 })
 
 BoundedRestraint (int atom_i_in, int atom_j_in, int atom_k_in, const AtomGraph *ag_in, int init_step_in, int final_step_in, double init_k2_in, double init_k3_in, double init_r1_in, double init_r2_in, double init_r3_in, double init_r4_in, double final_k2_in, double final_k3_in, double final_r1_in, double final_r2_in, double final_r3_in, double final_r4_in)
 
 BoundedRestraint (int atom_i_in, int atom_j_in, const AtomGraph *ag_in, int init_step_in, int final_step_in, double init_k2_in, double init_k3_in, double init_r1_in, double init_r2_in, double init_r3_in, double init_r4_in, double final_k2_in, double final_k3_in, double final_r1_in, double final_r2_in, double final_r3_in, double final_r4_in)
 
 BoundedRestraint (int atom_i_in, const AtomGraph *ag_in, int init_step_in, int final_step_in, double init_k2_in, double init_k3_in, double init_r1_in, double init_r2_in, double init_r3_in, double init_r4_in, double final_k2_in, double final_k3_in, double final_r1_in, double final_r2_in, double final_r3_in, double final_r4_in, const double3 init_ref_crd_in, const double3 final_ref_crd_in)
 
 BoundedRestraint (int atom_i_in, int atom_j_in, int atom_k_in, int atom_l_in, const AtomGraph *ag_in, double k2_in, double k3_in, double r1_in, double r2_in, double r3_in, double r4_in)
 
 BoundedRestraint (int atom_i_in, int atom_j_in, int atom_k_in, const AtomGraph *ag_in, double k2_in, double k3_in, double r1_in, double r2_in, double r3_in, double r4_in)
 
 BoundedRestraint (int atom_i_in, int atom_j_in, const AtomGraph *ag_in, double k2_in, double k3_in, double r1_in, double r2_in, double r3_in, double r4_in)
 
 BoundedRestraint (int atom_i_in, const AtomGraph *ag_in, double k2_in, double k3_in, double r1_in, double r2_in, double r3_in, double r4_in, const double3 ref_crd_in)
 
 BoundedRestraint (int atom_index, const AtomGraph *ag_in, const CoordinateFrameReader &cfr, double k2_in, double k3_in, double r1_in, double r2_in, double r3_in, double r4_in, int refr_index=-1)
 
 BoundedRestraint (const BoundedRestraint &original)=default
 Take the default copy, copy assignment, move, and move assignment constructors.
 
 BoundedRestraint (BoundedRestraint &&original)=default
 
BoundedRestraintoperator= (const BoundedRestraint &original)=default
 
BoundedRestraintoperator= (BoundedRestraint &&original)=default
 
void setTargetSite (double new_ref_x, double new_ref_y, double new_ref_z)
 Set the target site. This function can only apply to a time-independent positional restraint with only one active atom.
 
void setTargetSite (double3 new_ref_crd)
 
void setInitialTargetSite (double new_ref_x, double new_ref_y, double new_ref_z)
 Set the initial target site. This function can only apply to a time-dependent positional restraint with only one active atom.
 
void setInitialTargetSite (double3 new_ref_crd)
 
void setFinalTargetSite (double new_ref_x, double new_ref_y, double new_ref_z)
 Set the final target site. This function can only apply to a time-dependent positional restraint with only one active atom.
 
void setFinalTargetSite (double3 new_ref_crd)
 

Constructor & Destructor Documentation

◆ BoundedRestraint()

stormm::restraints::BoundedRestraint::BoundedRestraint ( const AtomGraph * ag_in)

Constructors take either four atom masks (each of whcih must evaluate to exactly one atom) or four atom numbers (numbers are given for a series 1... atom_count in the topology pointer, decremented when constructing the mask to index into the actual memory)

Overloaded:

  • Empty constructor (creates a restraint of order zero but for a particular topology)
  • Accept up to four atom masks and all other inputs
  • Accept up to four atom numbers and all other inputs
  • Accept up to four atom masks and basic inputs
  • Accept up to four atom numbers and basic inputs
  • If only a single atom is specified by mask or by number, reference coordinates should also be supplied
Parameters
mask_i_inAtom mask identifying the first atom
mask_j_inAtom mask identifying the second atom (empty string for no atom)
mask_k_inAtom mask identifying the third atom (empty string for no atom)
mask_l_inAtom mask identifying the fourth atom (empty string for no atom)
atom_i_inTopological index of the first atom (starts from 0, skip atom mask)
atom_i_inTopological index of the second atom (starts from 0, skip atom mask)
atom_i_inTopological index of the third atom (starts from 0, skip atom mask)
atom_i_inTopological index of the fourth atom (starts from 0, skip atom mask)
ag_inTopology of the system in question
chemfeChemical perception output for the system in question
cfrCoordinates of the system in question (for positional restraints)
init_step_inStep at which to begin to apply the restraints
final_step_inStep at which the retraint is to take on its mature values
init_k2_inStart value of the stiffness of the left-hand parabola
init_k3_inStart value of the stiffness of the right-hand parabola
init_r1_inStart value of the leftmost point of the left-hand half parabola
init_r2_inStart value of the rightmost point of the left-hand half parabola
init_r3_inStart value of the leftmost point of the right-hand half parabola
init_r4_inStart value of the rightmost point of the right-hand half parabola
final_k2_inMature value of the stiffness of the left-hand parabola
final_k3_inMature value of the stiffness of the right-hand parabola
final_r1_inMature value of the leftmost point of the left-hand half parabola
final_r2_inMature value of the rightmost point of the left-hand half parabola
final_r3_inMature value of the leftmost point of the right-hand half parabola
final_r4_inMature value of the rightmost point of the right-hand half parabola
init_ref_crd_inThe initial target location for an atomic positional restraint
final_ref_crd_inThe final target location for an atomic positional restraint

Member Function Documentation

◆ getAtomIndex()

int stormm::restraints::BoundedRestraint::getAtomIndex ( int restrained_atom_number) const

Obtain the topology index of an atom in this restraint

Parameters
restrained_atom_numberThe 1st, 2nd, 3rd, or 4th atom (specify 1, 2, 3, or 4)

◆ getDisplacements()

double4 stormm::restraints::BoundedRestraint::getDisplacements ( int step_number = 0) const

Get the displacement parameters of a restraint at a given step in the simulation.

Parameters
step_numberThe step at which to compute the target site

◆ getStiffness()

double2 stormm::restraints::BoundedRestraint::getStiffness ( int step_number = 0) const

Get the stiffnesses of a restraint at a given step in the simulation.

Parameters
step_numberThe step at which to compute the target site

◆ getTargetSite()

double3 stormm::restraints::BoundedRestraint::getTargetSite ( int step_number = 0) const

Get the target site of a positional restraint at a given step in the simulation.

Parameters
step_numberThe step at which to compute the target site

◆ setDisplacements()

void stormm::restraints::BoundedRestraint::setDisplacements ( double new_r1,
double new_r2,
double new_r3,
double new_r4 )

Modify the displacements over which each segment of the flat-bottom restraint applies. This member function requires that the restraint be time-independent.

Parameters
new_r1New value of r1, the leftmost point of a harmonic potential scaled by k2
new_r2New value of r2, the rightmost point of a harmonic potential scaled by k2
new_r3New value of r3, the leftmost point of a harmonic potential scaled by k3
new_r4New value of r4, the rightmost point of a harmonic potential scaled by k3

◆ setFinalDisplacements()

void stormm::restraints::BoundedRestraint::setFinalDisplacements ( double new_r1,
double new_r2,
double new_r3,
double new_r4 )

Modify the final displacements over which each segment of the flat-bottom restraint applies. This member function requires that the restraint be time-dependent.

Parameters
new_r1New final r1, the leftmost point of a harmonic potential scaled by k2
new_r2New final r2, the rightmost point of a harmonic potential scaled by k2
new_r3New final r3, the leftmost point of a harmonic potential scaled by k3
new_r4New final r4, the rightmost point of a harmonic potential scaled by k3

◆ setFinalStep()

void stormm::restraints::BoundedRestraint::setFinalStep ( int new_final_step)

Modify the final step at which the restraint application reaches its final value.

Parameters
new_final_stepThe new value for the final application step

◆ setFinalStiffness()

void stormm::restraints::BoundedRestraint::setFinalStiffness ( double new_init_keq)

Modify the final stiffness parameters, setting both to a single value. This member function is only applicable if there is time dependence in the restraint.

Parameters
new_init_keqNew final value of both k2 and k3

◆ setFinalStiffnesses()

void stormm::restraints::BoundedRestraint::setFinalStiffnesses ( double new_init_k2,
double new_init_k3 )

Modify the final stiffness parameters. This member function is only applicable if there is time dependence in the restraint.

Parameters
new_init_k2New final value of k2
new_init_k3New final value of k3

◆ setFinalTargetSite()

void stormm::restraints::BoundedRestraint::setFinalTargetSite ( double new_ref_x,
double new_ref_y,
double new_ref_z )

Set the final target site. This function can only apply to a time-dependent positional restraint with only one active atom.

Overloaded:

  • Take separate x, y, and z coordinate arguments
  • Take a 3-tuple of real numbers for x, y, and z coordinates
Parameters
new_ref_xNew final reference Cartesian x coordinate
new_ref_yNew final reference Cartesian y coordinate
new_ref_zNew final reference Cartesian z coordinate
new_ref_crdNew final reference Cartesian coordinate tuple

◆ setInitialDisplacements()

void stormm::restraints::BoundedRestraint::setInitialDisplacements ( double new_r1,
double new_r2,
double new_r3,
double new_r4 )

Modify the initial displacements over which each segment of the flat-bottom restraint applies. This member function requires that the restraint be time-dependent.

Parameters
new_r1New initial r1, the leftmost point of a harmonic potential scaled by k2
new_r2New initial r2, the rightmost point of a harmonic potential scaled by k2
new_r3New initial r3, the leftmost point of a harmonic potential scaled by k3
new_r4New initial r4, the rightmost point of a harmonic potential scaled by k3

◆ setInitialStep()

void stormm::restraints::BoundedRestraint::setInitialStep ( int new_init_step)

Modify the initial step at which the restraint is applied.

Parameters
new_init_stepThe new value for the initial application step

◆ setInitialStiffness()

void stormm::restraints::BoundedRestraint::setInitialStiffness ( double new_init_keq)

Modify the initial stiffness parameters, setting both to a single value. This member function is only applicable if there is time dependence in the restraint.

Parameters
new_init_keqNew initial value of both k2 and k3

◆ setInitialStiffnesses()

void stormm::restraints::BoundedRestraint::setInitialStiffnesses ( double new_init_k2,
double new_init_k3 )

Modify the initial stiffness parameters. This member function is only applicable if there is time dependence in the restraint.

Parameters
new_init_k2New initial value of k2
new_init_k3New initial value of k3

◆ setInitialTargetSite()

void stormm::restraints::BoundedRestraint::setInitialTargetSite ( double new_ref_x,
double new_ref_y,
double new_ref_z )

Set the initial target site. This function can only apply to a time-dependent positional restraint with only one active atom.

Overloaded:

  • Take separate x, y, and z coordinate arguments
  • Take a 3-tuple of real numbers for x, y, and z coordinates
Parameters
new_ref_xNew initial reference Cartesian x coordinate
new_ref_yNew initial reference Cartesian y coordinate
new_ref_zNew initial reference Cartesian z coordinate
new_ref_crdNew initial reference Cartesian coordinate tuple

◆ setStiffness()

void stormm::restraints::BoundedRestraint::setStiffness ( double new_keq)

Modify the stiffness parameters, set with a single value. This member function is only applicable if there is no time dependence in the restraint and will throw an error otherwise.

Parameters
new_keqNew value of both k2 and k3. Both values of the initial stiffness tuple will be set to these values.

◆ setStiffnesses()

void stormm::restraints::BoundedRestraint::setStiffnesses ( double new_k2,
double new_k3 )

Modify the stiffness parameters. This member function is only applicable if there is no time dependence in the restraint and will throw an error otherwise.

Parameters
new_k2New value of k2
new_k3New value of k3

◆ setTargetSite()

void stormm::restraints::BoundedRestraint::setTargetSite ( double new_ref_x,
double new_ref_y,
double new_ref_z )

Set the target site. This function can only apply to a time-independent positional restraint with only one active atom.

Overloaded:

  • Take separate x, y, and z coordinate arguments
  • Take a 3-tuple of real numbers for x, y, and z coordinates
Parameters
new_ref_xNew reference Cartesian x coordinate
new_ref_yNew reference Cartesian y coordinate
new_ref_zNew reference Cartesian z coordinate
new_ref_crdNew reference Cartesian coordinate tuple

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