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

Investigate representations of ODE systems in modcc #64

Closed
halfflat opened this issue Nov 4, 2016 · 5 comments
Closed

Investigate representations of ODE systems in modcc #64

halfflat opened this issue Nov 4, 2016 · 5 comments
Assignees

Comments

@halfflat
Copy link
Contributor

halfflat commented Nov 4, 2016

Point estimate: 10
Feature: #60

Investigate representations as below; document conclusions on wiki or demonstrate proof of concept of choice in code.

The internal representation of an ODE system as specified by a DERIVATIVE block or KINETIC block needs to be such that the following operations are practical:

  • Reduce a over-specified (KINETIC) system following a supplied CONSERVE statement.
  • Determine system linearity.
  • Determine system if system is diagonal.
  • Possibly also: determine algebraic kernel of polynomial ODE system.

The reduction operation is necessary to support the semantics of the mechanism as described in the feature. The linearity and diagonal tests are necessary to determine the choice of solver in the mechanism instantiation.

Consider the use of third party packages such as symengine.

@halfflat halfflat added this to the sprint 2016.11.07 milestone Nov 4, 2016
@halfflat halfflat self-assigned this Nov 4, 2016
@halfflat
Copy link
Contributor Author

halfflat commented Nov 9, 2016

Quick options summary in: https://github.com/eth-cscs/nestmc-proto/wiki/Symbolic-algebra

@halfflat
Copy link
Contributor Author

It looks like symengine will do the job just fine, despite misgivings regarding documentation!
I'll clean up the symengine demo code and place it somewhere for reference.

@halfflat
Copy link
Contributor Author

Ready for review: all info is on the Symbolic algebra wiki page.

@bcumming
Copy link
Member

Looks like there was quite low overhead to get the functionality that we need from SymEngine.

Can you give the output of your demo code in the wiki?

@halfflat
Copy link
Contributor Author

Sure thing!

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