home | help
sc::CartMolecularCoor(3)	      MPQC		sc::CartMolecularCoor(3)

NAME
     sc::CartMolecularCoor  -  The  CartMolecularCoor class implements Cartesian
     coordinates in a way suitable for use in geometry optimizations.

SYNOPSIS
     #include <coor.h>

     Inherits sc::MolecularCoor.

   Public Member Functions
     CartMolecularCoor (Ref< Molecule > &mol)
     CartMolecularCoor (StateIn &)
     CartMolecularCoor (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.
     virtual RefSCDimension dim ()
	 These implement the virtual functions inherited from MolecularCoor.
     virtual  int  to_cartesian (const Ref< Molecule > &, const RefSCVector &in-
	 ternal)
     virtual int to_internal (RefSCVector &internal)
	 Fill in the vector ``internal'' with the current internal coordinates.
     virtual int to_cartesian (RefSCVector &cartesian, RefSCVector &internal)
	 Convert the internal coordinate gradients in ``internal'' to  Cartesian
	 coordinates  and  copy these Cartesian coordinate gradients to ``carte-
	 sian''.
     virtual int to_internal (RefSCVector &internal, RefSCVector &cartesian)
	 Convert the Cartesian coordinate gradients in ``cartesian'' to internal
	 coordinates and copy these internal coordinate  gradients  to	``inter-
	 nal''.
     virtual int to_cartesian (RefSymmSCMatrix &cart, RefSymmSCMatrix &internal)
	 Convert the internal coordinate Hessian internal'' to Cartesian coordi-
	 nates and copy the result tocartesian''.
     virtual int to_internal (RefSymmSCMatrix &internal, RefSymmSCMatrix &cart)
	 Convert  the Cartesian coordinate Hessian cartesian'' to internal coor-
	 dinates and copy the result tointernal''.
     virtual void print (std::ostream &=ExEnv::out0()) const
	 Print the coordinate.
     virtual void print_simples (std::ostream &=ExEnv::out0()) const
     void guess_hessian (RefSymmSCMatrix &hessian)
	 Calculate an approximate hessian and place the result in ``hessian''.
     RefSymmSCMatrix inverse_hessian (RefSymmSCMatrix &)
	 Given an Hessian, return the inverse of that hessian.

     Public Member Functions inherited from sc::MolecularCoor
     MolecularCoor (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  co-
	 ordinates (be they Cartesian, internal, or whatever) that are being op-
	 timized.
     int to_cartesian (const RefSCVector &internal)
	 Given a set of displaced internal coordinates, update the cartesian co-
	 ordinates 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 ``carte-
	 sian''.
     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	``inter-
	 nal''.
     virtual  int to_cartesian (RefSymmSCMatrix &cartesian, RefSymmSCMatrix &in-
	 ternal)=0
	 Convert the internal coordinate Hessian internal'' to Cartesian coordi-
	 nates and copy the result tocartesian''.
     virtual int to_internal (RefSymmSCMatrix &internal, RefSymmSCMatrix &carte-
	 sian)=0
	 Convert the Cartesian coordinate Hessian cartesian'' to internal  coor-
	 dinates 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

     Public Member Functions inherited from sc::SavableState
     SavableState & operator= (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.
     virtual 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.

     Public Member Functions inherited from sc::DescribedClass
     DescribedClass (const DescribedClass &)
     DescribedClass & operator= (const DescribedClass &)
     ClassDesc * class_desc () const  throw ()
	 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.

     Public Member Functions inherited from sc::RefCount
     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
     void unmanage ()
	 Turn off the reference counting mechanism for this object.
     int managed () const
	 Return 1 if the object is managed. Otherwise return 0.

     Public Member Functions inherited from sc::Identity
     Identifier identifier ()
	 Return the Identifier for this argument.

   Protected Member Functions
     virtual void init ()
	 Initializes the dimensions.

     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 &)
     RefCount & operator= (const RefCount &)

   Protected Attributes
     RefSCDimension dim_

     Protected Attributes inherited from sc::MolecularCoor
     Ref< Molecule > molecule_
     RefSCDimension dnatom3_
     Ref< SCMatrixKit > matrixkit_
     int debug_

   Additional Inherited Members
     Static Public Member Functions inherited from sc::SavableState
     static void save_state (SavableState *s, StateOut &)
     static SavableState * restore_state (StateIn &si)
	 Restores objects saved with save_state.
     static SavableState * key_restore_state (StateIn &si, const char *keyword)
	 Like restore_state, but  keyword  is  used  to  override  values  while
	 restoring.
     static  SavableState  * dir_restore_state (StateIn &si, const char *object-
	 name, const char *keyword=0)

Detailed Description
     The CartMolecularCoor class implements Cartesian coordinates in a way suit-
     able for use in geometry optimizations.

     CartMolecularCoor is a SavableState has StateIn  and  KeyVal  constructors.
     CartMolecularCoor is derived from MolecularCoor.

Member Function Documentation
   virtual RefSCDimension sc::CartMolecularCoor::dim () [virtual]
     These implement the virtual functions inherited from MolecularCoor.

     Implements sc::MolecularCoor.

   void  sc::CartMolecularCoor::guess_hessian  (RefSymmSCMatrix & hessian) [vir-
     tual]
     Calculate an approximate hessian and place the result in ``hessian''.

     Implements sc::MolecularCoor.

   RefSymmSCMatrix  sc::CartMolecularCoor::inverse_hessian  (RefSymmSCMatrix  &)
     [virtual]
     Given an Hessian, return the inverse of that hessian. For singular matrices
     this should return the generalized inverse.

     Implements sc::MolecularCoor.

   virtual  void  sc::CartMolecularCoor::print	(std::ostream & = ExEnv::out0())
     const [virtual]
     Print the coordinate.

     Implements sc::MolecularCoor.

   virtual  void  sc::CartMolecularCoor::print_simples	(std::ostream  &  =  Ex-
     Env::out0()) const [virtual]
     Implements sc::MolecularCoor.

   void sc::CartMolecularCoor::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::MolecularCoor.

   virtual  int  sc::CartMolecularCoor::to_cartesian  (const  Ref< Molecule > &,
     const RefSCVector & internal) [virtual]
     Implements sc::MolecularCoor.

   virtual int	sc::CartMolecularCoor::to_cartesian  (RefSCVector  &  cartesian,
     RefSCVector & internal) [virtual]
     Convert  the internal coordinate gradients in ``internal'' to Cartesian co-
     ordinates and copy these Cartesian coordinate gradients  to  ``cartesian''.
     Only the variable internal coordinate gradients are transformed.

     Implements sc::MolecularCoor.

   virtual int sc::CartMolecularCoor::to_cartesian (RefSymmSCMatrix & cartesian,
     RefSymmSCMatrix & internal) [virtual]
     Convert the internal coordinate Hessian internal'' to Cartesian coordinates
     and  copy	the  result tocartesian''. Only the variable internal coordinate
     force constants are transformed.

     Implements sc::MolecularCoor.

   virtual int sc::CartMolecularCoor::to_internal (RefSCVector & internal) [vir-
     tual]
     Fill in the vector ``internal'' with the current internal coordinates. Note
     that this member will update the values of the  variable  internal  coordi-
     nates.

     Implements sc::MolecularCoor.

   virtual  int sc::CartMolecularCoor::to_internal (RefSCVector & internal, Ref-
     SCVector & cartesian) [virtual]
     Convert the Cartesian coordinate gradients in ``cartesian'' to internal co-
     ordinates and copy these internal	coordinate  gradients  to  ``internal''.
     Only the variable internal coordinate gradients are calculated.

     Implements sc::MolecularCoor.

   virtual  int  sc::CartMolecularCoor::to_internal (RefSymmSCMatrix & internal,
     RefSymmSCMatrix & cartesian) [virtual]
     Convert the Cartesian coordinate Hessian cartesian''  to  internal  coordi-
     nates  and copy the result tointernal''. Only the variable internal coordi-
     nate force constants are calculated.

     Implements sc::MolecularCoor.

Author
     Generated automatically by Doxygen for MPQC from the source code.

Version 2.3.1			 Thu Sep 3 2026 	sc::CartMolecularCoor(3)

home | help