AvogadroLibs 1.103.0
Loading...
Searching...
No Matches
EnergyCalculator Class Referenceabstract
Inheritance diagram for EnergyCalculator:
LennardJones UFF

Public Member Functions

virtual EnergyCalculator * newInstance () const =0
virtual std::string identifier () const =0
virtual std::string name () const =0
virtual std::string description () const =0
virtual bool setConfiguration (Core::VariantMap &config)
virtual Core::Molecule::ElementMask elements () const =0
 Indicate if your method only treats a subset of elements.
virtual bool acceptsUnitCell () const
 Indicate if your method can handle unit cells.
virtual bool acceptsIons () const
 Indicate if your method can handle ions Many methods only treat neutral systems, either a neutral molecule or a neutral unit cell.
virtual bool acceptsRadicals () const
 Indicate if your method can handle radicals Most methods only treat closed-shell molecules.
void gradient (const TVector &x, TVector &grad) override
void cleanGradients (TVector &grad)
Real constraintEnergies (const TVector &x)
void constraintGradients (const TVector &x, TVector &grad)
std::vector< Core::Constraintconstraints () const
void setConstraints (const std::vector< Core::Constraint > &constraints)
void setMask (TVector mask)
TVector mask () const
virtual void setMolecule (Core::Molecule *mol)=0

Protected Member Functions

void appendError (const std::string &errorString, bool newLine=true) const
 Append an error to the error string for the model.

Protected Attributes

TVector m_mask
std::vector< Core::Constraintm_distanceConstraints
std::vector< Core::Constraintm_angleConstraints
std::vector< Core::Constraintm_torsionConstraints
std::vector< Core::Constraintm_outOfPlaneConstraints

Member Function Documentation

◆ newInstance()

virtual EnergyCalculator * newInstance ( ) const
pure virtual

Create a new instance of the model. Ownership passes to the caller.

Implemented in LennardJones, and UFF.

◆ identifier()

virtual std::string identifier ( ) const
pure virtual
Returns
a unique identifier for this calculator.

Implemented in LennardJones, and UFF.

◆ name()

virtual std::string name ( ) const
pure virtual
Returns
A short translatable name for this method (e.g., MMFF94, UFF, etc.)

Implemented in LennardJones, and UFF.

◆ description()

virtual std::string description ( ) const
pure virtual
Returns
a description of the method

Implemented in LennardJones, and UFF.

◆ setConfiguration()

virtual bool setConfiguration ( Core::VariantMap & config)
virtual

Called to set the configuration (e.g., for a GUI options dialog)

◆ elements()

virtual Core::Molecule::ElementMask elements ( ) const
pure virtual
Returns
an element mask corresponding to the defined subset

Implemented in LennardJones, and UFF.

◆ acceptsUnitCell()

virtual bool acceptsUnitCell ( ) const
virtual
Returns
true if unit cells are supported

Reimplemented in LennardJones, and UFF.

◆ acceptsIons()

virtual bool acceptsIons ( ) const
virtual
Returns
true if ions are supported

Reimplemented in LennardJones, and UFF.

◆ acceptsRadicals()

virtual bool acceptsRadicals ( ) const
virtual
Returns
true if radicals are supported

Reimplemented in LennardJones, and UFF.

◆ gradient()

void gradient ( const TVector & x,
TVector & grad )
override

Calculate the gradients for this method, defaulting to numerical finite-difference methods

◆ cleanGradients()

void cleanGradients ( TVector & grad)

Called to 'clean' gradients

Parameters
grad(e.g., for constraints)

◆ constraintEnergies()

Real constraintEnergies ( const TVector & x)

Called to get the energies for the current set of constraints. which should be added to the value() method for real energies in derived classes

Returns
the sum of the constraint energies

◆ constraintGradients()

void constraintGradients ( const TVector & x,
TVector & grad )

Called to get the gradients for the current set of constraints. which should be added to the gradient() method in derived classes.

Parameters
xthe current coordinates
gradthe gradient vector to be updated with constraint gradients

◆ constraints()

std::vector< Core::Constraint > constraints ( ) const

Called to get the constraints for this method.

Returns
the constraints for this method

◆ setMask()

void setMask ( TVector mask)

Called to update the "frozen" mask (e.g., during editing)

◆ mask()

TVector mask ( ) const
Returns
the frozen atoms mask

◆ setMolecule()

virtual void setMolecule ( Core::Molecule * mol)
pure virtual

Called when the current molecule changes.

Implemented in LennardJones, and UFF.

◆ appendError()

void appendError ( const std::string & errorString,
bool newLine = true ) const
protected
Parameters
errorStringThe error to be added.
newLineAdd a new line after the error string?

The documentation for this class was generated from the following file: