|
MPQC
3.0.0-alpha
|
MolecularGradient is an abstract class that computes a molecule's first derivatives of the energy with respect to changes in the nuclear coordinates. More...
#include <chemistry/molecule/deriv.h>

Public Member Functions | |
| MolecularGradient (const Ref< KeyVal > &) | |
| The MolecularGradient KeyVal constructor is used to generate a MolecularGradient object from the input. | |
| MolecularGradient (StateIn &) | |
| void | save_data_state (StateOut &) |
| Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them. | |
| RefSCDimension | d3natom () |
| Ref< SCMatrixKit > | matrixkit () const |
| virtual RefSCVector | cartesian_gradient ()=0 |
| Return the cartesian hessian. | |
| virtual void | set_energy (const Ref< MolecularEnergy > &energy) |
| Some MolecularGradient specializations require a molecular energy object. | |
| virtual MolecularEnergy * | energy () const |
| This returns a MolecularEnergy object, if used by this specialization. | |
| virtual void | set_desired_accuracy (double acc) |
| Sets the desired accuracy. | |
| virtual double | desired_accuracy () const |
| Reports the desired accuracy. | |
Static Public Member Functions | |
| static void | write_cartesian_gradient (const char *filename, const Ref< Molecule > &m, const RefSCVector &grad) |
| Write the gradient in a simple text format. | |
| static void | read_cartesian_gradient (const char *filename, const Ref< Molecule > &m, const RefSCVector &grad) |
| Read the hessian from a simple text format. | |
Protected Attributes | |
| Ref< Molecule > | mol_ |
| RefSCDimension | d3natom_ |
| Ref< SCMatrixKit > | matrixkit_ |
MolecularGradient is an abstract class that computes a molecule's first derivatives of the energy with respect to changes in the nuclear coordinates.
The MolecularGradient KeyVal constructor is used to generate a MolecularGradient object from the input.
It reads the keywords below.
| Keyword | Type | Default | Description |
molecule | Molecule | none | The Molecule object. |
accuracy | real | 1e-4 | The desired accuracy of the gradient. |
| virtual double sc::MolecularGradient::desired_accuracy | ( | ) | const [virtual] |
Reports the desired accuracy.
| virtual MolecularEnergy* sc::MolecularGradient::energy | ( | ) | const [virtual] |
This returns a MolecularEnergy object, if used by this specialization.
Otherwise null is returned.
Reimplemented in sc::FinDispMolecularGradient.
| void sc::MolecularGradient::save_data_state | ( | StateOut & | ) | [virtual] |
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them.
This must be implemented by the derived class if the class has data.
Reimplemented from sc::SavableState.
Reimplemented in sc::FinDispMolecularGradient.
| virtual void sc::MolecularGradient::set_desired_accuracy | ( | double | acc | ) | [virtual] |
Sets the desired accuracy.
| acc | the desired accuracy |
Reimplemented in sc::FinDispMolecularGradient.
| virtual void sc::MolecularGradient::set_energy | ( | const Ref< MolecularEnergy > & | energy | ) | [virtual] |
Some MolecularGradient specializations require a molecular energy object.
The default implementations of this ignores the argument.
Reimplemented in sc::FinDispMolecularGradient.