Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

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

NAME
       sc::SymmMolecularCoor - The SymmMolecularCoor class derives from
       IntMolecularCoor.

SYNOPSIS
       #include	<coor.h>

       Inherits	sc::IntMolecularCoor.

   Public Member Functions
       SymmMolecularCoor (Ref< Molecule	> &mol)
       SymmMolecularCoor (StateIn &)
       SymmMolecularCoor (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
	   simple internal coordinates.
       void guess_hessian (RefSymmSCMatrix &hessian)
	   Form	the approximate	hessian.
       RefSymmSCMatrix inverse_hessian (RefSymmSCMatrix	&)
	   Invert the hessian.
       Ref< NonlinearTransform > change_coordinates ()
	   This	overrides MoleculeCoor's change_coordinates and	might
	   transform to	a new set of coordinates.
       void print (std::ostream	&=ExEnv::out0()) const
	   Print the coordinate.

       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
	   &internal)
	   Like	to_cartesians(), except	all internal coordinates are
	   considered, not just	the variable ones.
       virtual int all_to_internal (const Ref< Molecule	> &, RefSCVector
	   &internal)
	   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
	   &internal)
       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 ``cartesian''.
       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 ``internal''.
       virtual int to_cartesian	(RefSymmSCMatrix &cart,	RefSymmSCMatrix
	   &internal)
	   Convert the internal	coordinate Hessian internal'' to Cartesian
	   coordinates and copy	the result tocartesian''.
       virtual int to_internal (RefSymmSCMatrix	&internal, RefSymmSCMatrix
	   &cart)
	   Convert the Cartesian coordinate Hessian cartesian''	to internal
	   coordinates 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
	   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

       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
       void init ()
	   This	is called by the constructors of classes derived from
	   IntMolecularCoor.

       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
	   IntMolecularCoor.
       virtual void new_coords ()
	   Allocates memory for	the SetIntCoor's used to store the simple and
	   internal 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
       int change_coordinates_
       int transform_hessian_
       double max_kappa2_

       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_

   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
	   *objectname,	const char *keyword=0)

Detailed Description
       The SymmMolecularCoor class derives from	IntMolecularCoor.

       It provides a unique set	of totally symmetric internal coordinates.
       Giving an MolecularEnergy object	a coor is usually the best way to
       optimize	a molecular structure. However,	for some classes of molecules
       SymmMolecularCoor doesn't work very well. For example, enediyne can
       cause problems. In these	cases, cartesian coordinates (obtained by not
       giving the MolecularEnergy object the coor keyword) might be better or
       you can manually	specify	the coordinates	that the SymmMolecularCoor
       object uses with	the variable keyword (see the IntMolecularCoor class
       description).

Constructor & Destructor Documentation
   sc::SymmMolecularCoor::SymmMolecularCoor (const Ref<	KeyVal > &)
       The KeyVal constructor.

       change_coordinates
	   If  true,  the  quality of the internal coordinates will be checked
	   periodically	and if they are	beginning to become linearly dependent
	   a new set of	internal coordinates will be computed. The default  is
	   false.

       max_kappa2
	   A measure of	the quality of the internal coordinates. Values	of the
	   2-norm  condition,  $ppa_2$,	 larger	than max_kappa2	are considered
	   linearly dependent. The default is 10.0.

       transform_hessian
	   If true, the	hessian	will be	transformed every  time	 the  internal
	   coordinates are formed. The default is true.

Member Function	Documentation
   Ref<	  NonlinearTransform  >	 sc::SymmMolecularCoor::change_coordinates  ()
       [virtual]
       This overrides MoleculeCoor's change_coordinates	and might transform to
       a new set of coordinates.

       Reimplemented from sc::MolecularCoor.

   void	 sc::SymmMolecularCoor::form_coordinates  (int	keep_variable	=   0)
       [virtual]
       Actually	 form  the  variable  and  constant  internal coordinates from
       simple internal coordinates.

       Implements sc::IntMolecularCoor.

   void	 sc::SymmMolecularCoor::guess_hessian  (RefSymmSCMatrix	  &   hessian)
       [virtual]
       Form the	approximate hessian.

       Implements sc::MolecularCoor.

   void	sc::SymmMolecularCoor::init () [protected],  [virtual]
       This   is   called   by	 the  constructors  of	classes	 derived  from
       IntMolecularCoor.  It  initialized  the	lists	of   simple   internal
       coordinates, and	then calls the form_coordinates() member.

       Reimplemented from sc::IntMolecularCoor.

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

       Implements sc::MolecularCoor.

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

       Reimplemented from sc::IntMolecularCoor.

   void	sc::SymmMolecularCoor::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			Tue May	13 2025	      sc::SymmMolecularCoor(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=sc_SymmMolecularCoor&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help