Skip to main content

A declarative language describing ordinary differential equations

Project description

pre-commit CI github pages License: MIT Code style: black

gotranx

gotranx is the next generation General ODE translator and is an attempt to a full rewrite of gotran.

The general idea is that you write your ODE in a high level markup language and use gotranx to generate code for solving the ODE in different programming languages.

At the moment we only support Python and C, but we plan to support a wide range of programming languages in the future.

gotranx uses sympy to generate the numerical schemes.

Install

Install with pip

python3 -m pip install gotranx

or for the development version

python3 -m pip install git+https://github.com/finsberg/gotranx

Quick start

Check out the demos in the documentation and the examples in the repository.

Road map

The plan is to have all the features from the old gotran implemented in gotranx (and some more). This includes

  • More numerical schemes
    • Forward Euler
    • Rush Larsen
    • Generalized Rush Larsen
    • Hybrid Generalized Rush Larsen
    • Simplified Implicit Euler
    • Newton's method for implicit schemes
  • Code generation for more languages
    • Python
    • C
    • C++
    • Julia
    • CUDA
    • OpenCL
    • Rust
    • Latex
    • Markdown
  • Converters between commonly used ODE markup languages
    • Myokit (still some limited support for unit conversion, see issue #26)
    • CellML (supported via MyoKit)

If you have additional feature requests, please open an issue

Contributing

Contributions are very welcomed, but please read the contributing guide first

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gotranx-0.3.5.tar.gz (43.9 kB view hashes)

Uploaded Source

Built Distribution

gotranx-0.3.5-py3-none-any.whl (35.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page