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

NAME
     sc::RedundMolecularCoor  -  The RedundMolecularCoor class provides a redun-
     dant set of simple internal coordinates.

SYNOPSIS
     #include <coor.h>

     Inherits sc::IntMolecularCoor.

   Public Member Functions
     RedundMolecularCoor (Ref< Molecule > &mol)
     RedundMolecularCoor (StateIn &)
     RedundMolecularCoor (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.
     void form_coordinates (int keep_variable=0)
	 Actually  form  the variable and constant internal coordinates from the
	 simple internal coordinates.
     void guess_hessian (RefSymmSCMatrix &hessian)
	 Form the approximate hessian.
     RefSymmSCMatrix inverse_hessian (RefSymmSCMatrix &)
	 Invert the hessian.

     Public Member Functions inherited from sc::IntMolecularCoor
     IntMolecularCoor (StateIn &)
     IntMolecularCoor (Ref< Molecule > &mol)
     IntMolecularCoor (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 void form_coordinates (int keep_variable=0)=0
	 Actually  form  the variable and constant internal coordinates from the
	 simple internal coordinates.
     virtual int all_to_cartesian (const Ref< Molecule > &, RefSCVector  &inter-
	 nal)
	 Like  to_cartesians(),  except all internal coordinates are considered,
	 not just the variable ones.
     virtual int all_to_internal (const Ref< Molecule > &,  RefSCVector  &inter-
	 nal)
	 Like to_internal(), except all internal coordinates are considered, not
	 just the variable ones.
     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
     virtual void print_variable (std::ostream &=ExEnv::out0()) const
     virtual void print_constant (std::ostream &=ExEnv::out0()) const
     int nconstrained ()
	 Returns the number of constrained coordinates.

     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.

   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)

     Protected Member Functions inherited from sc::IntMolecularCoor
     void  form_K_matrix  (RefSCDimension  &dredundant,  RefSCDimension &dfixed,
	 RefSCMatrix &K, int *&is_totally_symmetric)
     virtual void init ()
	 This is called by the constructors of classes derived	from  IntMolecu-
	 larCoor.
     virtual void new_coords ()
	 Allocates  memory for the SetIntCoor's used to store the simple and in-
	 ternal coordinates.
     virtual void read_keyval (const Ref< KeyVal > &)
	 Reads the KeyVal input.

     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 inherited from sc::IntMolecularCoor
     Ref< IntCoorGen > generator_
     RefSCDimension dim_
     RefSCDimension dvc_
     Ref< SetIntCoor > variable_
     Ref< SetIntCoor > constant_
     Ref< SetIntCoor > fixed_
     Ref< SetIntCoor > watched_
     Ref< IntCoor > followed_
     Ref< SetIntCoor > bonds_
     Ref< SetIntCoor > bends_
     Ref< SetIntCoor > tors_
     Ref< SetIntCoor > outs_
     Ref< SetIntCoor > extras_
     Ref< SetIntCoor > all_
     int update_bmat_
     int only_totally_symmetric_
     double symmetry_tolerance_
     double simple_tolerance_
     double coordinate_tolerance_
     double cartesian_tolerance_
     double scale_bonds_
     double scale_bends_
     double scale_tors_
     double scale_outs_
     int nextra_bonds_
     int * extra_bonds_
     int given_fixed_values_
     int decouple_bonds_
     int decouple_bends_
     int max_update_steps_
     double max_update_disp_
     int form_print_simples_
     int form_print_variable_
     int form_print_constant_
     int form_print_molecule_

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

Detailed Description
     The  RedundMolecularCoor  class provides a redundant set of simple internal
     coordinates.

Member Function Documentation
   void sc::RedundMolecularCoor::form_coordinates (int keep_variable = 0)  [vir-
     tual]
     Actually  form the variable and constant internal coordinates from the sim-
     ple internal coordinates.

     Implements sc::IntMolecularCoor.

   void sc::RedundMolecularCoor::guess_hessian (RefSymmSCMatrix & hessian) [vir-
     tual]
     Form the approximate hessian.

     Implements sc::MolecularCoor.

   RefSymmSCMatrix sc::RedundMolecularCoor::inverse_hessian (RefSymmSCMatrix  &)
     [virtual]
     Invert the hessian.

     Implements sc::MolecularCoor.

   void sc::RedundMolecularCoor::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::IntMolecularCoor.

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

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

home | help