Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/DocPreviewCleanup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
doc-preview-cleanup:
# Do not run on forks to avoid authorization errors
# Source: https://github.community/t/have-github-action-only-run-on-master-repo-and-not-on-forks/140840/18
if: github.repository_owner == 'SKopecz'
if: github.repository_owner == 'NumericalMathematics'
runs-on: ubuntu-latest
steps:
- name: Checkout gh-pages branch
Expand Down
2 changes: 1 addition & 1 deletion CITATION.bib
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@ @misc{PositiveIntegrators.jl
author={Kopecz, Stefan and Lampert, Joshua and Ranocha, Hendrik},
year={2023},
doi={10.5281/zenodo.10868393},
url={https://github.com/SKopecz/PositiveIntegrators.jl}
url={https://github.com/NumericalMathematics/PositiveIntegrators.jl}
}
2 changes: 1 addition & 1 deletion Project.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name = "PositiveIntegrators"
uuid = "d1b20bf0-b083-4985-a874-dc5121669aa5"
authors = ["Stefan Kopecz, Hendrik Ranocha, and contributors"]
version = "0.2.11-DEV"
version = "0.2.11"

[deps]
FastBroadcast = "7034ab61-46d4-4ed7-9d0f-46aef9175898"
Expand Down
22 changes: 11 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# PositiveIntegrators.jl

[![Docs-stable](https://img.shields.io/badge/docs-stable-blue.svg)](https://SKopecz.github.io/PositiveIntegrators.jl/stable)
[![Docs-dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://SKopecz.github.io/PositiveIntegrators.jl/dev)
[![Build Status](https://github.com/SKopecz/PositiveIntegrators.jl/workflows/CI/badge.svg)](https://github.com/SKopecz/PositiveIntegrators.jl/actions?query=workflow%3ACI)
[![Codecov](https://codecov.io/gh/SKopecz/PositiveIntegrators.jl/branch/main/graph/badge.svg)](https://codecov.io/gh/SKopecz/PositiveIntegrators.jl)
[![Coveralls](https://coveralls.io/repos/github/SKopecz/PositiveIntegrators.jl/badge.svg?branch=main)](https://coveralls.io/github/SKopecz/PositiveIntegrators.jl?branch=main)
[![Docs-stable](https://img.shields.io/badge/docs-stable-blue.svg)](https://NumericalMathematics.github.io/PositiveIntegrators.jl/stable)
[![Docs-dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://NumericalMathematics.github.io/PositiveIntegrators.jl/dev)
[![Build Status](https://github.com/NumericalMathematics/PositiveIntegrators.jl/workflows/CI/badge.svg)](https://github.com/NumericalMathematics/PositiveIntegrators.jl/actions?query=workflow%3ACI)
[![Codecov](https://codecov.io/gh/NumericalMathematics/PositiveIntegrators.jl/branch/main/graph/badge.svg)](https://codecov.io/gh/NumericalMathematics/PositiveIntegrators.jl)
[![Coveralls](https://coveralls.io/repos/github/NumericalMathematics/PositiveIntegrators.jl/badge.svg?branch=main)](https://coveralls.io/github/NumericalMathematics/PositiveIntegrators.jl?branch=main)
[![Aqua QA](https://raw.githubusercontent.com/JuliaTesting/Aqua.jl/master/badge.svg)](https://github.com/JuliaTesting/Aqua.jl)
[![License: MIT](https://img.shields.io/badge/License-MIT-success.svg)](https://opensource.org/licenses/MIT)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.10868393.svg)](https://doi.org/10.5281/zenodo.10868393)
Expand All @@ -20,12 +20,12 @@ by
modified Patankar-Runge-Kutta (MPRK) schemes

Please find more information online in the
[documentation](https://skopecz.github.io/PositiveIntegrators.jl/stable).
[documentation](https://NumericalMathematics.github.io/PositiveIntegrators.jl/stable).


## Installation

[PositiveIntegrators.jl](https://github.com/SKopecz/PositiveIntegrators.jl)
[PositiveIntegrators.jl](https://github.com/NumericalMathematics/PositiveIntegrators.jl)
is a registered Julia package. Thus, you can install it from the Julia REPL via
```julia
julia> using Pkg; Pkg.add("PositiveIntegrators")
Expand All @@ -40,7 +40,7 @@ julia> using Pkg; Pkg.update("PositiveIntegrators")
## Referencing

If you use
[PositiveIntegrators.jl](https://github.com/SKopecz/PositiveIntegrators.jl)
[PositiveIntegrators.jl](https://github.com/NumericalMathematics/PositiveIntegrators.jl)
for your research, please cite it using the bibtex entry
```bibtex
@misc{PositiveIntegrators.jl,
Expand All @@ -49,16 +49,16 @@ for your research, please cite it using the bibtex entry
author={Kopecz, Stefan and Lampert, Joshua and Ranocha, Hendrik},
year={2023},
doi={10.5281/zenodo.10868393},
url={https://github.com/SKopecz/PositiveIntegrators.jl}
url={https://github.com/NumericalMathematics/PositiveIntegrators.jl}
}
```


## License and contributing

This project is licensed under the MIT license
(see [License](https://github.com/SKopecz/PositiveIntegrators.jl/blob/main/LICENSE)).
(see [License](https://github.com/NumericalMathematics/PositiveIntegrators.jl/blob/main/LICENSE)).
Since it is an open-source project, we are very happy to accept contributions
from the community. Please refer to the section
[Contributing](https://github.com/SKopecz/PositiveIntegrators.jl/blob/main/CONTRIBUTING.md)
[Contributing](https://github.com/NumericalMathematics/PositiveIntegrators.jl/blob/main/CONTRIBUTING.md)
for more details.
2 changes: 1 addition & 1 deletion SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ used in the Julia ecosystem is supported with security updates.
## Reporting a Vulnerability

To report a security issue, please use the GitHub Security Advisory
["Report a Vulnerability"](https://github.com/SKopecz/PositiveIntegrators.jl/security/advisories/new)
["Report a Vulnerability"](https://github.com/NumericalMathematics/PositiveIntegrators.jl/security/advisories/new)
tab.

We will send a response indicating the next steps in handling your report.
Expand Down
28 changes: 15 additions & 13 deletions docs/make.jl
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,12 @@ DocMeta.setdocmeta!(PositiveIntegrators,
# as necessary
open(joinpath(@__DIR__, "src", "license.md"), "w") do io
# Point to source license file
println(io, """
```@meta
EditURL = "https://github.com/SKopecz/PositiveIntegrators.jl/blob/main/LICENSE"
```
""")
println(io,
"""
```@meta
EditURL = "https://github.com/NumericalMathematics/PositiveIntegrators.jl/blob/main/LICENSE"
```
""")
# Write the modified contents
println(io, "# License")
println(io, "")
Expand All @@ -37,7 +38,7 @@ open(joinpath(@__DIR__, "src", "code_of_conduct.md"), "w") do io
println(io,
"""
```@meta
EditURL = "https://github.com/SKopecz/PositiveIntegrators.jl/blob/main/CODE_OF_CONDUCT.md"
EditURL = "https://github.com/NumericalMathematics/PositiveIntegrators.jl/blob/main/CODE_OF_CONDUCT.md"
```
""")
# Write the modified contents
Expand All @@ -51,11 +52,12 @@ end

open(joinpath(@__DIR__, "src", "contributing.md"), "w") do io
# Point to source license file
println(io, """
```@meta
EditURL = "https://github.com/SKopecz/PositiveIntegrators.jl/blob/main/CONTRIBUTING.md"
```
""")
println(io,
"""
```@meta
EditURL = "https://github.com/NumericalMathematics/PositiveIntegrators.jl/blob/main/CONTRIBUTING.md"
```
""")
# Write the modified contents
println(io, "# Contributing")
println(io, "")
Expand All @@ -69,7 +71,7 @@ end
makedocs(modules = [PositiveIntegrators],
sitename = "PositiveIntegrators.jl",
format = Documenter.HTML(prettyurls = get(ENV, "CI", nothing) == "true",
canonical = "https://SKopecz.github.io/PositiveIntegrators.jl/stable"),
canonical = "https://NumericalMathematics.github.io/PositiveIntegrators.jl/stable"),
# Explicitly specify documentation structure
pages = [
"Home" => "index.md",
Expand All @@ -95,6 +97,6 @@ makedocs(modules = [PositiveIntegrators],
"License" => "license.md"
])

deploydocs(repo = "github.com/SKopecz/PositiveIntegrators.jl",
deploydocs(repo = "github.com/NumericalMathematics/PositiveIntegrators.jl",
devbranch = "main",
push_preview = true)
2 changes: 1 addition & 1 deletion docs/src/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
## Sparse matrices

You can use sparse matrices for the linear systems arising in
[PositiveIntegrators.jl](https://github.com/SKopecz/PositiveIntegrators.jl),
[PositiveIntegrators.jl](https://github.com/NumericalMathematics/PositiveIntegrators.jl),
as described, e.g., in the [tutorial on linear advection](@ref tutorial-linear-advection).
However, you need to make sure that you do not change the sparsity pattern
of the production term matrix since we assume that the structural nonzeros
Expand Down
2 changes: 1 addition & 1 deletion docs/src/heat_equation_dirichlet.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ In addition, all production and destruction terms not listed are zero.

Now we are ready to define a [`PDSProblem`](@ref) and to solve this
problem with a method of
[PositiveIntegrators.jl](https://github.com/SKopecz/PositiveIntegrators.jl) or
[PositiveIntegrators.jl](https://github.com/NumericalMathematics/PositiveIntegrators.jl) or
[OrdinaryDiffEq.jl](https://docs.sciml.ai/OrdinaryDiffEq/stable/).
In the following we use ``N = 100`` nodes and the time domain ``t \in [0,1]``.
Moreover, we choose the initial condition
Expand Down
2 changes: 1 addition & 1 deletion docs/src/heat_equation_neumann.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ and destruction terms ``d_{i,j} = p_{j,i}``. In addition, all production and des

Now we are ready to define a [`ConservativePDSProblem`](@ref) and to solve this
problem with a method of
[PositiveIntegrators.jl](https://github.com/SKopecz/PositiveIntegrators.jl) or
[PositiveIntegrators.jl](https://github.com/NumericalMathematics/PositiveIntegrators.jl) or
[OrdinaryDiffEq.jl](https://docs.sciml.ai/OrdinaryDiffEq/stable/).
In the following we use ``N = 100`` nodes and the time domain ``t \in [0,1]``.
Moreover, we choose the initial condition
Expand Down
12 changes: 6 additions & 6 deletions docs/src/index.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# PositiveIntegrators.jl

The [Julia](https://julialang.org) library
[PositiveIntegrators.jl](https://github.com/SKopecz/PositiveIntegrators.jl)
[PositiveIntegrators.jl](https://github.com/NumericalMathematics/PositiveIntegrators.jl)
provides several time integration methods developed to preserve the positivity
of numerical solutions.


## Installation

[PositiveIntegrators.jl](https://github.com/SKopecz/PositiveIntegrators.jl)
[PositiveIntegrators.jl](https://github.com/NumericalMathematics/PositiveIntegrators.jl)
is a registered Julia package. Thus, you can install it from the Julia REPL via
```julia
julia> using Pkg; Pkg.add("PositiveIntegrators")
Expand Down Expand Up @@ -88,7 +88,7 @@ tspan = (0.0, 10.0) # time span
prob = PDSProblem(P, d, u0, tspan)
nothing #hide
```
Now that the problem has been created, we can solve it with any method of [PositiveIntegrators.jl](https://github.com/SKopecz/PositiveIntegrators.jl). In the following, we use the method `MPRK22(1.0)`. In addition, we could also use any method provided by [OrdinaryDiffEq.jl](https://docs.sciml.ai/OrdinaryDiffEq/stable/), but these might possibly generate negative approximations.
Now that the problem has been created, we can solve it with any method of [PositiveIntegrators.jl](https://github.com/NumericalMathematics/PositiveIntegrators.jl). In the following, we use the method `MPRK22(1.0)`. In addition, we could also use any method provided by [OrdinaryDiffEq.jl](https://docs.sciml.ai/OrdinaryDiffEq/stable/), but these might possibly generate negative approximations.

```@example LotkaVolterra
sol = solve(prob, MPRK22(1.0))
Expand Down Expand Up @@ -132,7 +132,7 @@ The corresponding production matrix ``\mathbf P`` is
\mathbf P(S,I,R) = \begin{pmatrix}0 & 0 & 0\\ \frac{β S I}{N} & 0 & 0\\ 0 & γ I & 0\end{pmatrix}.
```

The following example shows how to implement the above SIR model with ``\beta=0.4, \gamma=0.04``, initial conditions ``S(0)=997, I(0)=3, R(0)=0`` and time domain ``(0, 100)`` using `ConservativePDSProblem` from [PositiveIntegrators.jl](https://github.com/SKopecz/PositiveIntegrators.jl).
The following example shows how to implement the above SIR model with ``\beta=0.4, \gamma=0.04``, initial conditions ``S(0)=997, I(0)=3, R(0)=0`` and time domain ``(0, 100)`` using `ConservativePDSProblem` from [PositiveIntegrators.jl](https://github.com/NumericalMathematics/PositiveIntegrators.jl).

```@example SIR
using PositiveIntegrators
Expand All @@ -158,7 +158,7 @@ tspan = (0.0, 100.0); # time span
prob = ConservativePDSProblem(P, u0, tspan)
nothing # hide
```
Since the SIR model is not only conservative but also positive, we can use any scheme from [PositiveIntegrators.jl](https://github.com/SKopecz/PositiveIntegrators.jl) to solve it. Here we use `MPRK22(1.0)`.
Since the SIR model is not only conservative but also positive, we can use any scheme from [PositiveIntegrators.jl](https://github.com/NumericalMathematics/PositiveIntegrators.jl) to solve it. Here we use `MPRK22(1.0)`.
Please note that any method from [OrdinaryDiffEq.jl](https://docs.sciml.ai/OrdinaryDiffEq/stable/) can be used as well, but might possibly generate negative approximations.

```@example SIR
Expand Down Expand Up @@ -186,7 +186,7 @@ for your research, please cite it using the bibtex entry
author={Kopecz, Stefan and Lampert, Joshua and Ranocha, Hendrik},
year={2023},
doi={10.5281/zenodo.10868393},
url={https://github.com/SKopecz/PositiveIntegrators.jl}
url={https://github.com/NumericalMathematics/PositiveIntegrators.jl}
}
```

Expand Down
2 changes: 1 addition & 1 deletion docs/src/linear_advection.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ In addition, all production and destruction terms not listed have the value zero

## Solution of the production-destruction system

Now we are ready to define a [`ConservativePDSProblem`](@ref) and to solve this problem with a method of [PositiveIntegrators.jl](https://github.com/SKopecz/PositiveIntegrators.jl) or [OrdinaryDiffEq.jl](https://docs.sciml.ai/OrdinaryDiffEq/stable/). In the following we use ``a=1``, ``N=1000`` and the time domain ``t\in[0,1]``. Moreover, we choose the step function
Now we are ready to define a [`ConservativePDSProblem`](@ref) and to solve this problem with a method of [PositiveIntegrators.jl](https://github.com/NumericalMathematics/PositiveIntegrators.jl) or [OrdinaryDiffEq.jl](https://docs.sciml.ai/OrdinaryDiffEq/stable/). In the following we use ``a=1``, ``N=1000`` and the time domain ``t\in[0,1]``. Moreover, we choose the step function

```math
u_0(x)=\begin{cases}1, & 0.4 ≤ x ≤ 0.6,\\ 0,& \text{elsewhere}\end{cases}
Expand Down
6 changes: 3 additions & 3 deletions docs/src/npzd_model.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ whereby production terms not listed have the value zero. Since the PDS is conser

## Solution of the production-destruction system

Now we are ready to define a [`ConservativePDSProblem`](@ref) and to solve this problem with a method of [PositiveIntegrators.jl](https://github.com/SKopecz/PositiveIntegrators.jl) or [OrdinaryDiffEq.jl](https://docs.sciml.ai/OrdinaryDiffEq/stable/).
Now we are ready to define a [`ConservativePDSProblem`](@ref) and to solve this problem with a method of [PositiveIntegrators.jl](https://github.com/NumericalMathematics/PositiveIntegrators.jl) or [OrdinaryDiffEq.jl](https://docs.sciml.ai/OrdinaryDiffEq/stable/).

As mentioned above, we will try different approaches to solve this PDS and compare their efficiency. These are
1. an out-of-place implementation with standard (dynamic) matrices and vectors,
Expand Down Expand Up @@ -76,7 +76,7 @@ using Plots

plot(sol_oop; label = ["N" "P" "Z" "D"], xguide = "t")
```
[PositiveIntegrators.jl](https://github.com/SKopecz/PositiveIntegrators.jl) provides the function [`isnonnegative`](@ref) (and also [`isnegative`](@ref)) to check if the solution is actually nonnegative, as expected from an MPRK scheme.
[PositiveIntegrators.jl](https://github.com/NumericalMathematics/PositiveIntegrators.jl) provides the function [`isnonnegative`](@ref) (and also [`isnegative`](@ref)) to check if the solution is actually nonnegative, as expected from an MPRK scheme.
```@example NPZD
isnonnegative(sol_oop)
```
Expand Down Expand Up @@ -173,7 +173,7 @@ This solution is also nonnegative.
isnonnegative(sol_static)
```

The above implementation of the NPZD model using `StaticArrays` can also be found in the [Example Problems](https://skopecz.github.io/PositiveIntegrators.jl/dev/api_reference/#Example-problems) as [`prob_pds_npzd`](@ref).
The above implementation of the NPZD model using `StaticArrays` can also be found in the [Example Problems](https://NumericalMathematics.github.io/PositiveIntegrators.jl/dev/api_reference/#Example-problems) as [`prob_pds_npzd`](@ref).

### Performance comparison

Expand Down
Loading
Loading