#include <MultiValue.h>
Public Member Functions | |
MultiValue (const std::size_t &, const std::size_t &) | |
void | addDerivative (const unsigned &, const unsigned &, const double &) |
Add derivative. More... | |
void | addTemporyDerivative (const unsigned &jder, const double &der) |
Add tempory derivatives - this is used for calculating quotients. More... | |
void | addTemporyValue (const double &val) |
Add to the tempory value. More... | |
void | addValue (const unsigned &, const double &) |
Add value numbered. More... | |
void | chainRule (const unsigned &, const unsigned &, const unsigned &, const unsigned &, const double &, const unsigned &, std::vector< double > &buffer) |
Transfer derivatives to buffer. More... | |
void | clear (const unsigned &) |
Clear a value. More... | |
void | clearAll () |
Clear all values. More... | |
void | clearTemporyDerivatives () |
Clear the tempory derivatives. More... | |
void | completeUpdate () |
void | copyDerivatives (MultiValue &) |
void | copyValues (MultiValue &) const |
void | emptyActiveMembers () |
double | get (const unsigned &) const |
Return the ith value. More... | |
unsigned | getActiveIndex (const unsigned &) const |
std::vector< Vector > & | getAtomVector () |
double | getDerivative (const unsigned &, const unsigned &) const |
Return a derivative value. More... | |
std::vector< unsigned > & | getIndices () |
unsigned | getNumberActive () const |
unsigned | getNumberOfDerivatives () const |
Get the number of derivatives in the stash. More... | |
unsigned | getNumberOfValues () const |
Get the number of values in the stash. More... | |
std::vector< unsigned > & | getSortIndices () |
double | getTemporyDerivative (const unsigned &jder) const |
Get one of the tempory derivatives. More... | |
bool | isActive (const unsigned &ind) const |
void | putIndexInActiveArray (const unsigned &) |
void | quotientRule (const unsigned &nder, const unsigned &oder) |
void | resize (const std::size_t &, const std::size_t &) |
void | setDerivative (const unsigned &ival, const unsigned &jder, const double &der) |
Set the value of the derivative. More... | |
void | setValue (const unsigned &, const double &) |
Set value numbered. More... | |
void | sortActiveList () |
bool | updateComplete () |
Functions for accessing active list. More... | |
void | updateDynamicList () |
void | updateIndex (const unsigned &) |
Private Attributes | |
bool | atLeastOneSet |
Logical to check if any derivatives were set. More... | |
std::vector< double > | derivatives |
Derivatives. More... | |
DynamicList< unsigned > | hasDerivatives |
Used to ensure rapid accumulation of derivatives. More... | |
std::vector< unsigned > | indices |
This is a fudge to save on vector resizing in MultiColvar. More... | |
unsigned | nderivatives |
Number of derivatives per value. More... | |
std::vector< unsigned > | sort_indices |
std::vector< Vector > | tmp_atoms |
std::vector< double > | tmpder |
Tempory vector of derivatives (used for calculating quotients. More... | |
double | tmpval |
Tempory value. More... | |
std::vector< double > | values |
Values of quantities. More... | |
PLMD::MultiValue::MultiValue | ( | const std::size_t & | , |
const std::size_t & | |||
) |
|
inline |
Add derivative.
|
inline |
Add tempory derivatives - this is used for calculating quotients.
|
inline |
Add to the tempory value.
|
inline |
Add value numbered.
void PLMD::MultiValue::chainRule | ( | const unsigned & | ival, |
const unsigned & | iout, | ||
const unsigned & | stride, | ||
const unsigned & | off, | ||
const double & | df, | ||
const unsigned & | bufstart, | ||
std::vector< double > & | buffer | ||
) |
Transfer derivatives to buffer.
void PLMD::MultiValue::clear | ( | const unsigned & | ival | ) |
Clear a value.
void PLMD::MultiValue::clearAll | ( | ) |
Clear all values.
void PLMD::MultiValue::clearTemporyDerivatives | ( | ) |
Clear the tempory derivatives.
|
inline |
void PLMD::MultiValue::copyDerivatives | ( | MultiValue & | outvals | ) |
void PLMD::MultiValue::copyValues | ( | MultiValue & | outvals | ) | const |
|
inline |
|
inline |
Return the ith value.
|
inline |
|
inline |
|
inline |
Return a derivative value.
|
inline |
|
inline |
|
inline |
Get the number of derivatives in the stash.
|
inline |
Get the number of values in the stash.
|
inline |
|
inline |
Get one of the tempory derivatives.
|
inline |
|
inline |
void PLMD::MultiValue::quotientRule | ( | const unsigned & | nder, |
const unsigned & | oder | ||
) |
void PLMD::MultiValue::resize | ( | const std::size_t & | , |
const std::size_t & | |||
) |
|
inline |
Set the value of the derivative.
|
inline |
Set value numbered.
|
inline |
|
inline |
Functions for accessing active list.
|
inline |
|
inline |
|
private |
Logical to check if any derivatives were set.
|
private |
Derivatives.
|
private |
Used to ensure rapid accumulation of derivatives.
|
private |
This is a fudge to save on vector resizing in MultiColvar.
|
private |
Number of derivatives per value.
|
private |
|
private |
|
private |
Tempory vector of derivatives (used for calculating quotients.
|
private |
Tempory value.
|
private |
Values of quantities.
Hosted by GitHub | 1.8.17 |