Many important differential equations model quantities whose value must remain
positive or stay in some bounded interval. These bounds may not be preserved when
the model is solved numerically. We propose to ensure positivity or other bounds by
applying Runge–Kutta integration in which the method weights are adapted in order
to enforce the bounds. The weights are chosen at each step after calculating the stage
derivatives, in a way that also preserves (when possible) the order of accuracy of the
method. The choice of weights is given by the solution of a linear program.
We investigate different approaches to choosing the weights by considering
adding further constraints. We also provide some analysis of the properties of
Runge–Kutta methods with perturbed weights. Numerical examples demonstrate the
effectiveness of the approach, including application to both stiff and non-stiff
problems.
Keywords
positivity preserving, bound preserving, Runge–Kutta
methods, linear programming
Computer Electrical and Mathematical
Science and Engineering (CEMSE) Division
King Abdullah University of Science and Technology
(KAUST)
Thuwal 23955-6900
Saudi Arabia
Applied Mathematics
University of Münster
48149 Münster
Germany
Division of Computer, Electrical,
and Mathematical Sciences and Engineering
King Abdullah University of Science and Technology
(KAUST)
Thuwal 23955-6900
Saudi Arabia