Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Separate DASKR wrapper to a different package? #69

Closed
ChrisRackauckas opened this issue Dec 1, 2016 · 4 comments
Closed

Separate DASKR wrapper to a different package? #69

ChrisRackauckas opened this issue Dec 1, 2016 · 4 comments

Comments

@ChrisRackauckas
Copy link

It would be nice to have a DASKR.jl just for the DASKR wrapper, so that way the DAE solver could be used directly. How hard would that be given the current state of the code?

@tshort
Copy link
Owner

tshort commented Dec 1, 2016

@ChrisRackauckas, it'd be easy for just the wrapper. (BTW, great job with the whole JuliaDiffEq org/community!) DASKR is only one FORTRAN routine to wrap. If you're interested in any of the following, I'll need some help, though:

  • BinDeps--I don't have anything fancy for installation right now. It's really up to the user to get FORTRAN installed. I've looked at BinDeps before and never really figured it out.

  • Common API--I'm pretty new to this.

  • Tests--Some of your existing work would help here.

Anyway, if you think it's worth a shot, I could draft a package.

@ChrisRackauckas
Copy link
Author

BinDeps--I don't have anything fancy for installation right now. It's really up to the user to get FORTRAN installed. I've looked at BinDeps before and never really figured it out.

I think ODEInterface.jl's style of "if you have a FORTRAN compiler, it'll work" is fine.

Common API--I'm pretty new to this.
Tests--Some of your existing work would help here.

Sure thing. If you put a draft together that shows how to call the solver, I can pretty easily get it to the API. Note I probably won't get around to it for like a week (I shouldn't be coding today... should be a paper writing day...).

@tshort
Copy link
Owner

tshort commented Dec 4, 2016

@ChrisRackauckas, I put together a quick-n-dirty repo here:

https://github.com/tshort/DASKR.jl

Notes:

  • It has a crude/partial common API interface, but I didn't know what I was doing. I mainly copied the Sundials function.
  • The common API doesn't support events. I think callbacks may still be a work in progress.
  • There are a few helpers that help set up callbacks for the solver (residual, jacobian, and event handling). These use the ipar field to pass along size of the system along with other info. A more general way to pass data would be better.
  • Nothing is exported.

For the common API to be usable in Sims, it'll need to support events. Also, it'll be challenging for the common API to handle things like a banded jacobian (not that we handle that now, but maybe someday).

@ChrisRackauckas
Copy link
Author

ChrisRackauckas commented Dec 4, 2016

I moved the reply over to SciML/DASKR.jl#1 since it now applies to that package.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants