DiffEqCallbacks
A library of useful callbacks for hybrid scientific machine learning (SciML) with augmented differential equation solvers
Science Score: 36.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
11 of 51 committers (21.6%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.3%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
A library of useful callbacks for hybrid scientific machine learning (SciML) with augmented differential equation solvers
Basic Info
- Host: GitHub
- Owner: SciML
- License: other
- Language: Julia
- Default Branch: master
- Homepage: https://docs.sciml.ai/DiffEqCallbacks/stable/
- Size: 3.89 GB
Statistics
- Stars: 99
- Watchers: 3
- Forks: 54
- Open Issues: 26
- Releases: 102
Topics
Metadata Files
README.md
DiffEqCallbacks.jl: Prebuilt Callbacks for extending the solvers of DifferentialEquations.jl
DifferentialEquations.jl has an expressive callback system which allows for customizable transformations of the solver behavior. DiffEqCallbacks.jl is a library of pre-built callbacks which makes it easy to transform the solver into a domain-specific simulation tool.
Tutorials and Documentation
For information on using the package, see the stable documentation. Use the in-development documentation for the version of the documentation, which contains the unreleased features.
Manifold Projection Example
Here we solve the harmonic oscillator:
```julia using OrdinaryDiffEq
u0 = ones(2) function f(du, u, p, t) du[1] = u[2] du[2] = -u[1] end prob = ODEProblem(f, u0, (0.0, 100.0)) ```
However, this problem is supposed to conserve energy, and thus we define our manifold to conserve the sum of squares:
julia
function g(resid, u, p, t)
resid[1] = u[2]^2 + u[1]^2 - 2
end
To build the callback, we call
julia
using DiffEqCallbacks, ADTypes
cb = ManifoldProjection(g, autodiff = AutoForwardDiff(), resid_prototype = zeros(1))
Using this callback, the Runge-Kutta method Vern7 conserves energy. Note that the
standard saving occurs after the step and before the callback, and thus we set
save_everystep=false to turn off all standard saving and let the callback
save after the projection is applied.
julia
using Test
sol = solve(prob, Vern7(), save_everystep = false, callback = cb)
@test sol[end][1]^2 + sol[end][2]^2 ≈ 2

Owner
- Name: SciML Open Source Scientific Machine Learning
- Login: SciML
- Kind: organization
- Email: contact@chrisrackauckas.com
- Website: https://sciml.ai
- Twitter: SciML_Org
- Repositories: 170
- Profile: https://github.com/SciML
Open source software for scientific machine learning
GitHub Events
Total
- Create event: 24
- Commit comment event: 2
- Issues event: 7
- Release event: 12
- Watch event: 2
- Delete event: 11
- Issue comment event: 51
- Push event: 88
- Pull request event: 56
- Pull request review comment event: 37
- Pull request review event: 30
- Fork event: 7
Last Year
- Create event: 24
- Commit comment event: 2
- Issues event: 7
- Release event: 12
- Watch event: 2
- Delete event: 11
- Issue comment event: 51
- Push event: 88
- Pull request event: 56
- Pull request review comment event: 37
- Pull request review event: 30
- Fork event: 7
Committers
Last synced: 10 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Christopher Rackauckas | a****s@c****m | 258 |
| Avik Pal | a****l@m****u | 26 |
| Alex Cohen | a****n@m****u | 22 |
| ArnoStrouwen | a****n@t****e | 20 |
| David Widmann | d****t@d****e | 18 |
| Elliot Saba | s****t@g****m | 17 |
| Hendrik Ranocha | h****a@t****e | 15 |
| Sam Isaacson | i****s | 11 |
| dependabot[bot] | 4****] | 10 |
| github-actions[bot] | 4****] | 9 |
| abavoil | 1****l | 8 |
| Anant Thazhemadam | a****m@g****m | 8 |
| Oscar Smith | o****h@g****m | 6 |
| Alberto Mercurio | a****6@g****m | 6 |
| Twan Koolen | k****n@g****m | 5 |
| Hongyang Zhou | h****u@u****u | 5 |
| Erik Faulhaber | 4****r | 5 |
| Alejandro Morales Sierra | m****o@g****m | 4 |
| Daniel VandenHeuvel | 9****H | 3 |
| Martijn Visser | m****r@g****m | 3 |
| Chris de Graaf | me@c****v | 2 |
| Cody Tapscott | t****y@t****e | 2 |
| Anshul Singhvi | a****7@s****u | 2 |
| CompatHelper Julia | c****y@j****g | 2 |
| Frames White | me@o****t | 2 |
| Lilith Orion Hafner | l****r@g****m | 2 |
| femtocleaner[bot] | f****] | 2 |
| Julia TagBot | 5****t | 1 |
| Fabian Bernhard | f****d@w****h | 1 |
| Pepijn de Vos | p****s@j****m | 1 |
| and 21 more... | ||
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 50
- Total pull requests: 180
- Average time to close issues: 4 months
- Average time to close pull requests: 5 days
- Total issue authors: 38
- Total pull request authors: 44
- Average comments per issue: 5.92
- Average comments per pull request: 0.63
- Merged pull requests: 152
- Bot issues: 0
- Bot pull requests: 30
Past Year
- Issues: 8
- Pull requests: 42
- Average time to close issues: 6 days
- Average time to close pull requests: 1 day
- Issue authors: 6
- Pull request authors: 13
- Average comments per issue: 1.88
- Average comments per pull request: 0.5
- Merged pull requests: 29
- Bot issues: 0
- Bot pull requests: 5
Top Authors
Issue Authors
- ChrisRackauckas (7)
- ArnoStrouwen (3)
- albertomercurio (3)
- avik-pal (1)
- paolo-mgi (1)
- isaacsas (1)
- abavoil (1)
- ivborissov (1)
- dkarrasch (1)
- evetion (1)
- CasBex (1)
- BeastyBlacksmith (1)
- JKRT (1)
- vbertret (1)
- sebapersson (1)
Pull Request Authors
- ChrisRackauckas (43)
- github-actions[bot] (20)
- ArnoStrouwen (20)
- dependabot[bot] (16)
- avik-pal (13)
- staticfloat (11)
- devmotion (9)
- thazhemadam (8)
- albertomercurio (6)
- oscardssmith (6)
- acoh64 (5)
- visr (4)
- maxesit (4)
- isaacsas (4)
- DanielVandH (3)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- julia 7,183 total
- Total dependent packages: 52
- Total dependent repositories: 12
- Total versions: 84
juliahub.com: DiffEqCallbacks
A library of useful callbacks for hybrid scientific machine learning (SciML) with augmented differential equation solvers
- Homepage: https://docs.sciml.ai/DiffEqCallbacks/stable/
- Documentation: https://docs.juliahub.com/General/DiffEqCallbacks/stable/
- License: MIT
-
Latest release: 4.9.0
published 7 months ago
Rankings
Dependencies
- 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
- julia-actions/setup-julia latest composite
- actions/checkout v2 composite
- codecov/codecov-action v1 composite
- julia-actions/julia-processcoverage v1 composite
- julia-actions/setup-julia latest composite
- actions/checkout v1 composite
- julia-actions/setup-julia latest composite
- actions/checkout v3 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/julia-invalidations v1 composite
- julia-actions/setup-julia v1 composite
- JuliaRegistries/TagBot v1 composite
- actions/checkout v4 composite
- crate-ci/typos v1.16.23 composite
- actions/checkout v4 composite
- cjdoris/julia-downgrade-compat-action v1 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/julia-runtest v1 composite
- julia-actions/setup-julia v1 composite