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

Improve numerical stability when integrating the ODE system #69

Merged
merged 7 commits into from
Nov 29, 2020

Conversation

schneiderfelipe
Copy link
Member

This attempts to fix #68.

@schneiderfelipe schneiderfelipe added bug Something isn't working enhancement New feature or request help wanted Extra attention is needed labels Nov 26, 2020
@schneiderfelipe schneiderfelipe added this to the 1.0 milestone Nov 26, 2020
@schneiderfelipe schneiderfelipe self-assigned this Nov 26, 2020
@schneiderfelipe schneiderfelipe linked an issue Nov 26, 2020 that may be closed by this pull request
7 tasks
@schneiderfelipe schneiderfelipe force-pushed the num-stab branch 2 times, most recently from 68b8d55 to df0d6e5 Compare November 26, 2020 21:12
@schneiderfelipe schneiderfelipe force-pushed the num-stab branch 2 times, most recently from 560ceff to 42e3b46 Compare November 27, 2020 03:00
schneiderfelipe added a commit that referenced this pull request Jul 28, 2021
* Set build action to run on central and dev repositories

* Drop official support for PyPy3 (#53)

* Invert minor imaginary frequencies (#50)

* Use Rich library in the CLI (#47)

* Improve reporting capabilities

* Make get_y return a function and use a clever default for t_span (#48)

* Create dependabot.yml (#54)

* Solve a standard error due to randomness (#55)

* Test only on the oldest supported and latest Python versions

* Show initial and final concentrations in the output (#56)

* Simple justification of text in the output

* Automatically use reaction symmetry when necessary (#62)

* Automatically introduce reaction symmetry when it exists

* Add tests for get_reaction_entropies

* Ensure standard state corrections are correct (#64)

* Use bias in the CLI and make model objects immutable (#66)

* Make model objects immutable and improve dotdict

* Improve numerical stability when integrating the ODE system (#69)

* Use the default integrator in general

* Optionally use JAX for speed

* Use an exact Jacobian using JAX

* Use rtol and atol with solve_ivp

* Improve reaction rate constants for equilibria

* Allow the user to choose among ODE solvers

* Allow the user to choose a simulation time

* Improve CLI, plots, and some tests (#73)

* Enlarge the default max simulation time

* Base max. time and plot on active species

* Select plot points according to simulation profile

* Allow selection of tunneling correction in the CLI

* Use an integrated keyword for --plot

* Improve CLI help page

* Refactor and allow fixing concentrations of selected compounds (#74)

* Allow fixing concentrations of certain compounds

* Improve testing convert_rate_constant

* Improve tests and docs on equilibrium_constant

* Improve get_k and its tests and docs

* Change the default behavior of convert_rate_constant

* Always use rate constants as a vector

* Correct bug about equilibria adjustments

* Correct and improve regressions

* Reproduce some literature data as graphs

* Match results from the literature and simplify API

* Make flake8 more strict on function complexity

* Make CLI receive only biases in kcal/mol

* Optimize biases from experiments using get_bias

* Update documentation

* Update links (fix #82)

* Make it future-proof and compatible with RTDs

* Update docs with a new theme

* Use MIT license

* Make the program display a (better) startup notice

* Inform we use semantic versioning
schneiderfelipe added a commit that referenced this pull request Oct 13, 2021
* Set build action to run on central and dev repositories

* Drop official support for PyPy3 (#53)

* Invert minor imaginary frequencies (#50)

* Use Rich library in the CLI (#47)

* Improve reporting capabilities

* Make get_y return a function and use a clever default for t_span (#48)

* Create dependabot.yml (#54)

* Solve a standard error due to randomness (#55)

* Test only on the oldest supported and latest Python versions

* Show initial and final concentrations in the output (#56)

* Simple justification of text in the output

* Automatically use reaction symmetry when necessary (#62)

* Automatically introduce reaction symmetry when it exists

* Add tests for get_reaction_entropies

* Ensure standard state corrections are correct (#64)

* Use bias in the CLI and make model objects immutable (#66)

* Make model objects immutable and improve dotdict

* Improve numerical stability when integrating the ODE system (#69)

* Use the default integrator in general

* Optionally use JAX for speed

* Use an exact Jacobian using JAX

* Use rtol and atol with solve_ivp

* Improve reaction rate constants for equilibria

* Allow the user to choose among ODE solvers

* Allow the user to choose a simulation time

* Improve CLI, plots, and some tests (#73)

* Enlarge the default max simulation time

* Base max. time and plot on active species

* Select plot points according to simulation profile

* Allow selection of tunneling correction in the CLI

* Use an integrated keyword for --plot

* Improve CLI help page

* Refactor and allow fixing concentrations of selected compounds (#74)

* Allow fixing concentrations of certain compounds

* Improve testing convert_rate_constant

* Improve tests and docs on equilibrium_constant

* Improve get_k and its tests and docs

* Change the default behavior of convert_rate_constant

* Always use rate constants as a vector

* Correct bug about equilibria adjustments

* Correct and improve regressions

* Reproduce some literature data as graphs

* Match results from the literature and simplify API

* Make flake8 more strict on function complexity

* Make CLI receive only biases in kcal/mol

* Optimize biases from experiments using get_bias

* Update documentation

* Update links (fix #82)

* Make it future-proof and compatible with RTDs

* Update docs with a new theme

* Use MIT license

* Make the program display a (better) startup notice

* Inform we use semantic versioning
schneiderfelipe added a commit that referenced this pull request Oct 13, 2021
* Set build action to run on main and dev repositories

* Drop official support for PyPy3 (#53)

Co-authored-by: Felipe S. S. Schneider <[email protected]>

* Invert small imaginary frequencies (#50)

* Use Rich library in the CLI (#47)

* Use Rich library in the CLI

* Improve reporting capabilities

Co-authored-by: Felipe S. S. Schneider <[email protected]>

* Make get_y return a function and use a clever default for t_span (#48)

* Create dependabot.yml (#54)

* Solve a common error due to randomness (#55)

Co-authored-by: Felipe S. S. Schneider <[email protected]>

* Run tests on macOS as well (#45)

* Run all essential tests on macOS as well

* Test only on the oldest supported and latest Python versions

Co-authored-by: Felipe S. S. Schneider <[email protected]>

* Do not test on macOS anymore, only on Ubuntu/Linux (#57)

Co-authored-by: Felipe S. S. Schneider <[email protected]>

* Show initial and final concentrations in the output (#56)

* Simple justification of text in the output

* Show initial and final concentrations in the output

Co-authored-by: Felipe S. S. Schneider <[email protected]>

* Automatically use reaction symmetry when necessary (#62)

* Create a function for calculating reaction symmetries

* Automatically introduce reaction symmetry when it exists

* Add tests for get_reaction_entropies

* Ensure standard state corrections are correct (#64)

* Use bias in the CLI and make model objects immutable (#66)

* Use bias in the CLI

* Make model objects immutable and improve dotdict

* Improve numerical stability when integrating the ODE system (#69)

* Use the default integrator in general

* Optionally use JAX for speed

* Use an exact Jacobian using JAX

* Use rtol and atol with solve_ivp

* Improve reaction rate constants for equilibria

* Allow the user to choose among ODE solvers

* Allow the user to choose a simulation time

Co-authored-by: Felipe S. S. Schneider <[email protected]>

* Improve CLI, plots, and some tests (#73)

* Test more liquid viscosities

* Check and manage some TODOs and docs

* Enlarge the default max simulation time

* Base max. time and plot on active species

* Select plot points according to simulation profile

* Allow selection of tunneling correction in the CLI

* Use an integrated keyword for --plot

* Improve CLI help page

Co-authored-by: Felipe S. S. Schneider <[email protected]>

* Refactor and allow fixing concentrations of selected compounds (#74)

* Allow fixing concentrations of certain compounds

* Improve testing convert_rate_constant

* Improve tests and docs on equilibrium_constant

* Improve testing eyring

* Improve get_k and its tests and docs

* Change default behavior of convert_rate_constant

* Always use rate constants as a vector

* Correct bug about equilibria adjustments

* Correct and improve regressions

* Reproduce some literature data as graphs

* Match results from the literature and simplify API

* Add a get_bias function for fitting experimental/reference kinetic data (#79)

* Make flake8 be more strict on function complexity

* Make CLI receive only biases in kcal/mol

* Optimize biases from experiments using get_bias

* Bump actions/setup-python from 1 to 2.2.2 (#85)

Bumps [actions/setup-python](https://github.com/actions/setup-python) from 1 to 2.2.2.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](actions/setup-python@v1...v2.2.2)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Make documentation awesome 🎉 (#83)

* Set build action to run on central and dev repositories

* Drop official support for PyPy3 (#53)

* Invert minor imaginary frequencies (#50)

* Use Rich library in the CLI (#47)

* Improve reporting capabilities

* Make get_y return a function and use a clever default for t_span (#48)

* Create dependabot.yml (#54)

* Solve a standard error due to randomness (#55)

* Test only on the oldest supported and latest Python versions

* Show initial and final concentrations in the output (#56)

* Simple justification of text in the output

* Automatically use reaction symmetry when necessary (#62)

* Automatically introduce reaction symmetry when it exists

* Add tests for get_reaction_entropies

* Ensure standard state corrections are correct (#64)

* Use bias in the CLI and make model objects immutable (#66)

* Make model objects immutable and improve dotdict

* Improve numerical stability when integrating the ODE system (#69)

* Use the default integrator in general

* Optionally use JAX for speed

* Use an exact Jacobian using JAX

* Use rtol and atol with solve_ivp

* Improve reaction rate constants for equilibria

* Allow the user to choose among ODE solvers

* Allow the user to choose a simulation time

* Improve CLI, plots, and some tests (#73)

* Enlarge the default max simulation time

* Base max. time and plot on active species

* Select plot points according to simulation profile

* Allow selection of tunneling correction in the CLI

* Use an integrated keyword for --plot

* Improve CLI help page

* Refactor and allow fixing concentrations of selected compounds (#74)

* Allow fixing concentrations of certain compounds

* Improve testing convert_rate_constant

* Improve tests and docs on equilibrium_constant

* Improve get_k and its tests and docs

* Change the default behavior of convert_rate_constant

* Always use rate constants as a vector

* Correct bug about equilibria adjustments

* Correct and improve regressions

* Reproduce some literature data as graphs

* Match results from the literature and simplify API

* Make flake8 more strict on function complexity

* Make CLI receive only biases in kcal/mol

* Optimize biases from experiments using get_bias

* Update documentation

* Update links (fix #82)

* Make it future-proof and compatible with RTDs

* Update docs with a new theme

* Use MIT license

* Make the program display a (better) startup notice

* Inform we use semantic versioning

* Update docs & README.md (#87)

* Move docs to https://geem-lab.github.io/overreact-docs/

* Update README.md

Co-authored-by: Felipe S. S. Schneider <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
schneiderfelipe added a commit that referenced this pull request Oct 13, 2021
* Use the default integrator in general

* Optionally use JAX for speed

* Use an exact Jacobian using JAX

* Use rtol and atol with solve_ivp

* Improve reaction rate constants for equilibria

* Allow the user to choose among ODE solvers

* Allow the user to choose a simulation time

Co-authored-by: Felipe S. S. Schneider <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Improve numerical stability when integrating the ODE system
1 participant