sc::SumIntCoor - SumIntCoor is used to construct linear combinations of internal coordinates.
Contents
Constructor & Destructor Documentation
sc::SumIntCoor::SumIntCoor(constRef<KeyVal>&)
The KeyVal constructor.
coor
A vector of IntCoor objects that define the summed coordinates.
coef
A vector of floating point numbers that gives the coefficients of the summed coordinates.
Detailed Description
SumIntCoor is used to construct linear combinations of internal coordinates.
The following is a sample ParsedKeyVal input for a SumIntCoor object:
sumintcoor<SumIntCoor>: (
coor: [
<StreSimpleCo>:( atoms = [ 1 2 ] )
<StreSimpleCo>:( atoms = [ 2 3 ] )
]
coef = [ 1.0 1.0 ]
)
Member Function Documentation
voidsc::SumIntCoor::add(Ref<IntCoor>&,doublecoef)
Add a coordinate to the linear combination. coef is the coefficient for the added coordinate.
voidsc::SumIntCoor::save_data_state(StateOut&)[virtual]
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR
initializes them. This must be implemented by the derived class if the class has data.
Reimplemented from sc::IntCoor.
Name
sc::SumIntCoor - SumIntCoor is used to construct linear combinations of internal coordinates.
Synopsis
#include <coor.h>
Inherits sc::IntCoor.
PublicMemberFunctionsSumIntCoor (StateIn &)
SumIntCoor (const char *)
This constructor takes a string containing a label for this coordinate.
SumIntCoor (const Ref< KeyVal > &)
The KeyVal constructor.
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.
int n ()
Returns the number of coordinates in this linear combination.
void add (Ref< IntCoor > &, double coef)
Add a coordinate to the linear combination.
void normalize ()
This function normalizes all the coefficients.
double preferred_value () const
Returns the value of the coordinate in a.u. and radians.
const char * ctype () const
Always returns ``SUM''.
void print_details (const Ref< Molecule > &, std::ostream &=ExEnv::out0()) const
Print the individual coordinates in the sum with their coefficients.
double force_constant (Ref< Molecule > &)
Returns the weighted sum of the individual force constants.
void update_value (const Ref< Molecule > &)
Recalculate the value of the coordinate.
void bmat (const Ref< Molecule > &, RefSCVector &bmat, double coef=1.0)
Fill in a row the the B matrix.
int equivalent (Ref< IntCoor > &)
Always returns 0.
AdditionalInheritedMembers