Skip to content

Commit e277e78

Browse files
committed
suggestions of JOSS reviewers
1 parent 750cb04 commit e277e78

1 file changed

Lines changed: 11 additions & 9 deletions

File tree

paper/paper.md

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,26 +24,28 @@ affiliations:
2424
index: 2
2525
- name: Institute of Mathematics, Johannes Gutenberg University Mainz, Germany
2626
index: 3
27-
date: 23 April 2025
27+
date: 24 May 2025
2828
bibliography: paper.bib
2929
---
3030

3131
# Summary
3232

33-
We introduce PositiveIntegrators.jl, a Julia package that provides efficient implementations of various time integration schemes for the solution of positive ordinary differential equations, making these methods accessible for users and comparable for researchers. Currently, the package provides MPRK, SSP-MPRK, and MPDeC schemes, all of which are unconditionally positive and also preserve the conservation property when applied to a conservative system.
33+
We introduce PositiveIntegrators.jl, a Julia package that provides efficient implementations of various time integration schemes for the solution of positive ordinary differential equations, making these methods accessible for users and comparable for researchers.
34+
Currently, the package provides the the unconditionally positivity-preserving MPRK, SSP-MPRK, and MPDeC schemes, which are also conservative when applied to a conservative system.
3435
The package is fully compatible with DifferentialEquations.jl, which allows a direct comparison between the provided schemes and standard methods.
3536

3637

3738
# Statement of need
3839

39-
Many systems of ordinary differential equations that model real-life applications have positive solutions, and it is quite natural to require that numerical solutions of such systems also remain positive.
40-
For some of these systems unconditionally positivity-preserving time integration methods are helpful or even necessary to obtain meaningful solutions.
40+
Many systems of ordinary differential equations that model real-life applications have positive solutions.
41+
For some of these systems unconditionally positivity-preserving time integration methods are helpful or even necessary to obtain meaningful solutions.
4142

42-
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.
43+
Unfortunately, positivity is not preserved in almost any of the standard time integration schemes, such as Runge–Kutta methods, Rosenbrock methods, or linear multistep methods.
4344
In particular, higher-order general linear methods cannot preserve positivity unconditionally [@bolley1978conservation].
4445
The only standard scheme with which unconditional positivity can be achieved is the implicit Euler method
45-
(assuming that the nonlinear systems are solved exactly). However, this is only first-order accurate and, in addition, the preservation of positivity within the nonlinear iteration process poses a problem.
46-
Another strategy for preserving positivity used in existing open source or commercial packages (like 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 in between time steps [@sandu2001positive; @nusslein2021positivity], if a negative solution was computed, or it is tried to reduce the time step size as long as a nonnegative solution is calculated. Finally, strong stability preserving (SSP) methods can also be used to preserve positivity, but this is again subject to step size limitations [@gottlieb2011strong].
46+
(assuming that the nonlinear systems are solved exactly).
47+
However, this is only first-order accurate and the preservation of positivity within the nonlinear iteration process poses a problem.
48+
Another strategy for preserving positivity used in existing open source or commercial packages (like 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 in between time steps [@sandu2001positive; @nusslein2021positivity], if a negative solution was computed, or it is tried to reduce the time step size as long as a nonnegative solution is calculated. Finally, strong stability preserving (SSP) methods can also be used to preserve positivity, but this is again subject to step size limitations [@gottlieb2011strong].
4749

4850
Consequently, various new, unconditionally positive schemes have been introduced in recent years, see @burchard2003, @Bruggeman2007, @Broekhuizen2008, @Formaggia2011, @Ortleb2017, @kopeczmeister2018order2, @kopeczmeister2018order3, @huang2019order2, @huang2019order3, @OeffnerTorlo2020, @Martiradonna2020, @Avila2020, @Avila2021, @Blanes2022, @Zhu2024, @Izzo2025, and @Izgin2025. Among these, most of the literature is devoted to modified Patankar--Runge--Kutta (MPRK) methods.
4951

@@ -60,7 +62,7 @@ The package offers implementations of conservative as well as non-conservative p
6062
Currently, the package contains the following methods:
6163

6264
- The MPRK methods `MPE`, `MPRK22`, `MPRK43I`, and `MPRK43II` of @kopeczmeister2018order2 and @kopeczmeister2018order3 are based on the classical formulation of Runge--Kutta schemes and have accuracies from first to third order.
63-
- The MPRK methods `SSPMPRK22` and `SSPMPRK43` of @huang2019order2 and @huang2019order3 are based on the SSP formulation of Runge--Kutta schemes and are of second and third order, respectively.
65+
- The MPRK methods `SSPMPRK22` and `SSPMPRK43` of @huang2019order2 and @huang2019order3 are based on the SSP formulation of Runge--Kutta schemes and are of second and third order, respectively.
6466
- The `MPDeC` methods of @OeffnerTorlo2020 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.
6567

6668
In addition, all implemented 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.
@@ -77,7 +79,7 @@ The implemented methods were originally introduced for conservative production-d
7779

7880
Readers interested in additional theoretical background, further properties of the implemented schemes, and some applications are referred to the publications of @kopeczmeister2019, @izgin2022stability1, @izgin2022stability2, @huang2023, @torlo2022, and @izginoeffner2023. PositiveIntegrators.jl was successfully applied in the work of @bartel2024structure to solve Fokker-Planck equations, ensuring the positivity of the unknown quantities.
7981

80-
Existing software libraries do not have a strong focus on unconditional positivity and, to the authors' knowledge, there is no other software library offering MPRK schemes.
82+
Existing software libraries do not have a strong focus on unconditional positivity and, to the authors' knowledge, there is no other software library offering MPRK schemes.
8183
A common strategy to obtain nonnegative solutions used in the `PositiveDomain` callback of DifferentialEquations.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.
8284
Another possibility is to reduce the chosen time step size beyond accuracy considerations until a nonnegative approximation is calculated. This can be achieved in DifferentialEquations.jl using the solver option `isoutofdomain`.
8385

0 commit comments

Comments
 (0)