|
NAMEsc::MolecularCoor - The MolecularCoor abstract class describes the coordinate system used to describe a molecule.SYNOPSIS#include <coor.h> Inherits sc::SavableState. Inherited by sc::CartMolecularCoor, and sc::IntMolecularCoor. Public Member FunctionsMolecularCoor (Ref< Molecule > &) MolecularCoor (StateIn &) MolecularCoor (const Ref< KeyVal > &) The KeyVal constructor. 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 dim_natom3 () Returns a smart reference to an SCDimension equal to the number of atoms in the molecule times 3. Ref< Molecule > molecule () const Returns the molecule. virtual void print (std::ostream &=ExEnv::out0()) const =0 Print the coordinate. virtual void print_simples (std::ostream &=ExEnv::out0()) const =0 virtual RefSCDimension dim ()=0 Returns a smart reference to an SCDimension equal to the number of coordinates (be they Cartesian, internal, or whatever) that are being optimized. int to_cartesian (const RefSCVector &internal) Given a set of displaced internal coordinates, update the cartesian coordinates of the Molecule contained herein. virtual int to_cartesian (const Ref< Molecule > &mol, const RefSCVector &internal)=0 virtual int to_internal (RefSCVector &internal)=0 Fill in the vector ``internal'' with the current internal coordinates. virtual int to_cartesian (RefSCVector &cartesian, RefSCVector &internal)=0 Convert the internal coordinate gradients in ``internal'' to Cartesian coordinates and copy these Cartesian coordinate gradients to ``cartesian''. virtual int to_internal (RefSCVector &internal, RefSCVector &cartesian)=0 Convert the Cartesian coordinate gradients in ``cartesian'' to internal coordinates and copy these internal coordinate gradients to ``internal''. virtual int to_cartesian (RefSymmSCMatrix &cartesian, RefSymmSCMatrix &internal)=0 Convert the internal coordinate Hessian internal'' to Cartesian coordinates and copy the result tocartesian''. virtual int to_internal (RefSymmSCMatrix &internal, RefSymmSCMatrix &cartesian)=0 Convert the Cartesian coordinate Hessian cartesian'' to internal coordinates and copy the result tointernal''. virtual void guess_hessian (RefSymmSCMatrix &hessian)=0 Calculate an approximate hessian and place the result in ``hessian''. virtual RefSymmSCMatrix inverse_hessian (RefSymmSCMatrix &)=0 Given an Hessian, return the inverse of that hessian. virtual int nconstrained () Returns the number of constrained coordinates. virtual Ref< NonlinearTransform > change_coordinates () When this is called, MoleculeCoor may select a new internal coordinate system and return a transform to it. Ref< SCMatrixKit > matrixkit () const Protected AttributesRef< Molecule > molecule_ RefSCDimension dnatom3_ Ref< SCMatrixKit > matrixkit_ int debug_ Additional Inherited MembersDetailed DescriptionThe MolecularCoor abstract class describes the coordinate system used to describe a molecule.It is used to convert a molecule's cartesian coordinates to and from this coordinate system. Constructor & Destructor Documentationsc::MolecularCoor::MolecularCoor (const Ref< KeyVal > &)The KeyVal constructor.
Member Function Documentationvirtual Ref< NonlinearTransform > sc::MolecularCoor::change_coordinates () [virtual]When this is called, MoleculeCoor may select a new internal coordinate system and return a transform to it. The default action is to not change anything and return an IdentityTransform.Reimplemented in sc::SymmMolecularCoor. virtual RefSCDimension sc::MolecularCoor::dim () [pure virtual]Returns a smart reference to an SCDimension equal to the number of coordinates (be they Cartesian, internal, or whatever) that are being optimized.Implemented in sc::IntMolecularCoor, and sc::CartMolecularCoor. virtual void sc::MolecularCoor::guess_hessian (RefSymmSCMatrix & hessian) [pure virtual]Calculate an approximate hessian and place the result in ``hessian''.Implemented in sc::SymmMolecularCoor, sc::RedundMolecularCoor, and sc::CartMolecularCoor. virtual RefSymmSCMatrix sc::MolecularCoor::inverse_hessian (RefSymmSCMatrix &) [pure virtual]Given an Hessian, return the inverse of that hessian. For singular matrices this should return the generalized inverse.Implemented in sc::SymmMolecularCoor, sc::RedundMolecularCoor, and sc::CartMolecularCoor. virtual int sc::MolecularCoor::nconstrained () [virtual]Returns the number of constrained coordinates.Reimplemented in sc::IntMolecularCoor. virtual void sc::MolecularCoor::print (std::ostream & = ExEnv::out0()) const [pure virtual]Print the coordinate.Reimplemented from sc::DescribedClass. Implemented in sc::IntMolecularCoor, sc::SymmMolecularCoor, and sc::CartMolecularCoor. void sc::MolecularCoor::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::IntMolecularCoor, sc::SymmMolecularCoor, sc::RedundMolecularCoor, and sc::CartMolecularCoor. int sc::MolecularCoor::to_cartesian (const RefSCVector & internal)Given a set of displaced internal coordinates, update the cartesian coordinates of the Molecule contained herein. This function does not change the vector ``internal''.virtual int sc::MolecularCoor::to_cartesian (RefSCVector & cartesian, RefSCVector & internal) [pure virtual]Convert the internal coordinate gradients in ``internal'' to Cartesian coordinates and copy these Cartesian coordinate gradients to ``cartesian''. Only the variable internal coordinate gradients are transformed.Implemented in sc::IntMolecularCoor, and sc::CartMolecularCoor. virtual int sc::MolecularCoor::to_cartesian (RefSymmSCMatrix & cartesian, RefSymmSCMatrix & internal) [pure virtual]Convert the internal coordinate Hessian internal'' to Cartesian coordinates and copy the result tocartesian''. Only the variable internal coordinate force constants are transformed.Implemented in sc::IntMolecularCoor, and sc::CartMolecularCoor. virtual int sc::MolecularCoor::to_internal (RefSCVector & internal) [pure virtual]Fill in the vector ``internal'' with the current internal coordinates. Note that this member will update the values of the variable internal coordinates.Implemented in sc::IntMolecularCoor, and sc::CartMolecularCoor. virtual int sc::MolecularCoor::to_internal (RefSCVector & internal, RefSCVector & cartesian) [pure virtual]Convert the Cartesian coordinate gradients in ``cartesian'' to internal coordinates and copy these internal coordinate gradients to ``internal''. Only the variable internal coordinate gradients are calculated.Implemented in sc::IntMolecularCoor, and sc::CartMolecularCoor. virtual int sc::MolecularCoor::to_internal (RefSymmSCMatrix & internal, RefSymmSCMatrix & cartesian) [pure virtual]Convert the Cartesian coordinate Hessian cartesian'' to internal coordinates and copy the result tointernal''. Only the variable internal coordinate force constants are calculated.Implemented in sc::IntMolecularCoor, and sc::CartMolecularCoor. AuthorGenerated automatically by Doxygen for MPQC from the source code.
Visit the GSP FreeBSD Man Page Interface. |