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

Build DiffEqSystem out of Expressions #44

Closed
ivborissov opened this issue Mar 12, 2018 · 3 comments
Closed

Build DiffEqSystem out of Expressions #44

ivborissov opened this issue Mar 12, 2018 · 3 comments
Assignees

Comments

@ivborissov
Copy link

Hi, @ChrisRackauckas , @YingboMa
I am working with a DB where ODE models (parameters, diffeqs, init values, etc) are stored in a language neutral form. So, I can get all the components of ODEProblem from DB and convert (parse) them in Julia to Expressions like:

ex = quote
    v1 = k1*A*comp1
    dA = -v1/comp1
    dB = v1/comp1
end
params = (:k1, :comp1)
depend_vars = (:A, :B)

The interface I am looking for is a way to turn such input to DiffEqSystem and ODEProblem. Is it already supported in macro-free version?

@ChrisRackauckas
Copy link
Member

I assigned @YingboMa here since he setup the expression parsing that you can see in this test:

https://github.com/JuliaDiffEq/SciCompDSL.jl/blob/master/test/internal.jl

But I think that right now that needs to know the variable context. A version of parsing where you can pass in what names correspond to what kinds of variables, and have a bunch of stuff defined/returned would be good to have, and @YingboMa 's tooling should already be close.

@ChrisRackauckas
Copy link
Member

We should put this as a lower priority until some other things stabilize, otherwise it will break too easily.

@ChrisRackauckas
Copy link
Member

We're kicking this as the job for a macro. Maybe we can include a macro in the base package, but this is distinct from the job of the IR.

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

3 participants