From f7e660607986f01a9f0115c8911eb0a6b83d3fc8 Mon Sep 17 00:00:00 2001 From: James Tocknell Date: Thu, 11 Jul 2024 19:32:12 +1000 Subject: [PATCH] Update READMEs for each of the packages This removes the travis badge, and creates readmes based on the main readme for each of the packages. --- README.md | 3 +- packages/scikits-odes-core/README.md | 65 +++++++++++++++++++++++- packages/scikits-odes-daepack/README.md | 65 +++++++++++++++++++++++- packages/scikits-odes-sundials/README.md | 65 +++++++++++++++++++++++- 4 files changed, 193 insertions(+), 5 deletions(-) mode change 120000 => 100644 packages/scikits-odes-core/README.md mode change 120000 => 100644 packages/scikits-odes-daepack/README.md mode change 120000 => 100644 packages/scikits-odes-sundials/README.md diff --git a/README.md b/README.md index e16f2477..eee3ac2d 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,4 @@ [![Documentation Status](https://readthedocs.org/projects/scikits-odes/badge/?version=stable)](https://scikits-odes.readthedocs.org/en/stable/?badge=stable) -[![Build Status](https://travis-ci.org/bmcage/odes.svg?branch=master)](https://travis-ci.org/bmcage/odes) [![Version](https://img.shields.io/pypi/v/scikits.odes.svg)](https://pypi.python.org/pypi/scikits.odes/) [![License](https://img.shields.io/pypi/l/scikits.odes.svg)](https://pypi.python.org/pypi/scikits.odes/) [![Supported versions](https://img.shields.io/pypi/pyversions/scikits.odes.svg)](https://pypi.python.org/pypi/scikits.odes/) @@ -13,7 +12,7 @@ [![Paper DOI](http://joss.theoj.org/papers/10.21105/joss.00165/status.svg)](https://doi.org/10.21105/joss.00165) -ODES is a scikit for Python 3.6-3.9 offering extra ode/dae solvers, as an extension to what is available in scipy. +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](https://scikits-odes.readthedocs.io/), and API docs can be found at https://bmcage.github.io/odes. # Available solvers: diff --git a/packages/scikits-odes-core/README.md b/packages/scikits-odes-core/README.md deleted file mode 120000 index fe840054..00000000 --- a/packages/scikits-odes-core/README.md +++ /dev/null @@ -1 +0,0 @@ -../../README.md \ No newline at end of file diff --git a/packages/scikits-odes-core/README.md b/packages/scikits-odes-core/README.md new file mode 100644 index 00000000..45a62b3b --- /dev/null +++ b/packages/scikits-odes-core/README.md @@ -0,0 +1,64 @@ +[![Documentation Status](https://readthedocs.org/projects/scikits-odes/badge/?version=stable)](https://scikits-odes.readthedocs.org/en/stable/?badge=stable) +[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.5511691.svg)](https://doi.org/10.5281/zenodo.5511691) +[![Paper DOI](http://joss.theoj.org/papers/10.21105/joss.00165/status.svg)](https://doi.org/10.21105/joss.00165) + +This package contains the core support classes for ODES. +`pip install scikits-odes` to get all the available solvers. + + +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](https://scikits-odes.readthedocs.io/), 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 van_der_pol(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', van_der_pol, 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](https://scikits-odes.readthedocs.io/) 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](https://github.com/bmcage/centrifuge-1d/blob/master/centrifuge1d/modules/shared/solver.py) + +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](https://doi.org/10.21105/joss.00165). Additionally, if you use +one of the SUNDIALS solvers, we strongly encourage you to cite the +[SUNDIALS papers](https://computation.llnl.gov/projects/sundials/publications). diff --git a/packages/scikits-odes-daepack/README.md b/packages/scikits-odes-daepack/README.md deleted file mode 120000 index fe840054..00000000 --- a/packages/scikits-odes-daepack/README.md +++ /dev/null @@ -1 +0,0 @@ -../../README.md \ No newline at end of file diff --git a/packages/scikits-odes-daepack/README.md b/packages/scikits-odes-daepack/README.md new file mode 100644 index 00000000..28e0f819 --- /dev/null +++ b/packages/scikits-odes-daepack/README.md @@ -0,0 +1,64 @@ +[![Documentation Status](https://readthedocs.org/projects/scikits-odes/badge/?version=stable)](https://scikits-odes.readthedocs.org/en/stable/?badge=stable) +[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.5511691.svg)](https://doi.org/10.5281/zenodo.5511691) +[![Paper DOI](http://joss.theoj.org/papers/10.21105/joss.00165/status.svg)](https://doi.org/10.21105/joss.00165) + +This package contains the f2py wrappers for lsodi and ddaspk for ODES. +`pip install scikits-odes` to get all the available solvers. + + +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](https://scikits-odes.readthedocs.io/), 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 van_der_pol(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', van_der_pol, 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](https://scikits-odes.readthedocs.io/) 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](https://github.com/bmcage/centrifuge-1d/blob/master/centrifuge1d/modules/shared/solver.py) + +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](https://doi.org/10.21105/joss.00165). Additionally, if you use +one of the SUNDIALS solvers, we strongly encourage you to cite the +[SUNDIALS papers](https://computation.llnl.gov/projects/sundials/publications). diff --git a/packages/scikits-odes-sundials/README.md b/packages/scikits-odes-sundials/README.md deleted file mode 120000 index fe840054..00000000 --- a/packages/scikits-odes-sundials/README.md +++ /dev/null @@ -1 +0,0 @@ -../../README.md \ No newline at end of file diff --git a/packages/scikits-odes-sundials/README.md b/packages/scikits-odes-sundials/README.md new file mode 100644 index 00000000..c00991da --- /dev/null +++ b/packages/scikits-odes-sundials/README.md @@ -0,0 +1,64 @@ +[![Documentation Status](https://readthedocs.org/projects/scikits-odes/badge/?version=stable)](https://scikits-odes.readthedocs.org/en/stable/?badge=stable) +[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.5511691.svg)](https://doi.org/10.5281/zenodo.5511691) +[![Paper DOI](http://joss.theoj.org/papers/10.21105/joss.00165/status.svg)](https://doi.org/10.21105/joss.00165) + +This package contains the SUNDIALS wrappers for ODES. +`pip install scikits-odes` to get all the available solvers. + + +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](https://scikits-odes.readthedocs.io/), 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 van_der_pol(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', van_der_pol, 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](https://scikits-odes.readthedocs.io/) 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](https://github.com/bmcage/centrifuge-1d/blob/master/centrifuge1d/modules/shared/solver.py) + +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](https://doi.org/10.21105/joss.00165). Additionally, if you use +one of the SUNDIALS solvers, we strongly encourage you to cite the +[SUNDIALS papers](https://computation.llnl.gov/projects/sundials/publications).