LOOS 4.1.0
The Lightweight Object Oriented Structural analysis library/toolkit
Loading...
Searching...
No Matches
Public Member Functions | List of all members
ENM::UniformSpringFunction Class Referenceabstract

Spring functions that are uniform in all directions (ie return a single value) More...

#include <spring_functions.hpp>

Inheritance diagram for ENM::UniformSpringFunction:
Inheritance graph
[legend]
Collaboration diagram for ENM::UniformSpringFunction:
Collaboration graph
[legend]

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.
 

Detailed Description

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.

Member Function Documentation

◆ constant()

loos::DoubleMatrix ENM::UniformSpringFunction::constant ( const loos::GCoord & u,
const loos::GCoord & v,
const loos::GCoord & d )
inlinevirtual

Actually compute the spring constant as a 3x3 matrix.

Implements ENM::SpringFunction.


The documentation for this class was generated from the following file: