A class for holding the value of a function together with its derivatives. More...
#include <Value.h>
Public Member Functions | |
| Value () | |
| A constructor that can be used to make Vectors of values. More... | |
| Value (ActionWithValue *av, const std::string &name, const bool withderiv) | |
| A constructor that is used throughout the code to setup the value poiters. More... | |
| void | add (double) |
| Add something to the value of the function. More... | |
| void | addDerivative (unsigned i, double d) |
| Add some derivative to the ith component of the derivatives array. More... | |
| void | addForce (double f) |
| Add some force on this value. More... | |
| bool | applyForce (std::vector< double > &forces) const |
| Apply the forces to the derivatives using the chain rule (if there are no forces this routine returns false) More... | |
| double | bringBackInPbc (double d1) const |
| Bring back one value into the correct pbc if needed, else give back the value. More... | |
| void | chainRule (double df) |
| Apply the chain rule to the derivatives. More... | |
| void | clearDerivatives () |
| Set all the derivatives to zero. More... | |
| void | clearInputForce () |
| Clear the input force on the variable. More... | |
| double | difference (double) const |
| Calculate the difference between the instantaneous value of the function and some other point: other_point-inst_val. More... | |
| double | difference (double d1, double d2) const |
| Calculate the difference between two values of this function: d2 -d1. More... | |
| double | get () const |
| Get the value of the function. More... | |
| double | getDerivative (const unsigned n) const |
| Get the derivative with respect to component n. More... | |
| void | getDomain (std::string &, std::string &) const |
| Get the domain of the quantity. More... | |
| void | getDomain (double &, double &) const |
| Get the domain of the quantity. More... | |
| double | getForce () const |
| Get the value of the force on this colvar. More... | |
| double | getMaxMinusMin () const |
| Get the difference between max and minimum of domain. More... | |
| const std::string & | getName () const |
| Get the name of the quantity. More... | |
| unsigned | getNumberOfDerivatives () const |
| Get the number of derivatives that this particular value has. More... | |
| ActionWithValue * | getPntrToAction () |
| This returns the pointer to the action where this value is calculated. More... | |
| bool | hasDerivatives () const |
| Check whether or not this particular quantity has derivatives. More... | |
| bool | isPeriodic () const |
| Check if the value is periodic. More... | |
| void | resizeDerivatives (int n) |
| Set the number of derivatives. More... | |
| void | set (double) |
| Set the value of the function. More... | |
| void | setDerivative (unsigned i, double d) |
| Set the value of the ith component of the derivatives array. More... | |
| void | setDomain (const std::string &, const std::string &) |
| Set the domain of the function. More... | |
| void | setGradients () |
| This sets up the gradients. More... | |
| void | setNotPeriodic () |
| Set the function not periodic. More... | |
| bool | valueHasBeenSet () const |
| Find out if the value has been set. More... | |
Static Public Member Functions | |
| static double | projection (const Value &, const Value &) |
Private Types | |
| enum | { unset, periodic, notperiodic } |
| Is this quantity periodic. More... | |
Private Member Functions | |
| void | applyPeriodicity () |
| void | setupPeriodicity () |
| Complete the setup of the periodicity. More... | |
Private Attributes | |
| ActionWithValue * | action |
| The action in which this quantity is calculated. More... | |
| std::vector< double > | derivatives |
| The derivatives of the quantity stored in value. More... | |
| std::map< AtomNumber, Vector > | gradients |
| bool | hasDeriv |
| Does this quanity have derivatives. More... | |
| bool | hasForce |
| A flag telling us we have a force acting on this quantity. More... | |
| double | inputForce |
| The force acting on this quantity. More... | |
| double | inv_max_minus_min |
| double | max |
| double | max_minus_min |
| double | min |
| std::string | name |
| The name of this quantiy. More... | |
| enum PLMD::Value:: { ... } | periodicity |
| Is this quantity periodic. More... | |
| std::string | str_max |
| std::string | str_min |
| Various quantities that describe the domain of this value. More... | |
| double | value |
| The value of the quantity. More... | |
| bool | value_set |
| Had the value been set. More... | |
Friends | |
| class | ActionWithValue |
| void | add (const Value &val1, Value *valout) |
| This adds some derivatives onto the value. More... | |
| void | copy (const Value &val1, Value &val2) |
| This copies the contents of a value into a second value (just the derivatives and value) More... | |
| void | copy (const Value &val, Value *val2) |
| This copies the contents of a value into a second value (but second value is a pointer) More... | |
| void | product (const Value &val1, const Value &val2, Value &valout) |
| This calculates val1*val2 and sorts out the derivatives. More... | |
| void | quotient (const Value &val1, const Value &val2, Value *valout) |
| This calculates va1/val2 and sorts out the derivatives. More... | |
A class for holding the value of a function together with its derivatives.
Typically, an object of type PLMD::ActionWithValue will contain one object of type PLUMD::Value that will be named after the label. If the PLMD::ActionWithValue is part of a class that calculates multiple components then the class will contain multiple that will be called label.component-name This class is used to pass information between different PLMD::Action objects. However, if you find a use for a tempory PLMD::Value in some method you are implementing please feel free to use it.
| PLMD::Value::Value | ( | ) |
A constructor that can be used to make Vectors of values.
| PLMD::Value::Value | ( | ActionWithValue * | av, |
| const std::string & | name, | ||
| const bool | withderiv | ||
| ) |
A constructor that is used throughout the code to setup the value poiters.
|
inline |
Add something to the value of the function.
|
inline |
Add some derivative to the ith component of the derivatives array.
|
inline |
Add some force on this value.
| bool PLMD::Value::applyForce | ( | std::vector< double > & | forces | ) | const |
Apply the forces to the derivatives using the chain rule (if there are no forces this routine returns false)
|
inlineprivate |
|
inline |
Bring back one value into the correct pbc if needed, else give back the value.
|
inline |
Apply the chain rule to the derivatives.
|
inline |
Set all the derivatives to zero.
|
inline |
Clear the input force on the variable.
|
inline |
Calculate the difference between the instantaneous value of the function and some other point: other_point-inst_val.
|
inline |
Calculate the difference between two values of this function: d2 -d1.
d2-d1
|
inline |
Get the value of the function.
|
inline |
Get the derivative with respect to component n.
| void PLMD::Value::getDomain | ( | std::string & | minout, |
| std::string & | maxout | ||
| ) | const |
Get the domain of the quantity.
| void PLMD::Value::getDomain | ( | double & | minout, |
| double & | maxout | ||
| ) | const |
Get the domain of the quantity.
|
inline |
Get the value of the force on this colvar.
|
inline |
Get the difference between max and minimum of domain.
|
inline |
Get the name of the quantity.
|
inline |
Get the number of derivatives that this particular value has.
| ActionWithValue * PLMD::Value::getPntrToAction | ( | ) |
This returns the pointer to the action where this value is calculated.
|
inline |
Check whether or not this particular quantity has derivatives.
| bool PLMD::Value::isPeriodic | ( | ) | const |
Check if the value is periodic.
|
inline |
Set the number of derivatives.
|
inline |
Set the value of the function.
|
inline |
Set the value of the ith component of the derivatives array.
| void PLMD::Value::setDomain | ( | const std::string & | pmin, |
| const std::string & | pmax | ||
| ) |
Set the domain of the function.
| void PLMD::Value::setGradients | ( | ) |
This sets up the gradients.
| void PLMD::Value::setNotPeriodic | ( | ) |
Set the function not periodic.
|
private |
Complete the setup of the periodicity.
|
inline |
Find out if the value has been set.
|
friend |
This copies the contents of a value into a second value (just the derivatives and value)
This copies the contents of a value into a second value (but second value is a pointer)
This calculates val1*val2 and sorts out the derivatives.
This calculates va1/val2 and sorts out the derivatives.
|
private |
The action in which this quantity is calculated.
|
private |
The derivatives of the quantity stored in value.
|
private |
|
private |
Does this quanity have derivatives.
|
private |
A flag telling us we have a force acting on this quantity.
|
private |
The force acting on this quantity.
|
private |
|
private |
|
private |
|
private |
|
private |
The name of this quantiy.
| enum { ... } PLMD::Value::periodicity |
Is this quantity periodic.
|
private |
|
private |
Various quantities that describe the domain of this value.
|
private |
The value of the quantity.
|
private |
Had the value been set.
Hosted by GitHub
|
1.8.14
|