ENH: Allow for Alternative and Custom ODE Solvers. by phmbressan · Pull Request #748 · RocketPy-Team/RocketPy

Pull request type

  • Code changes (bugfix, features)

Checklist

  • Tests for the changes have been added (if needed)
  • Docs have been reviewed and added / updated
  • Lint (black rocketpy/ tests/) has passed locally
  • All tests (pytest tests -m slow --runslow) have passed locally
  • CHANGELOG.md has been updated (if relevant)

Current behavior

Currently only LSODA is used to integrate the equations of motion of the Flight class, with no option for other solvers or custom code.

New behavior

This PR adds the possibility of using different solvers from scipy.integrate API.

Breaking change

  • Yes
  • No

Additional information

LSODA, of course, remains the default option and the strongly recommended one. Quick testing showed that other solvers might match LSODA speed, but require more tuning to avoid instabilities.