sc_IntCoorGen(3)
IntCoorGen generates a set of simple internal coordinates for a molecule.
Description
sc::IntCoorGen
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_
Additional Inherited Members
Detailed Description
IntCoorGen generates a set of simple internal coordinates for a molecule.
Constructor & Destructor Documentation
sc::IntCoorGen::IntCoorGen (const Ref< Molecule > &, int nextra = 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.
molecule
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.
Member Function Documentation
virtual void sc::IntCoorGen::print (std::ostream & out = ExEnv::out0()) const[virtual]
Print out information about this.
Reimplemented from sc::DescribedClass.
void sc::IntCoorGen::save_data_state (StateOut &) [virtual]
Standard member.
Reimplemented from sc::SavableState.
Author
Generated automatically by Doxygen for MPQC from the source code.