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

FreeBSD Manual Pages

  
 
  

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

NAME
       sc::IntMolecularCoor - The IntMolecularCoor abstract class describes a
       molecule's coordinates in terms of internal coordinates.

SYNOPSIS
       #include	<coor.h>

       Inherits	sc::MolecularCoor.

       Inherited by sc::RedundMolecularCoor, and sc::SymmMolecularCoor.

   Public Member Functions
       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 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
       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 IntMolecularCoor abstract class describes a molecule's coordinates
       in terms	of internal coordinates.

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

       variable
	   Gives  a  SetIntCoor	object that specifies the internal coordinates
	   that	can be varied. If this is not given, the variable  coordinates
	   will	be generated.

       followed
	   Gives  a  IntCoor object that specifies a coordinate	to used	as the
	   first coordinate in the variable  coordinate	 list.	The  remaining
	   coordinates	will  be  automatically	 generated.  The default is no
	   followed coordinate.	This option is usually used to set the initial
	   search direction for	a transition state optimization, where	it  is
	   used	 in  conjunction  with	the mode_following keyword read	by the
	   EFCOpt class.

       fixed
	   Gives a SetIntCoor object that specifies the	 internal  coordinates
	   that	will be	fixed. The default is no fixed coordinates.

       watched
	   Gives  a SetIntCoor object that specifies internal coordinates that
	   will	be printed out	whenever  the  coordinates  are	 changed.  The
	   default is none.

       have_fixed_values
	   If  true,  then  values  for	the fixed coordinates must be given in
	   fixed and an	attempt	will be	made to	displace the initial  geometry
	   to the given	fixed values. The default is false.

       extra_bonds
	   This	 is  only  read	if the generator keyword is not	given. It is a
	   vector of atom numbers, where elements $(i-1)imes 2 + 1$ and	$iimes
	   2$ specify the atoms	 which	are  bound  in	extra  bond  $i$.  The
	   extra_bonds	keyword	 should	 only be needed	for weakly interacting
	   fragments, otherwise	all the	needed bonds will be found.

       generator
	   Specifies an	 IntCoorGen  object  that  creates  simple,  redundant
	   internal  coordinates.  If this keyword is not given, then a	vector
	   giving extra	bonds to be added is read from extra_bonds and this is
	   used	to create an IntCoorGen	object.

       decouple_bonds
	   Automatically   generated   internal	  coordinates	 are	linear
	   combinations	of possibly any	mix of simple internal coordinates. If
	   decouple_bonds is true, an attempt will be made to form some	of the
	   internal  coordinates  from	just  stretch  simple coordinates. The
	   default is false.

       decouple_bends
	   This	is like	decouple_bonds except  it  applies  to	the  bend-like
	   coordinates.	The default is false.

       max_update_disp
	   The	maximum	 displacement  to be used in the displacement to fixed
	   internal coordinates	values.	Larger displacements  will  be	broken
	   into	 several  smaller  displacements  and  new coordinates will be
	   formed for each of these displacments. This is only used when fixed
	   and have_fixed_values are given. The	default	is 0.5.

       max_update_steps
	   The	maximum	 number	 of  steps  permitted  to   convert   internal
	   coordinate displacements to cartesian coordinate displacements. The
	   default is 100.

       update_bmat
	   Displacements  in internal coordinates are converted	to a cartesian
	   displacements iteratively.  If  there  are  large  changes  in  the
	   cartesian  coordinates  during  conversion,	then recompute the $B$
	   matrix, which is using to do	the conversion.	The default is false.

       only_totally_symmetric
	   If a	simple test reveals that an internal coordinate	is not totally
	   symmetric, then it will not be added	 to  the  internal  coordinate
	   list. The default is	true.

       simple_tolerance
	   The	internal  coordinates  are  formed  as	linear combinations of
	   simple,   redundant	 internal   coordinates.   Coordinates	  with
	   coefficients	 smaller  then	simple_tolerance  will be omitted. The
	   default is 1.0e-3.

       cartesian_tolerance
	   The tolerance for conversion	of internal  coordinate	 displacements
	   to cartesian	displacements. The default is 1.0e-12.

       form:print_simple
	   Print the simple internal coordinates. The default is false.

       form:print_variable
	   Print the variable internal coordinates. The	default	is false.

       form:print_constant
	   Print the constant internal coordinates. The	default	is false.

       form:print_molecule
	   Print the molecule when forming coordinates.	The default is false.

       scale_bonds
	   Obsolete. The default value is 1.0.

       scale_bends
	   Obsolete. The default value is 1.0.

       scale_tors
	   Obsolete. The default value is 1.0.

       scale_outs
	   Obsolete. The default value is 1.0.

       symmetry_tolerance
	   Obsolete. The default is 1.0e-5.

       coordinate_tolerance
	   Obsolete. The default is 1.0e-7.

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

       Implements sc::MolecularCoor.

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

       Implemented in sc::SymmMolecularCoor, and sc::RedundMolecularCoor.

   virtual void	sc::IntMolecularCoor::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 in	sc::SymmMolecularCoor.

   int sc::IntMolecularCoor::nconstrained () [virtual]
       Returns the number of constrained coordinates.

       Reimplemented from sc::MolecularCoor.

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

       Implements sc::MolecularCoor.

       Reimplemented in	sc::SymmMolecularCoor.

   virtual   void   sc::IntMolecularCoor::print_simples	  (std::ostream	  &  =
       ExEnv::out0()) const [virtual]
       Implements sc::MolecularCoor.

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

       Reimplemented in	sc::SymmMolecularCoor, and sc::RedundMolecularCoor.

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

   virtual  int	 sc::IntMolecularCoor::to_cartesian  (RefSCVector & cartesian,
       RefSCVector & internal) [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.

       Implements sc::MolecularCoor.

   virtual    int    sc::IntMolecularCoor::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::IntMolecularCoor::to_internal  (RefSCVector  &  internal)
       [virtual]
       Fill  in	the vector ``internal''	with the current internal coordinates.
       Note that this member will update the values of the  variable  internal
       coordinates.

       Implements sc::MolecularCoor.

   virtual  int	 sc::IntMolecularCoor::to_internal  (RefSCVector  &  internal,
       RefSCVector & cartesian)	[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.

       Implements sc::MolecularCoor.

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

       Implements sc::MolecularCoor.

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

Version	2.3.1			Tue May	13 2025	       sc::IntMolecularCoor(3)

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

home | help