OpenMD  2.5
Molecular Dynamics in the Open
OpenMD::MolecularRestraint Class Reference

#include <MolecularRestraint.hpp>

Inheritance diagram for OpenMD::MolecularRestraint:
OpenMD::Restraint

Public Member Functions

 MolecularRestraint ()
 
void setReferenceStructure (std::vector< Vector3d > ref, Vector3d refCom)
 
void calcForce (std::vector< Vector3d > struc, Vector3d molCom)
 
std::vector< Vector3dgetRestraintForces ()
 
- Public Member Functions inherited from OpenMD::Restraint
 Restraint ()
 
virtual ~Restraint ()
 
void calcForce ()
 
void setReferenceStructure ()
 
RealType getUnscaledPotential ()
 
RealType getPotential ()
 
void setRestraintName (std::string name)
 
std::string getRestraintName ()
 
int getRestraintType ()
 
void setRestraintType (int restType)
 
void setScaleFactor (RealType sf)
 
void setDisplacementForceConstant (RealType kDisp)
 
void setTwistForceConstant (RealType kTwist)
 
void setSwingXForceConstant (RealType kSwingX)
 
void setSwingYForceConstant (RealType kSwingY)
 
void setRestrainedTwistAngle (RealType twist0)
 
void setRestrainedSwingXAngle (RealType swingX0)
 
void setRestrainedSwingYAngle (RealType swingY0)
 
void setPrintRestraint (bool printRest)
 
RealType getDisplacementForceConstant ()
 
RealType getTwistForceConstant ()
 
RealType getSwingXForceConstant ()
 
RealType getSwingYForceConstant ()
 
RealType getRestrainedTwistAngle ()
 
RealType getRestrainedSwingXAngle ()
 
RealType getRestrainedSwingYAngle ()
 
std::map< int, RealPairgetRestraintInfo ()
 
bool getPrintRestraint ()
 

Private Attributes

std::vector< Vector3dref_
 
std::vector< Vector3dforces_
 
Vector3d refCom_
 

Additional Inherited Members

- Public Types inherited from OpenMD::Restraint
enum  { rtDisplacement = 1, rtTwist = 2, rtSwingX = 4, rtSwingY = 8 }
 
typedef std::pair< RealType, RealType > RealPair
 
- Protected Attributes inherited from OpenMD::Restraint
RealType scaleFactor_
 
RealType kDisp_
 
RealType kTwist_
 
RealType kSwingX_
 
RealType kSwingY_
 
RealType pot_
 
RealType twist0_
 
RealType swingX0_
 
RealType swingY0_
 
bool printRest_
 
int restType_
 
std::string restName_
 
std::map< int, RealPairrestInfo_
 

Detailed Description

MolecularRestraint is the restraint (both positional and orientational) for the configuration of a flexible Molecule relative to some reference structure for the same Molecule. The angles that define the deflection away from the reference structure are the Euler angles taken from the rotation matrix that gives the lowest root mean square deviation (RMSD), while the displacement of the molecule is simply the displacement of the center of mass relative to the reference structure.

Definition at line 63 of file MolecularRestraint.hpp.

Constructor & Destructor Documentation

◆ MolecularRestraint()

OpenMD::MolecularRestraint::MolecularRestraint ( )
inline

Definition at line 67 of file MolecularRestraint.hpp.

Member Function Documentation

◆ calcForce()

void OpenMD::MolecularRestraint::calcForce ( std::vector< Vector3d struc,
Vector3d  molCom 
)

◆ getRestraintForces()

std::vector<Vector3d> OpenMD::MolecularRestraint::getRestraintForces ( )
inline

Definition at line 85 of file MolecularRestraint.hpp.

References forces_.

Referenced by OpenMD::RestraintForceManager::doRestraints().

◆ setReferenceStructure()

void OpenMD::MolecularRestraint::setReferenceStructure ( std::vector< Vector3d ref,
Vector3d  refCom 
)
inline

Member Data Documentation

◆ forces_

std::vector<Vector3d> OpenMD::MolecularRestraint::forces_
private

Definition at line 89 of file MolecularRestraint.hpp.

Referenced by calcForce(), getRestraintForces(), and setReferenceStructure().

◆ ref_

std::vector<Vector3d> OpenMD::MolecularRestraint::ref_
private

Definition at line 88 of file MolecularRestraint.hpp.

Referenced by calcForce(), and setReferenceStructure().

◆ refCom_

Vector3d OpenMD::MolecularRestraint::refCom_
private

Definition at line 90 of file MolecularRestraint.hpp.

Referenced by calcForce(), and setReferenceStructure().


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