MPQC  3.0.0-alpha
Public Member Functions | Static Public Member Functions | Protected Attributes
sc::MolecularGradient Class Reference

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>

Inheritance diagram for sc::MolecularGradient:
Inheritance graph
[legend]

List of all members.

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< SCMatrixKitmatrixkit () 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 MolecularEnergyenergy () 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< Moleculemol_
RefSCDimension d3natom_
Ref< SCMatrixKitmatrixkit_

Detailed Description

MolecularGradient is an abstract class that computes a molecule's first derivatives of the energy with respect to changes in the nuclear coordinates.


Constructor & Destructor Documentation

sc::MolecularGradient::MolecularGradient ( const Ref< KeyVal > &  )

The MolecularGradient KeyVal constructor is used to generate a MolecularGradient object from the input.

It reads the keywords below.

KeywordTypeDefaultDescription
moleculeMoleculenoneThe Molecule object.
accuracyreal1e-4The desired accuracy of the gradient.

Member Function Documentation

virtual double sc::MolecularGradient::desired_accuracy ( ) const [virtual]

Reports the desired accuracy.

Returns:
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.

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.

Parameters:
accthe 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.


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

Generated at Sat Jul 7 2012 11:52:50 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.8.0.