#include <BALL/MOLMEC/COMMON/forceFieldComponent.h>
Public Member Functions | |
Constructors and Destructors | |
ForceFieldComponent () | |
ForceFieldComponent (ForceField &force_field) | |
ForceFieldComponent (const ForceFieldComponent &force_field_component) | |
virtual | ~ForceFieldComponent () |
Setup method | |
virtual bool | setup () throw (Exception::TooManyErrors) |
Accessors | |
ForceField * | getForceField () const |
void | setForceField (ForceField &force_field) |
void | setName (const String &name) |
String | getName () const |
bool | isEnabled () const |
void | setEnabled (bool state) |
Force field calculations | |
virtual double | getEnergy () const |
virtual double | updateEnergy () |
virtual void | updateForces () |
virtual void | update () throw (Exception::TooManyErrors) |
Protected Attributes | |
ForceField * | force_field_ |
double | energy_ |
Private Attributes | |
String | name_ |
bool | enabled_ |
Friends | |
class | ForceField |
Generic force field component class.
Definition at line 32 of file forceFieldComponent.h.
BALL::ForceFieldComponent::ForceFieldComponent | ( | ) |
Default constructor.
BALL::ForceFieldComponent::ForceFieldComponent | ( | ForceField & | force_field | ) |
Constructor.
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.
virtual BALL::ForceFieldComponent::~ForceFieldComponent | ( | ) | [virtual] |
Destructor.
virtual double BALL::ForceFieldComponent::getEnergy | ( | ) | const [virtual] |
Returns the energy of the force field component
ForceField* BALL::ForceFieldComponent::getForceField | ( | ) | const |
Returns the parent force field. 0 is returned, if no force field is assigned.
String BALL::ForceFieldComponent::getName | ( | ) | const |
Returns the component's name
bool BALL::ForceFieldComponent::isEnabled | ( | ) | const [inline] |
Definition at line 99 of file forceFieldComponent.h.
void BALL::ForceFieldComponent::setEnabled | ( | bool | state | ) | [inline] |
Definition at line 102 of file forceFieldComponent.h.
void BALL::ForceFieldComponent::setForceField | ( | ForceField & | force_field | ) |
Sets the force field.
void BALL::ForceFieldComponent::setName | ( | const String & | name | ) |
Sets the component's name.
virtual bool BALL::ForceFieldComponent::setup | ( | ) | throw (Exception::TooManyErrors) [virtual] |
Setup method.
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::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, 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::AmberNonBonded, BALL::AmberTorsion, BALL::CharmmImproperTorsion, BALL::CharmmNonBonded, BALL::CharmmTorsion, BALL::BendComponent, BALL::StretchComponent, 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::AmberNonBonded, BALL::AmberTorsion, BALL::CharmmImproperTorsion, BALL::CharmmNonBonded, BALL::CharmmTorsion, BALL::BendComponent, BALL::StretchComponent, BALL::MMFF94NonBonded, BALL::MMFF94OutOfPlaneBend, BALL::MMFF94StretchBend, BALL::MMFF94Torsion, and BALL::ChemScoreMetal.
friend class ForceField [friend] |
Definition at line 35 of file forceFieldComponent.h.
bool BALL::ForceFieldComponent::enabled_ [private] |
Definition at line 165 of file forceFieldComponent.h.
double BALL::ForceFieldComponent::energy_ [protected] |
Definition at line 152 of file forceFieldComponent.h.
ForceField* BALL::ForceFieldComponent::force_field_ [protected] |
Definition at line 148 of file forceFieldComponent.h.
String BALL::ForceFieldComponent::name_ [private] |
Definition at line 163 of file forceFieldComponent.h.