Skip to content

SciML/GeometricIntegratorsDiffEq.jl

Repository files navigation

GeometricIntegratorsDiffEq.jl

Build Status Coverage Status codecov.io

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.

Common API Usage

This library adds the common interface to GeometricIntegrators.jl's solvers. See the DifferentialEquations.jl documentation for details on the interface. Following the Lorenz example from the ODE tutorial, we can solve this using GIEuler via the following:

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. The available methods are documented at the ODE solvers page.