libgenua
Basic Geometry, Numerical Algorithms and Interfaces
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Groups Pages
Public Member Functions | Protected Attributes | List of all members
StdSecondOrderSystem Class Referenceabstract

Detailed Description

Dense-matrix interface for SDIRK integrators.

This is an implementation of a second-order structural system using dense linear algebra, mostly for testing, debugging purposes or for problems with few degrees of freedom (i.e. O(100)) which do not justify the additional effort of using sparse-matrix operations.

See Also
OwrenSimonsen22, OwrenSimonsen23, OwrenSimonsen34, SecondOrderSystem

#include <sdirk.h>

Inheritance diagram for StdSecondOrderSystem:
[legend]
Collaboration diagram for StdSecondOrderSystem:
[legend]

Public Member Functions

virtual ~StdSecondOrderSystem ()=default
 virtual base class
 
virtual void aSolve (Real hg, Real t, const Vector &u, const Vector &v, Vector &a) override
 solve the system T*a = F(t) - K*u - C*v, with T = M + hg*C + sq(hg)*K
 
virtual void force (Real t, const Vector &u, const Vector &v, Vector &f)=0
 overload this: determine external force
 
- Public Member Functions inherited from SecondOrderSystem
 SecondOrderSystem ()=default
 undefined system
 
virtual ~SecondOrderSystem ()=default
 virtual base class
 

Protected Attributes

Matrix m_M
 constant system matrices
 
Matrix m_T
 current iteration matrix T = M + hg*C + sq(hg)*K
 
Vector m_rhs
 temporary storage
 
Real m_hglast = 0
 value of h*gamma for which T was factored
 
Eigen::LLT< EMatrix > m_llt
 Cholesky factorization of T.
 

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