{"action":"created","issue":{"url":"https://api.github.com/repos/JuliaDiffEq/Sundials.jl/issues/93","repository_url":"https://api.github.com/repos/JuliaDiffEq/Sundials.jl","labels_url":"https://api.github.com/repos/JuliaDiffEq/Sundials.jl/issues/93/labels{/name}","comments_url":"https://api.github.com/repos/JuliaDiffEq/Sundials.jl/issues/93/comments","events_url":"https://api.github.com/repos/JuliaDiffEq/Sundials.jl/issues/93/events","html_url":"https://github.com/JuliaDiffEq/Sundials.jl/pull/93","id":188412394,"number":93,"title":"Add Sundials to the JuliaDiffEq common interface","user":{"login":"ChrisRackauckas","id":1814174,"avatar_url":"https://avatars.githubusercontent.com/u/1814174?v=3","gravatar_id":"","url":"https://api.github.com/users/ChrisRackauckas","html_url":"https://github.com/ChrisRackauckas","followers_url":"https://api.github.com/users/ChrisRackauckas/followers","following_url":"https://api.github.com/users/ChrisRackauckas/following{/other_user}","gists_url":"https://api.github.com/users/ChrisRackauckas/gists{/gist_id}","starred_url":"https://api.github.com/users/ChrisRackauckas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ChrisRackauckas/subscriptions","organizations_url":"https://api.github.com/users/ChrisRackauckas/orgs","repos_url":"https://api.github.com/users/ChrisRackauckas/repos","events_url":"https://api.github.com/users/ChrisRackauckas/events{/privacy}","received_events_url":"https://api.github.com/users/ChrisRackauckas/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":11,"created_at":"2016-11-10T03:32:14Z","updated_at":"2016-11-17T05:09:23Z","closed_at":"2016-11-14T13:15:15Z","pull_request":{"url":"https://api.github.com/repos/JuliaDiffEq/Sundials.jl/pulls/93","html_url":"https://github.com/JuliaDiffEq/Sundials.jl/pull/93","diff_url":"https://github.com/JuliaDiffEq/Sundials.jl/pull/93.diff","patch_url":"https://github.com/JuliaDiffEq/Sundials.jl/pull/93.patch"},"body":"This is an extension of the previous PR #87\r\n\r\nThe common interface is a type-based dispatch interface which allows all of the JuliaDiffEq solvers to be used uniformly. It is being discussed here:\r\n\r\nhttps://github.com/JuliaDiffEq/Roadmap/issues/5\r\n\r\nUsage of the interface is summarized as follows. One defines a problem `prob = ODEProblem(f,u0,tspan)` and then the common interface is a set of dispatches on `solve`:\r\n\r\n```julia\r\nsol = solve(prob,alg;kwargs...)\r\n```\r\n\r\nwere there's an agreed upon comprehensive list of keyword arguments which will be documented in DiffEqDocs.jl. The resulting solve object feels like an array:\r\n\r\n```julia\r\nsol[i] # the ith solution value\r\nsol.t[i] # the ith timepoint\r\n```\r\n\r\nand I will soon add the interpolation part of the interface\r\n\r\n```julia\r\nsol(t) # the interpolated solution at time t\r\n```\r\n\r\nBy joining the common interface, all of the tools in the DiffEq universe can use Sundials as a backend: parameter estimation, benchmarking, etc. \r\n\r\nThis will look very familiar because it's based on the interface that used to live in OrdinaryDiffEq.jl (in DifferentialEquations.jl), but is being distributed amongst the separate packages (PR49, ODEInterface, Sundials, etc.) for easier maitenance and to show contributors \"how to plug into the ecosystem\". \r\n\r\nThe result is a unified interface with modular implementations so that way it's easy to maintain and extend.\r\n\r\n----------------------\r\n\r\nThis PR is listed as WIP since the common interface is still not completely solid. However, most of this is already together so please start review. Thanks!"},"comment":{"url":"https://api.github.com/repos/JuliaDiffEq/Sundials.jl/issues/comments/261156930","html_url":"https://github.com/JuliaDiffEq/Sundials.jl/pull/93#issuecomment-261156930","issue_url":"https://api.github.com/repos/JuliaDiffEq/Sundials.jl/issues/93","id":261156930,"user":{"login":"ChrisRackauckas","id":1814174,"avatar_url":"https://avatars.githubusercontent.com/u/1814174?v=3","gravatar_id":"","url":"https://api.github.com/users/ChrisRackauckas","html_url":"https://github.com/ChrisRackauckas","followers_url":"https://api.github.com/users/ChrisRackauckas/followers","following_url":"https://api.github.com/users/ChrisRackauckas/following{/other_user}","gists_url":"https://api.github.com/users/ChrisRackauckas/gists{/gist_id}","starred_url":"https://api.github.com/users/ChrisRackauckas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ChrisRackauckas/subscriptions","organizations_url":"https://api.github.com/users/ChrisRackauckas/orgs","repos_url":"https://api.github.com/users/ChrisRackauckas/repos","events_url":"https://api.github.com/users/ChrisRackauckas/events{/privacy}","received_events_url":"https://api.github.com/users/ChrisRackauckas/received_events","type":"User","site_admin":false},"created_at":"2016-11-17T05:09:23Z","updated_at":"2016-11-17T05:09:23Z","body":"It just went through earlier today."}}
{"actor":{"display_login":"ChrisRackauckas"}}