#include <forceFieldComponent.h>
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 |
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.
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.
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.