https://github.com/sciml/geometricintegratorsdiffeq.jl
Wrappers for GeometricIntegrators.jl into the SciML common interface for scientific machine learning (SciML)
https://github.com/sciml/geometricintegratorsdiffeq.jl
differential-equations geometric-algorithms geometricintegrators scientific-machine-learning sciml
Last synced: about 1 month ago
JSON representation
Wrappers for GeometricIntegrators.jl into the SciML common interface for scientific machine learning (SciML)
- Host: GitHub
- URL: https://github.com/sciml/geometricintegratorsdiffeq.jl
- Owner: SciML
- License: other
- Created: 2017-11-24T15:49:49.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2025-08-18T03:06:41.000Z (about 2 months ago)
- Last Synced: 2025-08-28T17:52:59.147Z (about 1 month ago)
- Topics: differential-equations, geometric-algorithms, geometricintegrators, scientific-machine-learning, sciml
- Language: Julia
- Homepage:
- Size: 86.9 KB
- Stars: 8
- Watchers: 2
- Forks: 12
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
- Citation: CITATION.bib
Awesome Lists containing this project
README
# GeometricIntegratorsDiffEq.jl
[](https://github.com/SciML/GeometricIntegratorsDiffEq.jl/actions?query=workflow%3ACI)
[](https://coveralls.io/github/JuliaDiffEq/GeometricIntegratorsDiffEq.jl?branch=master)
[](http://codecov.io/github/JuliaDiffEq/GeometricIntegratorsDiffEq.jl?branch=master)This package contains bindings for GeometricIntegrators.jl to allow it to be used with the
JuliaDiffEq common interface. For more information on using the solvers from this
package, see the [DifferentialEquations.jl documentation](https://diffeq.sciml.ai/stable/).## Common API Usage
This library adds the common interface to GeometricIntegrators.jl's solvers. [See the DifferentialEquations.jl documentation for details on the interface](https://diffeq.sciml.ai/stable/index.html). Following the Lorenz example from [the ODE tutorial](https://diffeq.sciml.ai/stable/tutorials/ode_example/), we can solve this using `GIEuler` via the following:
```julia
using GeometricIntegratorsDiffEq
function lorenz(du,u,p,t)
du[1] = 10.0(u[2]-u[1])
du[2] = u[1]*(28.0-u[3]) - u[2]
du[3] = u[1]*u[2] - (8/3)*u[3]
end
u0 = [1.0;0.0;0.0]
tspan = (0.0,100.0)
prob = ODEProblem(lorenz,u0,tspan)
sol = solve(prob,GIEuler(),dt=0.1)
using Plots; plot(sol,vars=(1,2,3))
```The options available in `solve` are documented [at the common solver options page](https://diffeq.sciml.ai/stable/basics/common_solver_opts/). The available methods are documented [at the ODE solvers page](https://diffeq.sciml.ai/stable/solvers/ode_solve#GeometricIntegrators.jl-1).