Thursday, May 8, 2014

Kaps-Rentrop’s Variable Step Size Procedure

The need for a variable stepsize control becomes evident when solving a series of ODE’s that have varying settling times for the solution. The requirement for stepsize is limited by the variable that has the shortest settling time, while the small step may be an over kill for the variables with slower settling times. Press et al (Numerical Recipes, The Art of Scientific Computing) very beautifully state that “many small steps should tiptoe through treacherous terrain, while a few great strides should speed through smooth uninteresting countryside”.

P. Kaps & P. Rentrop (Generalized Runge Kutta Methods of Order Four With Stepsize Control for Stiff ODE’s, Numerical Mathematics, vol. 33, 1979, pp. 55-68) have suggested the following stepsize control for adaptive steps in the integration of ODE’s.

Error estimation (and control) is performed by using two separate calculations with coefficients from the Butcher table as described in the Merson’s method. Having calculated y(n+1) and ycap(n+1),

1-      Define a suitable scaling factor
New Picture

2-      Calculate the local Error estimate, EST 
 New Picture (1)

 3-      Given a user supplied tolerance TOL, the new step size can be calculated as
 New Picture (2)

 4-      The following algorithm can then be used for stepsize control:
 Do Until EST <= TOL

-       Calculate hnew
-       Recalculate y(n+1) and ycap(n+1) with hnew


At each stage of the iterative process, hnew is not accepted until EST<=TOL. hnew is progressively reduced in size until EST<=TOL. Once this condition is met, the same formulation for hnew is used one more time to advance to the next step.


Kaps & Rentrop suggest C=1 for the scaling vector, and a safety factor SF = 0.9 to conservatively guess on the new step. They also suggest bounding the stepsize with a min and max delimiter, as outlined in the Euler’s variable step algorithm.

4 comments:

  1. […] initial values y1(0)=1.5 and y2(0)=3. The RK-Merson method with the Kaps & Rentrop variable step size algorithm was used to solve the Brusselator problem. An initial step size of […]

    ReplyDelete
  2. […] generalized RK method can then be used with the Kaps-Rentrop algorithm for adaptive step size to solve […]

    ReplyDelete
  3. […] thus making it numerically challenging to solve. The W-method with the error estimate and the adaptive step-size control was put to test to solve the Oregonator problem with the following […]

    ReplyDelete
  4. […] with the Generalized Rosenbrock formulation. Adjustable step size control can be achieved using the Kaps-Rentrop algorithm. Hairer & Wanner’s coefficients can be found […]

    ReplyDelete