MPQC
2.3.1
|
The LinOPSimpleCo class describes an out-of-plane component of a linear bend internal coordinate of a molecule. More...
#include <simple.h>
Public Member Functions | |
LinOPSimpleCo (const LinOPSimpleCo &) | |
LinOPSimpleCo (const char *refr, int, int, int, const SCVector3 &u) | |
This constructor takes a string containing a label, and three integers a, b, and c which give the indices of the atoms involved in the linear angle abc. More... | |
LinOPSimpleCo (const Ref< KeyVal > &) | |
The KeyVal constructor. More... | |
const char * | ctype () const |
Always returns the string "LINIP". | |
double | radians () const |
Returns the value of the angle abc in radians. | |
double | degrees () const |
Returns the value of the angle abc in degrees. | |
double | preferred_value () const |
Returns the value of the angle abc in degrees. | |
Public Member Functions inherited from sc::SimpleCo | |
SimpleCo (int, const char *=0) | |
This constructor takes an integer argument which is the number of atoms needed to describe the coordinate. More... | |
SimpleCo (const Ref< KeyVal > &, int natom) | |
The KeyVal constructor requires the number of atoms. | |
int | natoms () const |
Returns the number of atoms in the coordinate. | |
int | operator[] (int i) const |
Returns the index of the i'th atom in the coordinate. | |
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. More... | |
SimpleCo (StateIn &) | |
virtual int | operator== (SimpleCo &) |
int | operator!= (SimpleCo &u) |
double | force_constant (Ref< Molecule > &) |
Returns an approximate force constant (a la Almlof). | |
void | update_value (const Ref< Molecule > &) |
Recalculates the value of the coordinate based on the geometry in the Molecule. | |
void | bmat (const Ref< Molecule > &, RefSCVector &bmat, double coef=1.0) |
Fill in a row of the B matrix. | |
virtual double | calc_force_con (Molecule &)=0 |
Calculates an approximate force constant and returns it's value. | |
virtual double | calc_intco (Molecule &, double *=0, double=1)=0 |
Calculate the value of the coordinate based on what's in Molecule. More... | |
void | print_details (const Ref< Molecule > &, std::ostream &=ExEnv::out0()) const |
Print the coordinate. | |
int | equivalent (Ref< IntCoor > &) |
Tests to see if two coordinates are equivalent to each other. More... | |
Public Member Functions inherited from sc::IntCoor | |
IntCoor (StateIn &) | |
IntCoor (const IntCoor &) | |
IntCoor (const char *label=0) | |
This constructor takes a string containing a label for the internal coordinate. More... | |
IntCoor (const Ref< KeyVal > &) | |
The KeyVal constructor. More... | |
virtual const char * | label () const |
Returns the string containing the label for the internal coordinate. | |
virtual double | value () const |
Returns the value of the coordinate in atomic units or radians. | |
virtual void | set_value (double) |
Sets the value of the coordinate in atomic units or radians. | |
virtual void | print (std::ostream &o=ExEnv::out0()) const |
Print information about the coordinate. | |
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. More... | |
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. More... | |
virtual void | save_vbase_state (StateOut &) |
Save the virtual bases for the object. More... | |
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. More... | |
const char * | class_name () const |
Return the name of the object's exact type. | |
int | class_version () const |
Return the version of the class. | |
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. More... | |
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. More... | |
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. More... | |
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) |
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. More... | |
Protected Member Functions inherited from sc::RefCount | |
RefCount (const RefCount &) | |
RefCount & | operator= (const RefCount &) |
Protected Attributes inherited from sc::SimpleCo | |
int | natoms_ |
int * | atoms |
Protected Attributes inherited from sc::IntCoor | |
char * | label_ |
double | value_ |
Static Protected Attributes inherited from sc::IntCoor | |
static double | bohr_conv |
static double | radian_conv |
The LinOPSimpleCo class describes an out-of-plane component of a linear bend internal coordinate of a molecule.
The input is described in the documentation of its parent class SimpleCo. A vector, , given as the keyword u, that is not colinear with either or must be provided, where , , and are the positions of the first, second, and third atoms, respectively.
Usually, LinOPSimpleCo is used with a corresponding LinIPSimpleCo, which is given exactly the same u.
Designating the three atoms as , , and and their cartesian positions as , , and , the value of the coordinate, , is given by
sc::LinOPSimpleCo::LinOPSimpleCo | ( | const char * | refr, |
int | , | ||
int | , | ||
int | , | ||
const SCVector3 & | u | ||
) |
This constructor takes a string containing a label, and three integers a, b, and c which give the indices of the atoms involved in the linear angle abc.
The last argument, u, is a unit vector used to defined the direction perpendicular to the direction in which distortion is measured. Atom numbering begins at atom 1, not atom 0.