sc::IntCoorGen(3)

NAME
sc::IntCoorGen -

IntCoorGen generates a set of simple internal coordinates for a molecule'.

SYNOPSIS

#include <coor.h>

Inherits sc::SavableState'.

  Public Member Functions
IntCoorGen (const Ref< Molecule > &, int nextra=0, int *extra=0)
Create an IntCoorGen given a Molecule and, optionally, extra bonds'.
IntCoorGen (const Ref< KeyVal > &)
The KeyVal constructor'.
IntCoorGen (StateIn &)
void save_data_state (StateOut &)
Standard member'.
virtual void generate (const Ref< SetIntCoor > &)
This generates a set of internal coordinates'.
virtual void print (std::ostream &out=ExEnv::out0()) const
Print out information about this'.

  Protected Member Functions
void init_constants ()
double cos_ijk (Molecule &m, int i, int j, int k)
int hterminal (Molecule &m, BitArrayLTri &bonds, int i)
int nearest_contact (int i, Molecule &m)
void add_bonds (const Ref< SetIntCoor > &list, BitArrayLTri &bonds, Molecule &m)
void add_bends (const Ref< SetIntCoor > &list, BitArrayLTri &bonds, Molecule &m)
void add_tors (const Ref< SetIntCoor > &list, BitArrayLTri &bonds, Molecule &m)
void add_out (const Ref< SetIntCoor > &list, BitArrayLTri &bonds, Molecule &m)

  Protected Attributes
Ref< Molecule > molecule_
int linear_bends_
int linear_lbends_
int linear_tors_
int linear_stors_
int nextra_bonds_
int * extra_bonds_
double linear_bend_thres_
double linear_tors_thres_
double radius_scale_factor_

Detailed Description

IntCoorGen generates a set of simple internal coordinates for a molecule'.

Constructor & Destructor Documentation

  sc::IntCoorGen::IntCoorGen (const Ref< Molecule > &, intnextra = 0, int *extra = 0)

Create an IntCoorGen given a Molecule and, optionally, extra bonds'. IntCoorGen keeps a reference to extra and deletes it when the destructor is called'.

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

The KeyVal constructor'. .IP "molecule" 1c A Molecule object'. There is no default'.

radius_scale_factor
    If the distance between two atoms is less than the radius scale factor times the sum of the atoms' atomic radii, then a bond is placed between the two atoms for the purpose of finding internal coordinates'. The default is 1'.1'.

linear_bend_threshold
    A bend angle in degress greater than 180 minus this keyword's floating point value is considered a linear bend'. The default is 1'.0'.

linear_tors_threshold
    The angles formed by atoms a-b-c and b-c-d are checked for near linearity'. If an angle in degrees is greater than 180 minus this keyword's floating point value, then the torsion is classified as a linear torsion'. The default is 1'.0'.

linear_bend
    Generate BendSimpleCo objects to describe linear bends'. The default is false'.

linear_lbend
    Generate pairs of LinIPSimpleCo and LinIPSimpleCo objects to describe linear bends'. The default is true'.

linear_tors
    Generate TorsSimpleCo objects to described linear torsions'. The default is false'.

linear_stors
    Generate ScaledTorsSimpleCo objects to described linear torsions'. The default is true'.

extra_bonds
    This is a vector of atom numbers, where elements $2 (i-1) + 1$ and $2 i$ 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'.

Author

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