|
MPQC 2.3.1
|
The LinIPSimpleCo class describes an in-plane component of a linear bend internal coordinate of a molecule. More...
#include <simple.h>


Public Member Functions | |
| LinIPSimpleCo (const LinIPSimpleCo &) | |
| LinIPSimpleCo (const char *refr, int, int, int, const SCVector3 &u) | |
| This constructor takes a string containing a label, and three integers a, b, and d which give the indices of the atoms involved in the linear angle abc. | |
| LinIPSimpleCo (const Ref< KeyVal > &) | |
| The KeyVal constructor. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| IntCoor (const Ref< KeyVal > &) | |
| The KeyVal constructor. | |
| 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. | |
| 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 &) | |
| DescribedClass & | operator= (const DescribedClass &) |
| ClassDesc * | class_desc () const throw () |
| 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. | |
| 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. | |
| 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. | |
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. | |
| 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. | |
| 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 LinIPSimpleCo class describes an in-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, 





Usually, LinIPSimpleCo is used with a corresponding LinOPSimpleCo, which is given exactly the same u.
Designating the three atoms as 






![\[ \bar{u}_{ab} = \frac{\bar{r}_a - \bar{r}_b}{\| \bar{r}_a - \bar{r}_b \|}\]](form_20.png)
![\[ \bar{u}_{cb} = \frac{\bar{r}_b - \bar{r}_c}{\| \bar{r}_c - \bar{r}_b \|}\]](form_40.png)
![\[ \theta_i = \pi - \arccos ( \bar{u}_{ab} \cdot \bar{u} )
- \arccos ( \bar{u}_{cb} \cdot \bar{u} )\]](form_41.png)
| sc::LinIPSimpleCo::LinIPSimpleCo | ( | const char * | refr, |
| int | , | ||
| int | , | ||
| int | , | ||
| const SCVector3 & | u ) |
This constructor takes a string containing a label, and three integers a, b, and d 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 in which distortion is measured. Atom numbering begins at atom 1, not atom 0.
|
virtual |
Always returns the string "LINIP".
Implements sc::IntCoor.
|
virtual |
Returns the value of the angle abc in degrees.
Reimplemented from sc::IntCoor.