sc::SetIntCoor Class Reference

The SetIntCoor class describes a set of internal coordinates. More...

#include <coor.h>

Inheritance diagram for sc::SetIntCoor:

sc::SavableState sc::DescribedClass sc::RefCount sc::Identity List of all members.

Public Member Functions

 SetIntCoor (StateIn &)
 SetIntCoor (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 add (const Ref< IntCoor > &)
 Adds an internal coordinate to the set.
void add (const Ref< SetIntCoor > &)
 Adds all the elements of another set to this one.
void pop ()
 Removes the last coordinate from this set.
void clear ()
 Removes all coordinates from the set.
int n () const
 Returns the number of coordinates in the set.
Ref< IntCoorcoor (int i) const
 Returns a reference to the i'th coordinate in the set.
virtual void fd_bmat (const Ref< Molecule > &, RefSCMatrix &)
 Compute the B matrix by finite displacements.
virtual void bmat (const Ref< Molecule > &, RefSCMatrix &)
 Compute the B matrix the old-fashioned way.
virtual void guess_hessian (Ref< Molecule > &, RefSymmSCMatrix &)
 Create an approximate Hessian for this set of coordinates.
virtual void print_details (const Ref< Molecule > &, std::ostream &=ExEnv::out0()) const
 Print the coordinates in the set.
virtual void update_values (const Ref< Molecule > &)
 Recalculate the values of the internal coordinates in the set.
virtual void values_to_vector (const RefSCVector &)
 Copy the values of the internal coordinates to a vector.

Detailed Description

The SetIntCoor class describes a set of internal coordinates.

It can automatically generate these coordinates using a integral coordinate generator object (see the IntCoorGen class) or the internal coordinates can be explicity given.

The following is a sample ParsedKeyVal input for a SetIntCoor object.

  setintcoor<SetIntCoor>: [
    <SumIntCoor>: (
      coor: [
        <StreSimpleCo>:( atoms = [ 1 2 ] )
        <StreSimpleCo>:( atoms = [ 2 3 ] )
        ]
      coef = [ 1.0 1.0 ]
      )
    <BendSimpleCo>:( atoms = [ 1 2 3 ] )
  ]


Constructor & Destructor Documentation

sc::SetIntCoor::SetIntCoor ( const Ref< KeyVal > &   ) 

The KeyVal constructor.

generator
A IntCoorGen object that will be used to generate the internal coordinates.

i
A sequence of integer keywords, all $i$ for $0 \leq i < n$, can be assigned to IntCoor objects.


Member Function Documentation

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

virtual void sc::SetIntCoor::guess_hessian ( Ref< Molecule > &  ,
RefSymmSCMatrix  
) [virtual]

Create an approximate Hessian for this set of coordinates.

This Hessian is a symmetric matrix whose i'th diagonal is the force constant for the i'th coordinate in the set.


The documentation for this class was generated from the following file:
Generated at Mon Dec 3 23:23:46 2007 for MPQC 2.3.1 using the documentation package Doxygen 1.5.2.