org.opensourcephysics.numerics.rk.irk
Class Radau5Adaptive

java.lang.Object
  extended by org.opensourcephysics.numerics.rk.irk.Radau5Light
      extended by 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 org.opensourcephysics.numerics.rk.irk.Radau5Light
getCounter, getODE, getStepSize, initialize, setMaximumStepSize, setStepSize
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Radau5Adaptive

public Radau5Adaptive(ODE ode)
Constructs the Radau5 ODEAdaptiveSolver for a system of ordinary differential equations.

Parameters:
ode - the system of differential equations.
Method Detail

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