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

Detailed Description

Second-order three-stage SDIRK method.

As opposed to the 2-stage method, numerical dissipation in this method can be controlled. The default constructor yields the highest accuracy (with order 3), for high dissipation, use gamma = 1 (order 2), for low dissipation, gamma = 0.19.

Todo:
Implement embedded error estimator

B. Owren and H.H. Simonsen: "Alternative integration methods for problems in structural dynamics." Comput. Methods Appl. Mech. Engrg., 122:1–10, 1995.

See Also
OwrenSimonsen22, OwrenSimonsen34, SecondOrderSystem, SdirkBase

#include <sdirk.h>

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

Public Member Functions

 OwrenSimonsen23 (Real gamma=0.43586652150845899941601945)
 for L-stability, 0.1804 < gamma < 2.1856
 
- Public Member Functions inherited from SdirkBase< 3 >
Real step (SecondOrderSystem &sys, Real tn, Real h, const Vector &un, const Vector &vn, Vector &us, Vector &vs)
 perform a single step from tn to tn + h, return error estimate if possible
 
Real richardson (SecondOrderSystem &sys, Real tn, Real h, const Vector &un, const Vector &vn, Vector &us, Vector &vs)
 perform Richardson extrapolation, return error estimate
 

Additional Inherited Members

- Protected Member Functions inherited from SdirkBase< 3 >
void initCoefficients ()
 compute the derived coefficients
 
void initOwrenSimonsen ()
 compute the b, c for stiffly accurate rules
 
void allocate (size_t n)
 allocate workspace
 
Real nextStep (Real h, Real errorEst) const
 determine new stepsize from error estimate and tolerance
 
- Protected Attributes inherited from SdirkBase< 3 >
SMatrix< N, N > m_a
 coefficients multiplying y'
 
SVector< N > m_b
 result coefficients
 
SVector< N > m_bhat
 coefficients for error estimator (m_estage > 0)
 
SVector< N > m_c
 timestep coefficient
 
Vector m_k [N]
 workspace
 
Real m_gamma
 diagonal coefficient gamma
 
Real m_hReduction
 stepsize reduction limit
 
Real m_hExpansion
 stepsize expansion limit
 
Real m_order
 order of the advancing method
 
int m_estage
 number of stages of the embedded error estimator
 

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