Skip to content
This repository has been archived by the owner on Oct 14, 2023. It is now read-only.

Implement hyperbolic anomaly conversion functions #275

astrojuanlu opened this issue Oct 26, 2017 · 2 comments

Implement hyperbolic anomaly conversion functions #275

astrojuanlu opened this issue Oct 26, 2017 · 2 comments


Copy link

astrojuanlu commented Oct 26, 2017

馃悶 Problem

We should have hyperbolic anomaly conversion functions, in the same way we have elliptic anomaly functions here:

Right now, using nu_to_M for eccentricity values higher than one gives NaN:

In [2]: from poliastro.twobody.angles import *

In [3]: from astropy import units as u

In [4]: nu_to_M(0.1 * u.rad, 1.5 *
/home/juanlu/.miniconda36/envs/py36/lib/python3.6/site-packages/astropy/units/ RuntimeWarning: invalid value encountered in sqrt
  *arrays, **kwargs)
Out[4]: <Quantity nan rad>

馃幆 Goal

This is important since Orbit.sample uses the angle conversion functions to derive appropriate time values for propagation, and right now it doesn't work for hyperbolic orbits.

馃挕 Possible solutions

We should implement these equations:


(from Curtis "Orbital Mechanics for Engineering Students")

See also:

However, there are limitations in the true anomaly values, so care should be taken:

screenshot-2017-10-26 fundamentals of astrodynamics and applications

(from Vallado "Fundamentals of Astrodynamics")

Finding references for validation proved to be a bit difficult, so I posted a question on Physics.SE here

馃搵 Steps to solve the problem

  • Comment below about what you've started working on.
  • Add, commit, push your changes
  • Submit a pull request and add this in comments - Addresses #<put issue number here>
  • Ask for a review in comments section of pull request
  • Celebrate your contribution to this project 馃帀
Copy link
Member Author

I'm labeling this as a bug to fix in 0.8.

Copy link

anhiga commented Oct 27, 2017

Closed by #276

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
None yet

No branches or pull requests

2 participants