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< Bend > bends_
vector< Stretch > stretches_
vector< StretchBend > stretch_bends_
const MMFF94StretchParameters * stretch_parameters_
MMFF94BendParameters bend_parameters_
MMFF94StretchBendParameters sb_parameters_
double stretch_energy_
double bend_energy_
double stretch_bend_energy_
MMFF94 * mmff94_
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