MathTL
 All Classes Functions Variables Typedefs Enumerations
Public Types | Public Member Functions | Protected Attributes
MathTL::ExplicitRungeKuttaScheme< VECTOR > Class Template Reference

#include <runge_kutta.h>

Inheritance diagram for MathTL::ExplicitRungeKuttaScheme< VECTOR >:
MathTL::OneStepScheme< VECTOR >

List of all members.

Public Types

enum  Method {
  RK12, RK23, Fehlberg34, DoPri45,
  DoPri78
}

Public Member Functions

 ExplicitRungeKuttaScheme (const Method method)
void increment (const AbstractIVP< VECTOR > *ivp, const double t_m, const VECTOR &u_m, const double tau, VECTOR &u_mplus1, VECTOR &error_estimate, const double tolerance=1e-2) const
int order () const

Protected Attributes

bool fsal
Vector< double > c
 node vector
LowerTriangularMatrix< double > A
 Butcher coefficients.
Vector< double > b
 weight vectors
Vector< double > bhat
int p
 consistency

Detailed Description

template<class VECTOR>
class MathTL::ExplicitRungeKuttaScheme< VECTOR >

The following class models an s-stage explicit (embedded) Runge-Kutta method for the numerical solution of (abstract) nonautonomous initial value problems of the form

u'(t) = F(t, u(t)), u(0) = u_0.


Member Enumeration Documentation

template<class VECTOR >
enum MathTL::ExplicitRungeKuttaScheme::Method

enum type for different builtin RK schemes

References: [DB] Deuflhard/Bornemann, Numerische Mathematik II, de Gruyter [S] B.A.Schmitt, Numerik IIb, Vorlesungsskript


Constructor & Destructor Documentation

template<class VECTOR >
MathTL::ExplicitRungeKuttaScheme< VECTOR >::ExplicitRungeKuttaScheme ( const Method  method)

constructor from one of the builtin RK schemes


Member Function Documentation

template<class VECTOR >
void MathTL::ExplicitRungeKuttaScheme< VECTOR >::increment ( const AbstractIVP< VECTOR > *  ivp,
const double  t_m,
const VECTOR &  u_m,
const double  tau,
VECTOR &  u_mplus1,
VECTOR &  error_estimate,
const double  tolerance = 1e-2 
) const [virtual]

increment function + local error estimation

Implements MathTL::OneStepScheme< VECTOR >.

template<class VECTOR >
int MathTL::ExplicitRungeKuttaScheme< VECTOR >::order ( ) const [inline, virtual]

consistency/convergence order p

Implements MathTL::OneStepScheme< VECTOR >.


Member Data Documentation

template<class VECTOR >
bool MathTL::ExplicitRungeKuttaScheme< VECTOR >::fsal [protected]

"first same as last" flag (i.e., the first f-evaluation in the next time step is the last one of the current step)


The documentation for this class was generated from the following files:
 All Classes Functions Variables Typedefs Enumerations