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
2- Calculate the local Error estimate, EST
3- Given a user supplied tolerance TOL, the new step size can be calculated as
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
- 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.
[…] 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[…] generalized RK method can then be used with the Kaps-Rentrop algorithm for adaptive step size to solve […]
ReplyDelete[…] 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[…] 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