org.opensourcephysics.numerics.rk.irk
Class Radau5Adaptive
java.lang.Object
org.opensourcephysics.numerics.rk.irk.Radau5Light
org.opensourcephysics.numerics.rk.irk.Radau5Adaptive
- Direct Known Subclasses:
- Radau5
public class Radau5Adaptive
- extends Radau5Light
Numerical solution of a stiff system of first order ordinary
differential equations. The method used is an implicit
Runge-Kutta method (Radau IIA) of order 5 with step size
control.
The code is transferred from the Fortran sources.
authors of original Fortran code:
E. Hairer and G. Wanner
Universite de Geneve, Dept. De Mathematiques
ch-1211 Geneve 24, Switzerland
e-mail: rnst.hairer@math.unige.ch
gerhard.wanner@math.unige.ch
original Fortran code is part of the book:
E. Hairer and G. Wanner, Solving ordinary differential
equations II. Stiff and differential-algebraic problems.
Springer series in computational mathematics 14,
Springer-Verlag 1991, second edition 1996.
- Author:
- Andrei Goussev
Constructor Summary |
Radau5Adaptive(ODE ode)
Constructs the Radau5 ODEAdaptiveSolver for a system of ordinary differential equations. |
Method Summary |
double |
doStep()
Steps (advances) the differential equations by the value that less or equal the stepSize
with convergence guarantee |
int |
getErrorCode()
Gets the error code. |
void |
reinitialize(double[] _state)
|
void |
setTolerances(double absTol,
double relTol)
|
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Radau5Adaptive
public Radau5Adaptive(ODE ode)
- Constructs the Radau5 ODEAdaptiveSolver for a system of ordinary differential equations.
- Parameters:
ode
- the system of differential equations.
reinitialize
public void reinitialize(double[] _state)
- Overrides:
reinitialize
in class Radau5Light
doStep
public double doStep()
- Steps (advances) the differential equations by the value that less or equal the stepSize
with convergence guarantee
- Returns:
- the taken step size value
setTolerances
public void setTolerances(double absTol,
double relTol)
getErrorCode
public int getErrorCode()
- Gets the error code.
Error codes:
ODEAdaptiveSolver.NO_ERROR
ODEAdaptiveSolver.DID_NOT_CONVERGE
ODEAdaptiveSolver.BISECTION_EVENT_NOT_FOUND=2;
- Returns:
- int