MPQC 3.0.0-alpha
Loading...
Searching...
No Matches
sc::IntCoorGen Class Reference

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

#include <chemistry/molecule/coor.h>

Inheritance diagram for sc::IntCoorGen:
sc::SavableState sc::DescribedClass sc::RefCount

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.
 
- Public Member Functions inherited from sc::SavableState
SavableStateoperator= (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.
 
- Public Member Functions inherited from sc::DescribedClass
 DescribedClass (const DescribedClass &)
 
DescribedClassoperator= (const DescribedClass &)
 
ClassDescclass_desc () const MPQC__NOEXCEPT
 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.
 
Ref< DescribedClassref ()
 Return this object wrapped up in a Ref smart pointer.
 
- Public Member Functions inherited from sc::RefCount
size_t identifier () const
 Return the unique identifier for this object that can be compared for different objects of different types.
 
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
 Return 1 if the object is managed. Otherwise return 0.
 

Static Public Member Functions

static BitArrayLTri adjacency_matrix (const Molecule &mol, double radius_scaling_factor=1.1)
 computes the adjacency matrix for this molecule using atomic radii and the scaling_factor
 
static std::vector< std::set< int > > find_disconnected_subgraphs (const BitArrayLTri &adjmat)
 given the adjacency matrix find all disconnected subgraphs, each subgraph is specified by a set of vertex indices
 
- Static Public Member Functions inherited from sc::SavableState
static void save_state (SavableState *s, StateOut &)
 
static SavableStaterestore_state (StateIn &si)
 Restores objects saved with save_state.
 
static SavableStatekey_restore_state (StateIn &si, const char *keyword)
 Like restore_state, but keyword is used to override values while restoring.
 
static SavableStatedir_restore_state (StateIn &si, const char *objectname, const char *keyword=0)
 

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)
 
void connect_subgraphs (const Molecule &mol, BitArrayLTri &adjacency_matrix)
 (potentially) modifies the adjacency matrix to make sure that there are no disconnected subgraphs
 
- 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 &)
 
RefCountoperator= (const RefCount &)
 

Protected Attributes

Ref< Moleculemolecule_
 
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

◆ IntCoorGen() [1/2]

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.

◆ IntCoorGen() [2/2]

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

◆ print()

virtual void sc::IntCoorGen::print ( std::ostream & out = ExEnv::out0()) const
virtual

Print out information about this.

Reimplemented from sc::DescribedClass.

◆ save_data_state()

void sc::IntCoorGen::save_data_state ( StateOut & )
virtual

Standard member.

Reimplemented from sc::SavableState.


The documentation for this class was generated from the following file:

Generated at Wed Sep 25 2024 02:45:33 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.12.0.