BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
BALL::MMFF94StretchBend Class Reference

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

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

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. More...
 
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. More...
 
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. More...
 
double calculateBendEmpiricalForceConstant (Atom &atom1, Atom &atom2, Atom &atom3, double angle_0) const
 Bend emperical force constant. More...
 
double calculateStretchR0 (const Bond &bond)
 Calculate the radius value per Schomaker-Stevenson Rule. More...
 
double calculateStretchConstant (const Bond &bond, double r0)
 
- Public Member Functions inherited from BALL::ForceFieldComponent
 ForceFieldComponent ()
 
 ForceFieldComponent (ForceField &force_field)
 
 ForceFieldComponent (const ForceFieldComponent &force_field_component)
 
virtual ~ForceFieldComponent ()
 
ForceFieldgetForceField () const
 
void setForceField (ForceField &force_field)
 
void setName (const String &name)
 
String getName () const
 
bool isEnabled () const
 
void setEnabled (bool state)
 
virtual double getEnergy () const
 
virtual void update () throw (Exception::TooManyErrors)
 

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_ []
 

Additional Inherited Members

- Protected Attributes inherited from BALL::ForceFieldComponent
ForceFieldforce_field_
 
double energy_
 

Detailed Description

MMFF94 bond stretch component

Definition at line 25 of file MMFF94StretchBend.h.

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 
)
inlineprivate
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

Definition at line 138 of file MMFF94StretchBend.h.

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

Definition at line 144 of file MMFF94StretchBend.h.

double BALL::MMFF94StretchBend::getStretchEnergy ( ) const
const vector<Stretch>& BALL::MMFF94StretchBend::getStretches ( ) const
inline

Definition at line 141 of file MMFF94StretchBend.h.

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

double BALL::MMFF94StretchBend::bend_c_[]
staticprivate

Definition at line 187 of file MMFF94StretchBend.h.

String BALL::MMFF94StretchBend::bend_elements_[]
staticprivate

Definition at line 188 of file MMFF94StretchBend.h.

bool BALL::MMFF94StretchBend::bend_enabled_
private

Definition at line 195 of file MMFF94StretchBend.h.

double BALL::MMFF94StretchBend::bend_energy_
private

Definition at line 191 of file MMFF94StretchBend.h.

MMFF94BendParameters BALL::MMFF94StretchBend::bend_parameters_
private

Definition at line 183 of file MMFF94StretchBend.h.

double BALL::MMFF94StretchBend::bend_z_[]
staticprivate

Definition at line 186 of file MMFF94StretchBend.h.

vector<Bend> BALL::MMFF94StretchBend::bends_
private

Definition at line 178 of file MMFF94StretchBend.h.

MMFF94* BALL::MMFF94StretchBend::mmff94_
private

Definition at line 194 of file MMFF94StretchBend.h.

MMFF94StretchBendParameters BALL::MMFF94StretchBend::sb_parameters_
private

Definition at line 184 of file MMFF94StretchBend.h.

double BALL::MMFF94StretchBend::stretch_bend_energy_
private

Definition at line 192 of file MMFF94StretchBend.h.

vector<StretchBend> BALL::MMFF94StretchBend::stretch_bends_
private

Definition at line 180 of file MMFF94StretchBend.h.

bool BALL::MMFF94StretchBend::stretch_enabled_
private

Definition at line 195 of file MMFF94StretchBend.h.

double BALL::MMFF94StretchBend::stretch_energy_
private

Definition at line 190 of file MMFF94StretchBend.h.

const MMFF94StretchParameters* BALL::MMFF94StretchBend::stretch_parameters_
private

Definition at line 182 of file MMFF94StretchBend.h.

bool BALL::MMFF94StretchBend::stretchbend_enabled_
private

Definition at line 195 of file MMFF94StretchBend.h.

vector<Stretch> BALL::MMFF94StretchBend::stretches_
private

Definition at line 179 of file MMFF94StretchBend.h.