BALL::MMFF94StretchBend Class Reference
[MMFF94 Force Field.]

#include <BALL/MOLMEC/MMFF94/MMFF94StretchBend.h>

Inheritance diagram for BALL::MMFF94StretchBend:
BALL::ForceFieldComponent

List of all members.


Classes

struct  Bend
 

see MMFFANG.PAR

More...
struct  Stretch
struct  StretchBend

Public Member Functions

 MMFF94StretchBend ()
 MMFF94StretchBend (ForceField &force_field)
 MMFF94StretchBend (const MMFF94StretchBend &to_copy)
virtual ~MMFF94StretchBend ()
virtual bool setup () throw (Exception::TooManyErrors)
virtual double updateEnergy ()
 

Calculates and returns the component's energy.


virtual double updateBendEnergy ()
virtual double updateStretchEnergy ()
virtual double updateStretchBendEnergy ()
double getStretchEnergy () const
double getBendEnergy () const
double getStretchBendEnergy () const
virtual void updateForces ()
 

Calculates and returns the component's forces.


virtual void updateBendForces ()
virtual void updateStretchForces ()
virtual void updateStretchBendForces ()
const vector< Bend > & getBends () const
const vector< Stretch > & getStretches () const
const vector< StretchBend > & getStretchBends () const
Index calculateSBTIJK (Position angle_type, bool bond_type1, bool bond_type2)
Position getBendType (const Bond &bond1, const Bond &bond2, Atom &atom1, Atom &atom2, Atom &atom3) const
double calculateBendEmpiricalReferenceAngle (Atom &atom1, Atom &atom2, Atom &atom3) const
 

Bend emperical reference angle.


double calculateBendEmpiricalForceConstant (Atom &atom1, Atom &atom2, Atom &atom3, double angle_0) const
 

Bend emperical force constant.


double calculateStretchR0 (const Bond &bond)
 

Calculate the radius value per Schomaker-Stevenson Rule.


double calculateStretchConstant (const Bond &bond, double r0)

Private Member Functions

void AddDV3_ (Vector3 &f3, const TVector3< double > d3)
void calculateDeltas_ ()
bool setupBends_ ()
bool setupStretches_ ()
bool setupStretchBends_ ()
void errorOccured_ (const String &string, const Atom &a1, const Atom &a2, const Atom &a3)

Private Attributes

vector< Bendbends_
vector< Stretchstretches_
vector< StretchBendstretch_bends_
const MMFF94StretchParametersstretch_parameters_
MMFF94BendParameters bend_parameters_
MMFF94StretchBendParameters sb_parameters_
double stretch_energy_
double bend_energy_
double stretch_bend_energy_
MMFF94mmff94_
bool stretch_enabled_
bool bend_enabled_
bool stretchbend_enabled_

Static Private Attributes

static double bend_z_ []
static double bend_c_ []
static String bend_elements_ []

Detailed Description

MMFF94 bond stretch component


Constructor & Destructor Documentation

BALL::MMFF94StretchBend::MMFF94StretchBend (  ) 

Default constructor.

BALL::MMFF94StretchBend::MMFF94StretchBend ( ForceField force_field  ) 

Constructor.

BALL::MMFF94StretchBend::MMFF94StretchBend ( const MMFF94StretchBend to_copy  ) 

Copy constructor

virtual BALL::MMFF94StretchBend::~MMFF94StretchBend (  )  [virtual]

Destructor.


Member Function Documentation

void BALL::MMFF94StretchBend::AddDV3_ ( Vector3 f3,
const TVector3< double d3 
) [inline, private]
double BALL::MMFF94StretchBend::calculateBendEmpiricalForceConstant ( Atom atom1,
Atom atom2,
Atom atom3,
double  angle_0 
) const

Bend emperical force constant.

double BALL::MMFF94StretchBend::calculateBendEmpiricalReferenceAngle ( Atom atom1,
Atom atom2,
Atom atom3 
) const

Bend emperical reference angle.

void BALL::MMFF94StretchBend::calculateDeltas_ (  )  [private]
Index BALL::MMFF94StretchBend::calculateSBTIJK ( Position  angle_type,
bool  bond_type1,
bool  bond_type2 
)
double BALL::MMFF94StretchBend::calculateStretchConstant ( const Bond bond,
double  r0 
)
double BALL::MMFF94StretchBend::calculateStretchR0 ( const Bond bond  ) 

Calculate the radius value per Schomaker-Stevenson Rule.

void BALL::MMFF94StretchBend::errorOccured_ ( const String string,
const Atom a1,
const Atom a2,
const Atom a3 
) [private]
double BALL::MMFF94StretchBend::getBendEnergy (  )  const
const vector<Bend>& BALL::MMFF94StretchBend::getBends (  )  const [inline]
Position BALL::MMFF94StretchBend::getBendType ( const Bond bond1,
const Bond bond2,
Atom atom1,
Atom atom2,
Atom atom3 
) const
double BALL::MMFF94StretchBend::getStretchBendEnergy (  )  const
const vector<StretchBend>& BALL::MMFF94StretchBend::getStretchBends (  )  const [inline]
double BALL::MMFF94StretchBend::getStretchEnergy (  )  const
const vector<Stretch>& BALL::MMFF94StretchBend::getStretches (  )  const [inline]
virtual bool BALL::MMFF94StretchBend::setup (  )  throw (Exception::TooManyErrors) [virtual]

Setup method.

Reimplemented from BALL::ForceFieldComponent.

bool BALL::MMFF94StretchBend::setupBends_ (  )  [private]
bool BALL::MMFF94StretchBend::setupStretchBends_ (  )  [private]
bool BALL::MMFF94StretchBend::setupStretches_ (  )  [private]
virtual double BALL::MMFF94StretchBend::updateBendEnergy (  )  [virtual]
virtual void BALL::MMFF94StretchBend::updateBendForces (  )  [virtual]
virtual double BALL::MMFF94StretchBend::updateEnergy (  )  [virtual]

Calculates and returns the component's energy.

Reimplemented from BALL::ForceFieldComponent.

virtual void BALL::MMFF94StretchBend::updateForces (  )  [virtual]

Calculates and returns the component's forces.

Reimplemented from BALL::ForceFieldComponent.

virtual double BALL::MMFF94StretchBend::updateStretchBendEnergy (  )  [virtual]
virtual void BALL::MMFF94StretchBend::updateStretchBendForces (  )  [virtual]
virtual double BALL::MMFF94StretchBend::updateStretchEnergy (  )  [virtual]
virtual void BALL::MMFF94StretchBend::updateStretchForces (  )  [virtual]

Member Data Documentation