ProtoMol - an object-oriented component based framework for Molecular Dynamics simulations.

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

ProtoMol::ReducedHessAngle Class Reference

#include <ReducedHessAngle.h>

List of all members.

Public Member Functions

 ReducedHessAngle ()
 ReducedHessAngle (const Vector3D &atom_i, const Vector3D &atom_j, const Vector3D &atom_k, const double k_t, const double theta0, bool computeReduced=false)
 ~ReducedHessAngle ()
void evaluate (const Vector3D &P1, const Vector3D &P2, const Vector3D &P3, const double kt, const double t0, bool computeReduced=0)
Matrix3by3 operator() (int i, int j) const
void operator() (int i, int j, Matrix3by3 x)
void accumulateTo (int i, int j, Matrix3by3 x)
void accumulateNegTo (int i, int j, Matrix3by3 x)
ReducedHessAngle operator * (const ReducedHessAngle &tm)
ReducedHessAngle operator * (const Real tm)
ReducedHessAngle operator/ (const Real tm)
ReducedHessAngleoperator *= (const Real tm)
ReducedHessAngleoperator/= (const Real tm)
ReducedHessAngle operator+ (const ReducedHessAngle &tm)
ReducedHessAngle operator- (const ReducedHessAngle &tm)
ReducedHessAngleoperator+= (const ReducedHessAngle &tm)
ReducedHessAngleoperator-= (const ReducedHessAngle &tm)
ReducedHessAngle transposed ()
void convertFromJacobian (Real **jac, int n)
void identity ()
void clear ()

Private Attributes

Matrix3by3 H [3][3]

Friends

std::ostream & operator<< (std::ostream &os, const ReducedHessAngle &tm)


Detailed Description

Note that the U-B part of the angle energy is omitted because in the MOLLY averaging, we do not incorporate the U-B part.

The remaining computation is same as that in AngleHessian class except now a more compact form is used to compute each elements. See Appendix B in Qun Ma's dissertation for details.

It can compute the whole Hessian or only the blocks of (0,0), (0,2), (2,0), (2,2) for the "reduced" form when the Heavy atom is "anchored."


Constructor & Destructor Documentation

ProtoMol::ReducedHessAngle::ReducedHessAngle  ) 
 

ProtoMol::ReducedHessAngle::ReducedHessAngle const Vector3D atom_i,
const Vector3D atom_j,
const Vector3D atom_k,
const double  k_t,
const double  theta0,
bool  computeReduced = false
 

Parameters:
atom_i  position of atom i
atom_j  position of atom j
atom_k  position of atom k
k_t  angluar spring constant
theta0  rest angle

ProtoMol::ReducedHessAngle::~ReducedHessAngle  )  [inline]
 


Member Function Documentation

void ProtoMol::ReducedHessAngle::accumulateNegTo int  i,
int  j,
Matrix3by3  x
 

H[i][j] -= x;.

void ProtoMol::ReducedHessAngle::accumulateTo int  i,
int  j,
Matrix3by3  x
 

H[i][j] += x;.

void ProtoMol::ReducedHessAngle::clear  ) 
 

clear the hessian matrix

void ProtoMol::ReducedHessAngle::convertFromJacobian Real **  jac,
int  n
 

n is the dimension

void ProtoMol::ReducedHessAngle::evaluate const Vector3D P1,
const Vector3D P2,
const Vector3D P3,
const double  kt,
const double  t0,
bool  computeReduced = 0
 

void ProtoMol::ReducedHessAngle::identity  ) 
 

identity matrix

ReducedHessAngle ProtoMol::ReducedHessAngle::operator * const Real  tm  ) 
 

ReducedHessAngle ProtoMol::ReducedHessAngle::operator * const ReducedHessAngle tm  ) 
 

ReducedHessAngle & ProtoMol::ReducedHessAngle::operator *= const Real  tm  ) 
 

void ProtoMol::ReducedHessAngle::operator() int  i,
int  j,
Matrix3by3  x
 

Set an element.

Matrix3by3 ProtoMol::ReducedHessAngle::operator() int  i,
int  j
const
 

Extract an element.

ReducedHessAngle ProtoMol::ReducedHessAngle::operator+ const ReducedHessAngle tm  ) 
 

ReducedHessAngle & ProtoMol::ReducedHessAngle::operator+= const ReducedHessAngle tm  ) 
 

ReducedHessAngle ProtoMol::ReducedHessAngle::operator- const ReducedHessAngle tm  ) 
 

ReducedHessAngle & ProtoMol::ReducedHessAngle::operator-= const ReducedHessAngle tm  ) 
 

ReducedHessAngle ProtoMol::ReducedHessAngle::operator/ const Real  tm  ) 
 

ReducedHessAngle & ProtoMol::ReducedHessAngle::operator/= const Real  tm  ) 
 

ReducedHessAngle ProtoMol::ReducedHessAngle::transposed  ) 
 

the original object unchanged


Friends And Related Function Documentation

std::ostream& operator<< std::ostream &  os,
const ReducedHessAngle tm
[friend]
 


Member Data Documentation

Matrix3by3 ProtoMol::ReducedHessAngle::H[3][3] [private]
 


The documentation for this class was generated from the following files: Last update: . GNU GENERAL PUBLIC LICENSE, copyrighted by the University of Notre Dame and the University of Bergen, Norway.