-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into compathelper/new_version/2022-12-24-01-20-13…
…-168-02421240641
- Loading branch information
Showing
56 changed files
with
3,671 additions
and
1,109 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
name: CI | ||
on: | ||
pull_request: | ||
branches: | ||
- main | ||
push: | ||
branches: | ||
- main | ||
|
||
jobs: | ||
test: | ||
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
version: | ||
- '1.8' # Replace this with the minimum Julia version that your package supports. E.g. if your package requires Julia 1.5 or higher, change this to '1.5'. | ||
#- '1.3' # Leave this line unchanged. '1' will automatically expand to the latest stable 1.x release of Julia. | ||
# - 'nightly' | ||
os: | ||
- ubuntu-latest | ||
arch: | ||
- x64 | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: julia-actions/setup-julia@v1 | ||
with: | ||
version: ${{ matrix.version }} | ||
arch: ${{ matrix.arch }} | ||
- uses: actions/cache@v1 | ||
env: | ||
cache-name: cache-artifacts | ||
with: | ||
path: ~/.julia/artifacts | ||
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }} | ||
restore-keys: | | ||
${{ runner.os }}-test-${{ env.cache-name }}- | ||
${{ runner.os }}-test- | ||
${{ runner.os }}- | ||
- uses: julia-actions/julia-buildpkg@v1 | ||
- uses: julia-actions/julia-runtest@v1 | ||
- uses: julia-actions/julia-processcoverage@v1 | ||
- uses: codecov/codecov-action@v1 | ||
with: | ||
file: lcov.info | ||
docs: | ||
name: Documentation | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: julia-actions/setup-julia@v1 | ||
with: | ||
version: '1' | ||
- run: | | ||
julia --project=docs -e ' | ||
using Pkg | ||
Pkg.develop(PackageSpec(path=pwd())) | ||
Pkg.instantiate()' | ||
- run: | | ||
julia --project=docs -e ' | ||
using Documenter: doctest | ||
using DDEBifurcationKit | ||
doctest(DDEBifurcationKit)' # change MYPACKAGE to the name of your package | ||
- run: julia --project=docs docs/make.jl | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
name: Documentation | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
- 'release-' | ||
- master # update to match your development branch (master, main, dev, trunk, ...) | ||
tags: '*' | ||
pull_request: | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: julia-actions/setup-julia@v1 | ||
with: | ||
version: '1.8' | ||
- name: Install dependencies | ||
run: julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()' | ||
- name: Build and deploy | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # If authenticating with GitHub Actions token | ||
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} # If authenticating with SSH deploy key | ||
run: julia --project=docs/ docs/make.jl |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# Documentation: http://docs.travis-ci.com/user/languages/julia/ | ||
language: julia | ||
os: | ||
- linux | ||
- osx | ||
julia: | ||
- 1.5 | ||
notifications: | ||
email: false | ||
codecov: true | ||
coveralls: true | ||
jobs: | ||
allow_failures: | ||
- os: osx | ||
- julia: nightly | ||
include: | ||
- stage: "Documentation" | ||
julia: 1.5 | ||
os: linux | ||
script: | ||
- julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); | ||
Pkg.instantiate()' | ||
- julia --project=docs/ docs/make.jl | ||
after_success: skip | ||
after_success: | ||
# push coverage results to Codecov | ||
- julia -e 'using Pkg; Pkg.add("Coverage"); using Coverage; Coveralls.submit(process_folder())' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
[deps] | ||
BifurcationKit = "0f109fa4-8a5d-4b75-95aa-f515264e7665" | ||
DDEBifurcationKit = "954e4062-bdb8-4e3f-9eee-d47105dd3e65" | ||
DifferentialEquations = "0c46a032-eb83-5123-abaf-570d42b7fbaa" | ||
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" | ||
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" | ||
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" | ||
Parameters = "d96e819e-fc66-5662-9728-84c9c7592b0a" | ||
Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" | ||
Revise = "295af30f-e4ad-537b-8983-00126c2a3abe" | ||
SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462" | ||
Setfield = "efcf1570-3423-57d1-acb7-fd33fddbac46" | ||
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" | ||
|
||
[compat] | ||
BifurcationKit = "0.3" | ||
DifferentialEquations = "6.19.0, 7.1.0" | ||
Documenter = "0.27" | ||
Setfield = "0.5.0, 0.7.0, 0.8.0, 1" | ||
julia = "1" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
using Pkg | ||
|
||
using Documenter, DDEBifurcationKit, Setfield, BifurcationKit | ||
# using DocThemeIndigo | ||
ENV["GKSwstype"] = "100" | ||
|
||
# to display progress | ||
# ENV["JULIA_DEBUG"] = Documenter | ||
|
||
makedocs(doctest = false, | ||
sitename = "Bifurcation Analysis of DDEs in Julia", | ||
format = Documenter.HTML(collapselevel = 1,assets = ["assets/indigo.css"]), | ||
# format = DocumenterLaTeX.LaTeX(), | ||
authors = "Romain Veltz", | ||
pages = Any[ | ||
"Home" => "index.md", | ||
"Tutorials" => "tutorials/tutorials.md", | ||
"Problems" => [ | ||
"Bifurcation Problem" => "BifProblem.md", | ||
"Periodic Orbits" => [ | ||
"Introduction" => "periodicOrbit.md", | ||
"Collocation" => "periodicOrbitCollocation.md", | ||
], | ||
], | ||
"Functionalities" => [ | ||
"Bifurcations" => [ | ||
"Bifurcation detection (codim 1)" => "detectionBifurcation.md", | ||
"Fold / Hopf Continuation (codim 2)" => "codim2Continuation.md", | ||
# "Bogdanov-Takens refinement (codim 3)" => "codim3Continuation.md", | ||
], | ||
"Normal form" => [ | ||
"Simple branch point" => "simplebp.md", | ||
"Non-simple branch point" => "nonsimplebp.md", | ||
"Simple Hopf" => "simplehopf.md", | ||
"Normal form (periodic orbit)" => [], | ||
], | ||
"Branch switching" => "branchswitching.md", | ||
], | ||
"Options" => [ | ||
# "Linear Solvers" => "linearsolver.md", | ||
# "Bordered linear solvers" => "borderedlinearsolver.md", | ||
"Eigen Solvers" => "eigensolver.md", | ||
# "Bordered arrays" => "Borderedarrays.md", | ||
], | ||
"Contributing" => [ | ||
], | ||
"Frequently Asked Questions" => "faq.md", | ||
"Library" => "library.md" | ||
] | ||
) | ||
|
||
deploydocs( | ||
repo = "github.com/bifurcationkit/DDEBifurcationKit.jl.git", | ||
devbranch = "main" | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
# Bifurcation Problem | ||
|
||
|
||
## Constant delays (DDE) | ||
|
||
Consider the system of delay differential equations with constant delays (DDEs) | ||
|
||
$$\frac{\mathrm{d}}{\mathrm{d} t} x(t)=\mathbf F\left(x(t), x\left(t-\tau_1\right), \ldots, x\left(t-\tau_m\right); p\right)$$ | ||
|
||
where the delays $\tau_i>0$ are constant and $p$ is a set of parameters. In order to specify this, we need to provide the vector field and the delays. The delays are provided using a delay function which must return an `AbstractVecor` | ||
|
||
```julia | ||
function mydelays(pars) | ||
[1, pars.tau1] | ||
end | ||
``` | ||
|
||
where `pars` are some user defined variables. The vector field is then specified as follows | ||
|
||
```julia | ||
function myF(x, xd, pars) | ||
[ | ||
x[1] + xd[2][1]^2, | ||
x[2] + xd[3][2]^2, | ||
] | ||
end | ||
``` | ||
|
||
where `xd` is a vector holding `[x(t-d[1]), x(t-d[2])]` where `d = mydelays(pars)`. Some simple examples can be found in the tutorials. | ||
|
||
The structure [`ConstantDDEBifProblem`](@ref) encapsulates the bifurcation problem. | ||
|
||
|
||
## State-dependent delays (SD-DDE) | ||
|
||
Consider the system of delay differential equations with state-dependent delays. | ||
|
||
$$\frac{\mathrm{d}}{\mathrm{d} t} x(t)=\mathbf F\left(x(t), x\left(t-\tau_1(x(t))\right), \ldots, x\left(t-\tau_m(x(t))\right); p\right)$$ | ||
|
||
|
||
where the delays $\tau_i>0$ are functions of $x(t)$ and $p$ is a set of parameters. The only difference with the previous case is the specification of the delay function which now depends on `x` | ||
|
||
```julia | ||
function mydelays(x, pars) | ||
[ | ||
1 + x[1]^2, | ||
2 + x[2]^2 | ||
] | ||
end | ||
``` | ||
|
||
The structure [`SDDDEBifProblem`](@ref) encapsulates the bifurcation problem. | ||
|
||
> A more elaborate problem would be to allow $\tau_i$ to depend on the history of $x(\theta+t)$ for $\theta\in[-\tau_{max},0]$ and not just on the current value of $x(t)$. This is not implemented yet. |
Oops, something went wrong.