ODES
ODES: a high level interface to ODE and DAE solvers - Published in JOSS (2018)
Science Score: 95.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 9 DOI reference(s) in README and JOSS metadata -
✓Academic publication links
Links to: joss.theoj.org, zenodo.org -
✓Committers with academic emails
1 of 16 committers (6.3%) from academic institutions -
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Scientific Fields
Repository
The ODES scikit for ordinary differential and algebraic equations, an extension to scipy
Basic Info
- Host: GitHub
- Owner: bmcage
- License: other
- Language: Python
- Default Branch: master
- Homepage: https://scikits-odes.readthedocs.io/
- Size: 14.6 MB
Statistics
- Stars: 126
- Watchers: 11
- Forks: 43
- Open Issues: 26
- Releases: 20
Metadata Files
README.md
ODES is a scikit for Python 3.7+ offering extra ode/dae solvers, as an extension to what is available in scipy. The documentation is available at Read The Docs, and API docs can be found at https://bmcage.github.io/odes.
Available solvers:
ODES provides interfaces to the following solvers:
* BDF linear multistep method for stiff problems (CVODE and IDA from SUNDIALS)
* Adams-Moulton linear multistep method for nonstiff problems (CVODE and IDA from SUNDIALS)
* Explicit Runge-Kutta method of order (4)5 with stepsize control ( dopri5 from scipy.integrate)
* Explicit Runge-Kutta method of order 8(5,3) with stepsize control ( dop853 from scipy.integrate)
* Historical solvers: lsodi and ddaspk are available for comparison reasons. Use IDA instead! Note that lsodi fails on architecture aarch64.
Usage
A simple example solving the Van der Pol oscillator is as follows:
```python import matplotlib.pyplot as plt import numpy as np from scikits_odes import ode
t0, y0 = 1, np.array([0.5, 0.5]) # initial condition def vanderpol(t, y, ydot): """ we create rhs equations for the problem""" ydot[0] = y[1] ydot[1] = 1000(1.0-y[0]2)y[1]-y[0]
solution = ode('cvode', vanderpol, old_api=False).solve(np.linspace(t0,500,200), y0) plt.plot(solution.values.t, solution.values.y[:,0], label='Van der Pol oscillator') plt.show() ```
For simplicity there is also a convenience function odeint wrapping the ode solver class. See the User Guide for a simple example for odeint, as well as simple examples for object orientated interfaces and further examples using ODES solvers.
Projects that use odes
You can learn by example from following code that uses ODES: * Centrifuge simulation, a wrapper around the ida solver: see centrifuge-1d
You have a project using odes? Do a pull request to add your project.
Citing ODES
If you use ODES as part of your research, can you please cite the ODES JOSS paper. Additionally, if you use one of the SUNDIALS solvers, we strongly encourage you to cite the SUNDIALS papers.
Owner
- Name: Benny
- Login: bmcage
- Kind: user
- Location: Belgium
- Company: ugent.be
- Website: http://cage.ugent.be/~bm
- Repositories: 26
- Profile: https://github.com/bmcage
JOSS Publication
ODES: a high level interface to ODE and DAE solvers
Authors
Ghent University
University of Southampton
Tags
ode dae sundials root findingGitHub Events
Total
- Create event: 4
- Release event: 4
- Issues event: 8
- Watch event: 3
- Issue comment event: 19
- Push event: 25
- Pull request event: 27
- Fork event: 1
Last Year
- Create event: 4
- Release event: 4
- Issues event: 8
- Watch event: 3
- Issue comment event: 19
- Push event: 25
- Pull request event: 27
- Fork event: 1
Committers
Last synced: 7 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Benny Malengier | b****r@g****m | 196 |
| James Tocknell | a****r@g****m | 121 |
| Pavol Kišon | p****n@g****m | 105 |
| Corey R. Randall | c****l@g****m | 14 |
| Claas Abert | c****s@c****e | 6 |
| Stefan Ecklebe | s****e@t****e | 6 |
| Florian Bruckner | e****5@g****m | 5 |
| logicabrity | m****l@m****e | 4 |
| Saransh | s****1@g****m | 3 |
| Dominic Steinitz | d****c@s****g | 2 |
| Florian Klink | f****i@f****e | 2 |
| Valentin Sulzer | v****r@h****m | 2 |
| Björn Ingvar Dahlgren | b****h@g****m | 1 |
| Martin Robinson | m****s@g****m | 1 |
| stuart-nolan | 6****n | 1 |
| James Tocknell | a****r@c****e | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 68
- Total pull requests: 84
- Average time to close issues: 5 months
- Average time to close pull requests: about 2 months
- Total issue authors: 49
- Total pull request authors: 14
- Average comments per issue: 3.43
- Average comments per pull request: 1.42
- Merged pull requests: 72
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 2
- Pull requests: 15
- Average time to close issues: 1 day
- Average time to close pull requests: 7 days
- Issue authors: 2
- Pull request authors: 3
- Average comments per issue: 2.5
- Average comments per pull request: 0.87
- Merged pull requests: 12
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- aragilar (5)
- idontgetoutmuch (4)
- ma-sadeghi (3)
- Huan-Yang (3)
- flokli (2)
- callegar (2)
- moorepants (2)
- paulhprobert (2)
- cmashraf (2)
- artgoldberg (2)
- martinjrobins (2)
- bmcage (2)
- OrbitalMechanic (1)
- faultdiagnosistoolbox (1)
- dmitry-kabanov (1)
Pull Request Authors
- aragilar (84)
- c-randall (8)
- bmcage (5)
- stuart-nolan (2)
- flokli (2)
- tinosulzer (2)
- bjodah (2)
- idontgetoutmuch (1)
- cklb (1)
- Saransh-cpp (1)
- kmaitreys (1)
- sixpearls (1)
- dmitry-kabanov (1)
- martinjrobins (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 6
-
Total downloads:
- pypi 4,657 last-month
-
Total dependent packages: 0
(may contain duplicates) -
Total dependent repositories: 0
(may contain duplicates) - Total versions: 48
- Total maintainers: 3
spack.io: py-scikits-odes
Odes is a scikit toolkit for scipy to add extra ode solvers. Specifically it interfaces the Sundials solvers cvode, cvodes, ida and idas. It this way it provides extra modern ode and dae solvers you can use, extending the capabilities offered in scipy.integrade.ode.
- Homepage: https://github.com/bmcage/odes
- License: []
-
Latest release: 2.7.0
published over 2 years ago
Rankings
Maintainers (1)
pypi.org: scikits-odes
A python module for ordinary differential equation and differential algebraic equation solvers
- Homepage: http://cage.ugent.be/~bm/progs.html
- Documentation: https://scikits-odes.readthedocs.io/en/stable/
- License: # Copyright (C) 2011-12 Pavol Kišon # Copyright (C) 2011-12 Benny Malengier All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: a. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. b. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. c. Neither the name of the Enthought nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
Latest release: 3.1.1
published about 1 year ago
Rankings
Maintainers (2)
pypi.org: scikits-odes-core
Core support module for scikits-odes
- Homepage: http://cage.ugent.be/~bm/progs.html
- Documentation: https://scikits-odes.readthedocs.io/en/stable/
- License: # Copyright (C) 2011-12 Pavol Kišon # Copyright (C) 2011-12 Benny Malengier All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: a. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. b. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. c. Neither the name of the Enthought nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
Latest release: 3.1.1
published about 1 year ago
Rankings
Maintainers (2)
pypi.org: scikits-odes-daepack
Wrapper around daepack
- Homepage: http://cage.ugent.be/~bm/progs.html
- Documentation: https://scikits-odes.readthedocs.io/en/stable/
- License: # Copyright (C) 2011-12 Pavol Kišon # Copyright (C) 2011-12 Benny Malengier All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: a. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. b. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. c. Neither the name of the Enthought nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
Latest release: 3.0.0
published over 1 year ago
Rankings
Maintainers (2)
pypi.org: scikits-odes-sundials
Sundials wrapper module for scikits-odes
- Homepage: http://cage.ugent.be/~bm/progs.html
- Documentation: https://scikits-odes.readthedocs.io/en/stable/
- License: # Copyright (C) 2011-12 Pavol Kišon # Copyright (C) 2011-12 Benny Malengier All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: a. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. b. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. c. Neither the name of the Enthought nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
Latest release: 3.1.1
published about 1 year ago
Rankings
Maintainers (2)
conda-forge.org: scikits.odes
Odes is a scikit toolkit for scipy to add extra ode solvers. Specifically it interfaces the Sundials solvers cvode, cvodes, ida and idas. It this way it provides extra modern ode and dae solvers you can use, extending the capabilities offered in scipy.integrade.ode.
- Homepage: https://github.com/bmcage/odes
- License: BSD-3-Clause
-
Latest release: 2.6.5
published over 3 years ago
Rankings
Dependencies
- sphinx >=1.4
- sphinx_rtd_theme *
- sphinx >=1.3
- actions/checkout v4 composite
- actions/setup-python v5 composite
- pypa/gh-action-pypi-publish release/v1 composite
- actions/cache v4 composite
- actions/checkout v4 composite
- actions/setup-python v5 composite
- actions/cache v4 composite
- actions/checkout v4 composite
- actions/setup-python v5 composite
- actions/cache v4 composite
- actions/checkout v4 composite
- actions/setup-python v5 composite
- actions/cache v4 composite
- actions/checkout v4 composite
- actions/setup-python v5 composite
- actions/cache v4 composite
- actions/checkout v4 composite
- actions/setup-python v5 composite
- cython *
- ggplot *
- ipython *
- matplotlib *
- pandas *
- scikits-odes-core *
- scikits-odes-daepack *
- scikits-odes-sundials *
- scipy *
- numpy *
- scikits-odes-core *
- numpy *
- scikits-odes-core *
