|
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.