BifurcationKit
A Julia package to perform Bifurcation Analysis
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.5%) to scientific vocabulary
Keywords
Repository
A Julia package to perform Bifurcation Analysis
Basic Info
- Host: GitHub
- Owner: bifurcationkit
- License: other
- Language: Julia
- Default Branch: master
- Homepage: https://bifurcationkit.github.io/BifurcationKitDocs.jl/stable
- Size: 101 MB
Statistics
- Stars: 333
- Watchers: 10
- Forks: 42
- Open Issues: 28
- Releases: 48
Topics
Metadata Files
README.md
BifurcationKit.jl
| Documentation | Build Status | Coverage | Version / Stats |
| :-: | :-: | :-: | :-: |
| |
|
|
|
|
|
| |
|
This Julia package aims at performing automatic bifurcation analysis of possibly large dimensional equations F(u, λ)=0 where λ is real by taking advantage of iterative methods, dense / sparse formulation and specific hardwares (e.g. GPU).
It incorporates continuation algorithms (PALC, deflated continuation, ...) based on a Newton-Krylov method to correct the predictor step and a Matrix-Free/Dense/Sparse eigensolver is used to compute stability and bifurcation points.
The idea is to be able to seamlessly switch the continuation algorithm a bit like changing the time stepper (Euler, RK4,...) for ODEs.
BifurcationKit can also seek for periodic orbits of Cauchy problems. It is by now, one of the only software which provides shooting methods and methods based on finite differences / collocation to compute periodic orbits.
The current focus is on large scale nonlinear problems and multiple hardwares. Hence, the goal is to provide Matrix Free methods on GPU (see PDE example and Periodic orbit example) or on cluster to study non linear PDE, nonlocal problems, compute sub-manifolds...
Despite this focus, the package can easily handle low dimensional problems and specific optimizations are regularly added.
SciML Integration
BifurcationKit.jl is listed in Third patry parameter analysis of SciML Docs under the "Analysis" menu. ModelingToolkit.jl and Catalyst.jl rely on BifurcationKit.jl as external dependency.
📚 Support and citation
If you use BifurcationKit.jl in your work, we ask that you cite the following paper on HAL-Inria with bibtex entry CITATION.bib. Open source development as part of academic research strongly depends on this. Please also consider starring this repository if you like our work, this will help us to secure funding in the future.
📦 Installation
This package requires Julia >= v1.3.0
To install it, please run
] add BifurcationKit
To install the bleeding edge version, please run
] add BifurcationKit#master
🧩 Plugins
Most plugins are located in the organization bifurcationkit:
- HclinicBifurcationKit.jl bifurcation analysis of homoclinic / heteroclinic orbits of ordinary differential equations (ODE)
- DDEBifurcationKit.jl bifurcation analysis of delay differential equations (DDE)
- AsymptoticNumericalMethod.jl provides the numerical continuation algorithm Asymptotic Numerical Method (ANM) which can be used directly in
BifurcationKit.jl - GridapBifurcationKit.jl bifurcation analysis of PDEs solved with the Finite Elements Method (FEM) using the package Gridap.jl.
- PeriodicSchurBifurcationKit.jl state of the art computation of Floquet coefficients, useful for computing the stability of periodic orbits.
Overview of capabilities
The list of capabilities is available here.
Examples of bifurcation diagrams (ODEs and PDEs)
|
|
|
|:-------------:|:-------------:|
| simple ODE example | Codimension 2 (ODE) |
|
|
|
| Automatic Bif. Diagram in 1D Swift Hohenberg | Automatic Bif. Diagram in 2D Bratu |
|
|
|
| Snaking in 2D Swift Hohenberg | Periodic orbits in 1D Brusselator
|
|
|
| Period doubling BVAM Model | Periodic orbits in 2D Ginzburg-Landau |
|
|
|
| Deflated Continuation in Carrier problem | 2D Swift Hohenberg on GPU |
Owner
- Name: BifurcationKit
- Login: bifurcationkit
- Kind: organization
- Repositories: 3
- Profile: https://github.com/bifurcationkit
Open source software for automatic numerical bifurcation analysis
Citation (CITATION.bib)
@misc{veltz:hal-02902346,
title = {{BifurcationKit.jl}},
author = {Veltz, Romain},
url = {https://hal.archives-ouvertes.fr/hal-02902346},
institution = {{Inria Sophia-Antipolis}},
year = {2020},
month = Jul,
keywords = {pseudo-arclength-continuation ; periodic-orbits ; floquet ; gpu ; bifurcation-diagram ; deflation ; newton-krylov},
pdf = {https://hal.archives-ouvertes.fr/hal-02902346/file/354c9fb0d148262405609eed2cb7927818706f1f.tar.gz},
hal_id = {hal-02902346},
hal_version = {v1},
eprint = {hal-02902346},
eprinttype = {hal},
}
GitHub Events
Total
- Create event: 34
- Commit comment event: 29
- Release event: 15
- Issues event: 54
- Watch event: 28
- Issue comment event: 272
- Push event: 160
- Pull request review event: 1
- Pull request review comment event: 1
- Pull request event: 47
- Fork event: 7
Last Year
- Create event: 34
- Commit comment event: 29
- Release event: 15
- Issues event: 54
- Watch event: 28
- Issue comment event: 272
- Push event: 160
- Pull request review event: 1
- Pull request review comment event: 1
- Pull request event: 47
- Fork event: 7
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 153
- Total pull requests: 104
- Average time to close issues: about 2 months
- Average time to close pull requests: about 1 month
- Total issue authors: 62
- Total pull request authors: 16
- Average comments per issue: 6.06
- Average comments per pull request: 1.18
- Merged pull requests: 38
- Bot issues: 1
- Bot pull requests: 77
Past Year
- Issues: 44
- Pull requests: 49
- Average time to close issues: 12 days
- Average time to close pull requests: 19 days
- Issue authors: 23
- Pull request authors: 7
- Average comments per issue: 5.09
- Average comments per pull request: 1.37
- Merged pull requests: 20
- Bot issues: 1
- Bot pull requests: 37
Top Authors
Issue Authors
- TorkelE (29)
- Datseris (11)
- rveltz (9)
- yhchang96 (8)
- rseydam (7)
- gszep (6)
- antoine-levitt (6)
- Azercoco (6)
- LEquinoxy (3)
- axla-io (3)
- RuqiShi12 (3)
- github-actions[bot] (2)
- twildi (2)
- BambOoxX (2)
- liuyxpp (2)
Pull Request Authors
- github-actions[bot] (97)
- BambOoxX (5)
- danielwe (4)
- Azercoco (2)
- Datseris (2)
- gszep (2)
- antoine-levitt (2)
- amontoison (2)
- gdalle (2)
- macquarrielucas (2)
- twildi (2)
- isaacsas (1)
- paniash (1)
- dkarrasch (1)
- musvaage (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- julia 108 total
- Total dependent packages: 4
- Total dependent repositories: 0
- Total versions: 48
juliahub.com: BifurcationKit
A Julia package to perform Bifurcation Analysis
- Homepage: https://bifurcationkit.github.io/BifurcationKitDocs.jl/stable
- Documentation: https://docs.juliahub.com/General/BifurcationKit/stable/
- License: MIT
-
Latest release: 0.5.0
published 9 months ago
Rankings
Dependencies
- JuliaRegistries/TagBot v1 composite
- actions/cache v1 composite
- actions/checkout v2 composite
- codecov/codecov-action v1 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/julia-processcoverage v1 composite
- julia-actions/julia-runtest v1 composite
- julia-actions/setup-julia v1 composite