LOOS 4.1.0
The Lightweight Object Oriented Structural analysis library/toolkit
|
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 spring-constants. | |
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.
|
inlinevirtual |
Actually compute the spring constant as a 3x3 matrix.
Implements ENM::SpringFunction.