SARK : a type-insensitive Runge-Kutta code
A novel solution method based on Mono-implicit Runge-Kutta methods has been fully developed and analysed for the numerical solution of stiff systems of ordinary differential equations (ODE). These Backward Runge-Kutta (BRK) methods have very desirable stability properties which make them efficient for solving a certain class of ODE which are not solved adequately by current methods. These stability properties arise from applying a numerical method to the standard test problem and analysing the resulting stability function. This technique, however, fails to show the full potential of a method. With this in mind a new graphical technique has been derived that examines the methods performance on the standard test case in much greater detail. This technique allows a detailed investigation of the characteristics required for a numerical integration of highly oscillatory problems. Numerical ODE solvers are used extensively in engineering applications, where both stiff and non-stiff systems are encountered, hence a single code capable of integrating the two categories, undetected by the user, would be invaluable. The BRK methods, combined with explicit Runge-Kutta (ERK) methods, are incorporated into such a code. The code automatically determines which integrator can currently solve the problem most efficiently. A switch to the most efficient method is then made. Both methods are closely linked to ensure that overheads expended in the switching are minimal. Switching from ERK to BRK is performed by an existing stiffness detection scheme whereas switching from BRK to ERK requires a new numerical method to be devised. The new methods, called extended BRK (EBRK) methods, are based on the BRK methods but are chosen so as to possess stability properties akin to the ERK methods. To make the code more flexible the switching of order is also incorporated. Numerical results from the type-insensitive code, SARK, indicate that it performs better than the most widely used non-stiff solver and is often more efficient than a specialized stiff solver.