MPQC 3.0.0-alpha
Loading...
Searching...
No Matches
sc::MolecularHessian Class Referenceabstract

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

#include <chemistry/molecule/deriv.h>

Inheritance diagram for sc::MolecularHessian:
sc::SavableState sc::DescribedClass sc::RefCount sc::DiagMolecularHessian sc::FinDispMolecularHessian sc::GuessMolecularHessian sc::ReadMolecularHessian

Public Member Functions

 MolecularHessian (const Ref< KeyVal > &)
 The MolecularHessian KeyVal constructor is used to generate a MolecularHessian derivative object from the input.
 
 MolecularHessian (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 RefSymmSCMatrix cartesian_hessian ()=0
 Return the cartesian hessian.
 
virtual void set_energy (const Ref< MolecularEnergy > &energy)
 Some MolecularHessian 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.
 
bool desired_accuracy_set_to_default () const
 
- Public Member Functions inherited from sc::SavableState
SavableStateoperator= (const SavableState &)
 
void save_state (StateOut &)
 Save the state of the object as specified by the StateOut object.
 
void save_object_state (StateOut &)
 This can be used for saving state when the exact type of the object is known for both the save and the restore.
 
virtual void save_vbase_state (StateOut &)
 Save the virtual bases for the object.
 
- Public Member Functions inherited from sc::DescribedClass
 DescribedClass (const DescribedClass &)
 
DescribedClassoperator= (const DescribedClass &)
 
ClassDescclass_desc () const MPQC__NOEXCEPT
 This returns the unique pointer to the ClassDesc corresponding to the given type_info object.
 
const char * class_name () const
 Return the name of the object's exact type.
 
int class_version () const
 Return the version of the class.
 
virtual void print (std::ostream &=ExEnv::out0()) const
 Print the object.
 
Ref< DescribedClassref ()
 Return this object wrapped up in a Ref smart pointer.
 
- Public Member Functions inherited from sc::RefCount
size_t identifier () const
 Return the unique identifier for this object that can be compared for different objects of different types.
 
int lock_ptr () const
 Lock this object.
 
int unlock_ptr () const
 Unlock this object.
 
void use_locks (bool inVal)
 start and stop using locks on this object
 
refcount_t nreference () const
 Return the reference count.
 
refcount_t reference ()
 Increment the reference count and return the new count.
 
refcount_t dereference ()
 Decrement the reference count and return the new count.
 
int managed () const
 Return 1 if the object is managed. Otherwise return 0.
 

Static Public Member Functions

static RefSCMatrix cartesian_to_symmetry (const Ref< Molecule > &m, Ref< PointGroup > pg=0, Ref< SCMatrixKit > kit=0)
 Find transformation matrix from cartesian to symmetry coordinates.
 
static void write_cartesian_hessian (const char *filename, const Ref< Molecule > &m, const RefSymmSCMatrix &hess)
 Write the hessian in a simple text format.
 
static void read_cartesian_hessian (const char *filename, const Ref< Molecule > &m, const RefSymmSCMatrix &hess)
 Read the hessian from a simple text format.
 
- Static Public Member Functions inherited from sc::SavableState
static void save_state (SavableState *s, StateOut &)
 
static SavableStaterestore_state (StateIn &si)
 Restores objects saved with save_state.
 
static SavableStatekey_restore_state (StateIn &si, const char *keyword)
 Like restore_state, but keyword is used to override values while restoring.
 
static SavableStatedir_restore_state (StateIn &si, const char *objectname, const char *keyword=0)
 

Protected Attributes

Ref< Moleculemol_
 
RefSCDimension d3natom_
 
Ref< SCMatrixKitmatrixkit_
 

Additional Inherited Members

- Protected Member Functions inherited from sc::SavableState
 SavableState (const SavableState &)
 
 SavableState (StateIn &)
 Each derived class StateIn CTOR handles the restore corresponding to calling save_object_state, save_vbase_state, and save_data_state listed above.
 
- Protected Member Functions inherited from sc::RefCount
 RefCount (const RefCount &)
 
RefCountoperator= (const RefCount &)
 

Detailed Description

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

Constructor & Destructor Documentation

◆ MolecularHessian()

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

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

It reads the keywords below.

KeywordTypeDefaultDescription
moleculeMoleculenoneThe Molecule object.
accuracyreal1e-5The desired accuracy of the hessian.

Member Function Documentation

◆ cartesian_hessian()

virtual RefSymmSCMatrix sc::MolecularHessian::cartesian_hessian ( )
pure virtual

◆ desired_accuracy()

virtual double sc::MolecularHessian::desired_accuracy ( ) const
virtual

Reports the desired accuracy.

Returns
the desired accuracy

◆ desired_accuracy_set_to_default()

bool sc::MolecularHessian::desired_accuracy_set_to_default ( ) const
inline
Returns
whether the desired accuracy was set to default value

◆ energy()

virtual MolecularEnergy * sc::MolecularHessian::energy ( ) const
virtual

This returns a MolecularEnergy object, if used by this specialization.

Otherwise null is returned.

Reimplemented in sc::FinDispMolecularHessian.

◆ save_data_state()

void sc::MolecularHessian::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::ReadMolecularHessian.

◆ set_desired_accuracy()

virtual void sc::MolecularHessian::set_desired_accuracy ( double acc)
virtual

Sets the desired accuracy.

Parameters
accthe desired accuracy

Reimplemented in sc::FinDispMolecularHessian.

◆ set_energy()

virtual void sc::MolecularHessian::set_energy ( const Ref< MolecularEnergy > & energy)
virtual

Some MolecularHessian specializations require a molecular energy object.

The default implementations of this ignores the argument.

Reimplemented in sc::FinDispMolecularHessian.


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

Generated at Wed Sep 25 2024 02:45:33 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.12.0.