Over the last two decades several approaches have been suggested to numerically preserve the positivity of positive ordinary differential equation (ODE) systems. This Julia package provides efficient implementations of various positive time integration schemes, allowing a fair comparison of the different schemes. The package extends OrdinaryDiffEq.jl by
- adding a new problem type for production-destruction systems
- adding the algorithms of positivity-preserving time integration methods such as modified Patankar-Runge-Kutta (MPRK) schemes
Please find more information online in the documentation.
PositiveIntegrators.jl is a registered Julia package. Thus, you can install it from the Julia REPL via
julia> using Pkg; Pkg.add("PositiveIntegrators")
If you want to update PositiveIntegrators.jl, you can use
julia> using Pkg; Pkg.update("PositiveIntegrators")
If you use PositiveIntegrators.jl for your research, please cite our article
@article{kopecz2025positive,
title={{PositiveIntegrators.jl}: A {J}ulia library of positivity-preserving
time integration methods},
author={Kopecz, Stefan and Lampert, Joshua and Ranocha, Hendrik},
journal={Journal of Open Source Software},
volume={10},
number={109},
pages={8130},
year={2025},
month={05},
publisher={The Open Journal},
doi={10.21105/joss.08130}
}
In addition, you can also refer to PositiveIntegrators.jl directly as
@misc{PositiveIntegrators.jl,
title={{PositiveIntegrators.jl}: {A} {J}ulia library of positivity-preserving
time integration methods},
author={Kopecz, Stefan and Lampert, Joshua and Ranocha, Hendrik},
year={2023},
doi={10.5281/zenodo.10868393},
url={https://github.com/NumericalMathematics/PositiveIntegrators.jl}
}
This project is licensed under the MIT license (see License). Since it is an open-source project, we are very happy to accept contributions from the community. Please refer to the section Contributing for more details.