/PositiveIntegrators.jl

A Julia library of positivity-preserving time integration methods

Primary LanguageJuliaMIT LicenseMIT

PositiveIntegrators.jl

Docs-stable Docs-dev Build Status Codecov Coveralls Aqua QA License: MIT 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 it using the bibtex entry

@misc{PositiveIntegrators.jl,
  title={{PositiveIntegrators.jl}: {A} {J}ulia library of positivity-preserving
         time integration methods},
  author={Kopecz, Stefan and Ranocha, Hendrik and contributors},
  year={2023},
  doi={10.5281/zenodo.10868393},
  url={https://github.com/SKopecz/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.