Skip to content

NumericalMathematics/PositiveIntegrators.jl

Repository files navigation

PositiveIntegrators.jl

Docs-stable Docs-dev Build Status Codecov Coveralls Aqua QA License: MIT DOI DOI

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.

Installation

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")

Referencing

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}
}

License and contributing

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.

About

A Julia library of positivity-preserving time integration methods

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Contributors 7

Languages