You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: paper/paper.md
+5-9Lines changed: 5 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -36,7 +36,7 @@ Many systems of ordinary differential equations that model real-life application
36
36
For some of these systems unconditionally positivity-preserving time integration methods are helpful or even necessary to obtain meaningful solutions.
37
37
Unfortunately, positivity is a property that almost all standard time integration schemes, such as Runge–Kutta methods, Rosenbrock methods, or linear multistep methods, do not preserve.
38
38
The only standard scheme with which unconditional positivity can be achieved is the implicit Euler method. However, this is only first-order accurate and, in addition, the preservation of positivity within the nonlinear iteration process poses a problem.
39
-
Another strategy for preserving positivity used in existing open source or commercial packages (Matlab) is to set negative solution components that are accepted by the step size control to zero. Unfortunately, this can have a negative impact on possible conservation properties. Other approaches in the literature include additional projections inbetween time steps, if a negative solution was computed, or it is tried to reduce the time step size as long as a non-negative solution is calculated. Finally, SSP Runge-Kutta methods can also be used, but the preservation of positivity is again subject to step size limitations.
39
+
Another strategy for preserving positivity used in existing open source or commercial packages (Matlab) is to set negative solution components that are accepted by the step size control to zero. Unfortunately, this can have a negative impact on possible conservation properties. Further approaches in the literature include projections inbetween time steps, if a negative solution was computed, or it is tried to reduce the time step size as long as a non-negative solution is calculated. Finally, SSP Runge-Kutta methods can also be used to presere positivity, but this is again subject to step size limitations.
40
40
41
41
Consequently, various new, unconditionally positive schemes, especially modified Patankar--Runge--Kutta (MPRK) methods, have been introduced in recent years.
42
42
Unfortunately, these new methods are not yet available in software packages, making them inaccessible to most users and limiting their comparability within the scientific community. `PositiveIntegrators.jl` makes these methods available and thus usable and comparable.
@@ -45,32 +45,28 @@ Unfortunately, these new methods are not yet available in software packages, mak
45
45
# Features
46
46
47
47
The package is fully compatible with `DifferentialEquations.jl` and therefore many features that are available there can be used directly. In particular, this allows a direct comparison of MPRK and standard schemes.
48
-
The package offers implementations of conservative as well as non-conservative production-destruction systems (PDS), which are the building blocks for solving differential equations with MPRK schemes. Furthermore, conversions of these PDS to standard `ODEProblem`s from `DifferentialEquations.jl` are provided.
48
+
The package offers implementations of conservative as well as non-conservative production-destruction systems (PDS), which are the building blocks for the solution of differential equations with MPRK schemes. Furthermore, conversions of these PDS to standard `ODEProblem`s from `DifferentialEquations.jl` are provided.
49
49
50
50
The package contains several MPRK methods:
51
51
52
52
- The MPRK methods `MPE`, `MPRK22`, `MPRK43I` and `MPRK43II` of Kopecz and Meister are based on the classical formulation of Runge--Kutta schemes and have accuracies from first to third order.
53
53
- The MPRK methods `SSPMPRK22` and `SSPMPRK43` of Huang, Zhao and Shu are based on the SSP formulation of Runge--Kutta schemes and are of second or third order.
54
54
- The `MPDeC` methods of Öffner and Torlo combine the deferred correction approach with the idea of MPRK schemes to obtain schemes of arbitrary order. In the package methods from second up to 10th order are implemented.
55
55
56
-
In addition, all implemented MPRK methods have been extended so that non-conservative and non-autonomous production-destruction systems can be solved as well. Furthermore, adaptive step size control is available for almost all schemes.
56
+
In addition, all implemented MPRK methods have been extended so that non-conservative and non-autonomous PDS can be solved as well. Furthermore, adaptive step size control is available for almost all schemes.
57
57
58
58
# Related research and software
59
59
60
-
## Research
61
-
62
60
The first MPRK schemes were introduced in @burchard2003. These are the first order scheme `MPE` and a second order scheme based on Heun's method. To avoid the restriction to Heun's method, the second order `MPRK22` schemes were developed in @kopeczmeister2018order2. The techniques developed therein, also enabled a generalization to third order schemes and thus the introduction of `MPRK43I` and `MPRK43II` schemes in @kopeczmeister2018order3.
63
61
64
-
All aforementioned schemes were derived from the classical formulation of Runge-Kutta schemes. Using the Shu-Osher formulation instead lead to the introduction of the second order schemes `SSPMPRK22` in @huang2019order2 and the third order scheme `SSPMPRK43` in @huang2019order3.
62
+
The aforementioned schemes were derived from the classical formulation of Runge-Kutta schemes. Using the Shu-Osher formulation instead lead to the introduction of the second order schemes `SSPMPRK22` in @huang2019order2 and the third order scheme `SSPMPRK43` in @huang2019order3.
65
63
66
-
Starting from a low order scheme, the deferred correction approach can be used to increase the scheme's approximation order iteratively. In @OeffnerTorlo2020 deferred correction was combined with the MPRK idea to devise MPRK schemes of arbitrary order. These are implemented as `MPDeC` schemes.
64
+
Starting from a low order scheme, the deferred correction approach can be used to increase the scheme's approximation order iteratively. In @OeffnerTorlo2020 deferred correction was combined with the MPRK idea to devise MPRK schemes of arbitrary order. These are implemented as `MPDeC` schemes for order 2 up to 10.
67
65
68
66
The implemented schemes were originally introduced for conservative production-destruction systems only. An extension to non-conservative production-destruction-systems was presented in @benzmeister2015. We implemented a modification of this algorithm, by treating the non-conservative production and destruction terms separately, weighting the destruction terms and leaving the production terms unweighted.
69
67
70
68
Readers interested in additional theoretical background and further properties of the implemented schemes are referred to the following papers: @kopeczmeister2019, @izgin2022stability1, @izgin2022stability2, @huang2023, @torlo2022, @izginoeffner2023
71
69
72
-
## Software
73
-
74
70
Existing software libraries do not have a strong focus on unconditional positivity and, to the authors' knowledge, there is no other software library which offers MPRK schemes.
75
71
A common strategy to obtain nonnegative solutions used in the `PositiveDomain` callback of `Differentialequtions.jl` or the commercial package `Matlab` is described by @Shampine2005. In this approach negative components of approximate solutions that have been accepted by the adaptive time stepping algorithm are set to zero.
76
72
Another possibility is to reduce the chosen time step size beyond accuracy considerations until a non-negative approximation is calculated. This can be achieved in `DifferentialEquations.jl` using the solver option `isoutofdomain`.
0 commit comments