BALL::ForceFieldComponent Class Reference
[General Force Field Classes.]

Generic force field component class. More...

#include <forceFieldComponent.h>

Inheritance diagram for BALL::ForceFieldComponent:
Inheritance graph
[legend]

List of all members.


Public Member Functions

Constructors and Destructors
ForceFieldComponent ()
Default constructor.
ForceFieldComponent (ForceField &force_field)
Constructor.
ForceFieldComponent (const ForceFieldComponent &force_field_component)
Copy constructor.
virtual ~ForceFieldComponent ()
Destructor.
Setup method
virtual bool setup () throw (Exception::TooManyErrors)
Setup method.
Accessors
ForceField * getForceField () const
Returns the parent force field.
void setForceField (ForceField &force_field)
Sets the force field.
void setName (const String &name)
Sets the component's name.
String getName () const
Returns the component's name.
bool isEnabled () const
void setEnabled (bool state)
Force field calculations
virtual double getEnergy () const
Returns the energy of the force field component.
virtual double updateEnergy ()
Returns the energy of the force field component.
virtual void updateForces ()
Updates the atomic forces in the force field.
virtual void update () throw (Exception::TooManyErrors)
Regular update of the pair list and the like.

Protected Attributes

ForceField * force_field_
double energy_

Friends

class ForceField

Detailed Description

Generic force field component class.

Constructor & Destructor Documentation

BALL::ForceFieldComponent::ForceFieldComponent ( const ForceFieldComponent & force_field_component )

Copy constructor.

Creates a new instance of the given ForceFieldComponent. The created object will not be assigned to an existing force field.


Member Function Documentation

ForceField* BALL::ForceFieldComponent::getForceField ( ) const

Returns the parent force field.

0 is returned, if no force field is assigned.

virtual void BALL::ForceFieldComponent::update ( ) throw (Exception::TooManyErrors) [virtual]

Regular update of the pair list and the like.

Each component that contains updatable data structures (like nonbonded pair lists) should implement this method. It is called for each component of a force field each time ForceField::update is called. The default implementation does exactly nothing.

Reimplemented in BALL::AmberNonBonded, BALL::AmberStretch, and BALL::MMFF94NonBonded.

virtual double BALL::ForceFieldComponent::updateEnergy ( ) [virtual]

Returns the energy of the force field component.

The current energy for this force field component is being calculated and returned in units of kJ/mol.

If the component isn't assigned to a ForceField object, zero is returned.

Reimplemented in BALL::AmberBend, BALL::AmberNonBonded, BALL::AmberStretch, BALL::AmberTorsion, BALL::CharmmBend, BALL::CharmmImproperTorsion, BALL::CharmmNonBonded, BALL::CharmmStretch, BALL::CharmmTorsion, BALL::MMFF94NonBonded, BALL::MMFF94OutOfPlaneBend, BALL::MMFF94StretchBend, BALL::MMFF94Torsion, and BALL::ChemScoreMetal.

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

Updates the atomic forces in the force field.

The forces created by this ForceFieldComponent are calculated for each atom and updated in the corresponding array (forces) of the ForceField instance this component is assigned to.

Reimplemented in BALL::AmberBend, BALL::AmberNonBonded, BALL::AmberStretch, BALL::AmberTorsion, BALL::CharmmBend, BALL::CharmmImproperTorsion, BALL::CharmmNonBonded, BALL::CharmmStretch, BALL::CharmmTorsion, BALL::MMFF94NonBonded, BALL::MMFF94OutOfPlaneBend, BALL::MMFF94StretchBend, BALL::MMFF94Torsion, and BALL::ChemScoreMetal.


Generated on Thu Aug 6 18:30:36 2009 for BALL by doxygen 1.5.8