RKLab /

Filename Size Date modified Message
42 B
added hgignore file
852 B
Initial import
1.3 KB
Initial import
471 B
Initial import
469 B
Initial import
470 B
Initial import
858 B
Initial import
1.3 KB
Initial import
370 B
Initial import
453 B
Initial import
1.1 KB
Initial import
853 B
Initial import
1.7 KB
Updated solve_IRK to allow time step adaptivity, using Richardson error estimator (and subsequent Richardson extrapolation).
37.6 KB
Updated header comments to better describe methods in one place.
2.4 KB
Updated example problem drivers to use adaptive-step IRK solver as well.
2.5 KB
Updated example problem drivers to use adaptive-step IRK solver as well.
2.9 KB
Updated example problem drivers to use adaptive-step IRK solver as well.
343 B
Initial import
413 B
Initial import
897 B
Initial import
2.2 KB
Updated Newton solver to input separate solution and residual tolerances; solvers currently use the same tolerance for both.
9.1 KB
Updated Newton solver to input separate solution and residual tolerances; solvers currently use the same tolerance for both.
7.7 KB
Removed damping from Newton solver and renamed appropriately.
12.0 KB
Updated Newton solver to input separate solution and residual tolerances; solvers currently use the same tolerance for both.
RKLab provides a suite of Matlab files that implement adaptive-step
explicit and implicit Runge-Kutta methods.  This software is designed
for instructional use and has been implemented to be easily understood
and modified.  As a result, certain efficiency-related optimizations
have been omitted.

We currently provide three classes of methods:
(a) explicit Runge-Kutta (ERK), 
(b) diagonally-implicit Runge-Kutta (DIRK), and
(c) fully implicit Runge-Kutta (IRK).

In addition to these three classes of methods, we provide a large
number of Butcher tables (over 70), holding the coefficients for
existing methods in each of these three categories.

For ERK and DIRK methods, time step adaptivity is enabled for methods
with embeddings (most of the included ERK and DIRK methods include
embeddings). For IRK methods, time step adaptivity is performed using
a Richardson error estimate (cost of 3 solves per step), but leverages
the additional cost through using the Richardson extrapolation for the
time step solution.  All three classes of methods may be run in
so-called "fixed-step mode", wherein the solver will take steps of a
user-supplied magnitude.  This mode is currently required for ERK and
DIRK methods without embeddings.

In addition to these sets of solvers, we provide three example
problems that may be used to test different methods, and that may be
used as a template for creating new problems.  These test problems
include:
(a) a non-stiff variant of the Van der Pol oscillator (two-component
    nonlinear ODE system). 
(b) a stiff Brusselator problem (three-component nonlinear ODE
    system), and
(c) a PDE variant of the Brusselator problem (two-component nonlinear
    PDE system).