LOOS
v2.3.2

Spring functions that are uniform in all directions (ie return a single value) More...
#include <spring_functions.hpp>
Public Member Functions  
loos::DoubleMatrix  constant (const loos::GCoord &u, const loos::GCoord &v, const loos::GCoord &d) 
Actually compute the spring constant as a 3x3 matrix.  
Public Member Functions inherited from ENM::SpringFunction  
virtual std::string  name () const =0 
Name for this particular spring function.  
virtual Params  setParams (const Params &konst)=0 
Sets the internal constants, returning the unused ones.  
virtual bool  validParams () const =0 
Determines if the internal constants are "valid".  
virtual uint  paramSize () const =0 
How many internal constants there are.  
Additional Inherited Members  
Public Types inherited from ENM::SpringFunction  
typedef std::vector< double >  Params 
Protected Member Functions inherited from ENM::SpringFunction  
double  checkConstant (double d) 
Check for negative springconstants. More...  
Spring functions that are uniform in all directions (ie return a single value)
Many spring functions are actually uniform over the 3x3 matrix. The UniformSpringFunction uses the NVI idiom (http://www.gotw.ca/publications/mill18.htm) to allow subclasses to only return a double value, which then gets copied into all elements of the 3x3 matrix.
Note: this means you override the constantImpl() implementation function, NOT the public constant() function.
Definition at line 134 of file spring_functions.hpp.