DiffEqCallbacks

A library of useful callbacks for hybrid scientific machine learning (SciML) with augmented differential equation solvers

https://github.com/sciml/diffeqcallbacks.jl

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

callback dae dde differential-equations julia neural-ode ode scientific-machine-learning sciml sde

Keywords from Contributors

neural-sde pde ordinary-differential-equations stochastic-differential-equations differentialequations delay-differential-equations hybrid-differential-equation neural-differential-equations partial-differential-equations numerical
Last synced: 6 months ago · JSON representation

Repository

A library of useful callbacks for hybrid scientific machine learning (SciML) with augmented differential equation solvers

Basic Info
Statistics
  • Stars: 99
  • Watchers: 3
  • Forks: 54
  • Open Issues: 26
  • Releases: 102
Topics
callback dae dde differential-equations julia neural-ode ode scientific-machine-learning sciml sde
Created about 9 years ago · Last pushed 6 months ago
Metadata Files
Readme License Citation

README.md

DiffEqCallbacks.jl: Prebuilt Callbacks for extending the solvers of DifferentialEquations.jl

Join the chat at https://julialang.zulipchat.com #sciml-bridged Global Docs

codecov Build Status

ColPrac: Contributor's Guide on Collaborative Practices for Community Packages SciML Code Style

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

manifold_projection

Owner

  • Name: SciML Open Source Scientific Machine Learning
  • Login: SciML
  • Kind: organization
  • Email: contact@chrisrackauckas.com

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

All Time
  • Total Commits: 497
  • Total Committers: 51
  • Avg Commits per committer: 9.745
  • Development Distribution Score (DDS): 0.481
Past Year
  • Commits: 79
  • Committers: 12
  • Avg Commits per committer: 6.583
  • Development Distribution Score (DDS): 0.684
Top Committers
Name Email 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...

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
bug (4) question (3) callbacks (1)
Pull Request Labels
dependencies (16) github_actions (1)

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

  • Versions: 84
  • Dependent Packages: 52
  • Dependent Repositories: 12
  • Downloads: 7,183 Total
Rankings
Dependent packages count: 1.6%
Dependent repos count: 2.6%
Forks count: 4.2%
Average: 4.7%
Stargazers count: 10.5%
Last synced: 6 months ago

Dependencies

.github/workflows/CI.yml actions
  • 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
.github/workflows/CompatHelper.yml actions
  • julia-actions/setup-julia latest composite
.github/workflows/Documentation.yml actions
  • actions/checkout v2 composite
  • codecov/codecov-action v1 composite
  • julia-actions/julia-processcoverage v1 composite
  • julia-actions/setup-julia latest composite
.github/workflows/FormatCheck.yml actions
  • actions/checkout v1 composite
  • julia-actions/setup-julia latest composite
.github/workflows/Invalidations.yml actions
  • actions/checkout v3 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-invalidations v1 composite
  • julia-actions/setup-julia v1 composite
.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite
.github/workflows/SpellCheck.yml actions
  • actions/checkout v4 composite
  • crate-ci/typos v1.16.23 composite
.github/workflows/Downgrade.yml actions
  • 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