Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Propagating a Hyperbolic Trajectory

  1. Sep 26, 2011 #1
    Hi, first post here at PF :)

    I have a problem here regarding orbit propagation. Basically my situation is as follows:

    I have coded a system that can track the orbital parameters from an object in a simulated orbit (Basic rigidbody physics). The system takes the state vectors of the orbiting rigidbody, and from those it computes the keplerian parameters. So far, so good.

    Then, the system allows removing this tracked object from the physics simulation, to have it's orbit propagated using the parameters computed earlier (or any arbitrary parameters at this point). This also works well, for closed orbits.

    My problem now is figuring out how to numerically propagate parabolic and hyperbolic trajectories. The current system fails with those, since several of the calculated parameters result in NaN when eccentricity > 1.

    What happens is since I'm getting all this from state vectors, each parameter has a few dependencies on other parameters calculated earlier, and if a single one fails to produce a valid result, all others that depend on it will also fail.

    More specifically, I'm getting a NaN for eccentric and mean anomalies on hyperbolic/parabolic trajectories... I don't know if this is correct or not. But these values are very much necessary in my current system to get a position as a function of time.

    EDIT: Well, I've continued trying different things, and I now have what seems to be valid mean and eccentric anomaly values.
    The problem is that for the resulting eccentric anomaly, my true anomaly is always NaN for hyperbolic orbits, and PI for parabolic orbits.

    I've discovered that there is a different form of Kepler's equation for hyperbolic orbits, so I added a new solver for that (which hopefully is doing things right). But still no luck with that true anomaly.

    What I ultimately need is to find out how to determine the position of an object in a hyperbolic trajectory as a function of time.

    Oh and one more question: I'm somewhat confused as to whether my semimajor axis should be positive or negative on hyp orbits. Right now I'm doing tests with positive SMA values, but the orbit tracking code (which calculates parameters from state vectors) gives out a negative SMA. Which is more correct here, positive or negative?

    Any help at this point would be immensely appreciated. :)

    Thanks in advance,

    Cheers
     
    Last edited: Sep 26, 2011
  2. jcsd
  3. Sep 26, 2011 #2
    Ok, I found the alternate equations I was looking for I think.

    The system is now able to propagate a hyperbolic trajectory, but currently it cannot correctly track some parameters of such an orbit.

    When tracking, basically all operations are done in reverse... Instead of getting a true anomaly from the eccentric anomaly, which in turn is calculated from the mean anomaly, the tracker finds the true anomaly first, and from that it calculates the eccentric anomaly and then the mean anomaly.

    The problem now is that I can't find a good equation for calculating the eccentric anomaly (and mean anomaly) for a hyperbolic orbit. If I use the same formulas as for a closed orbit, all I get is NaNs.

    Anyone know how to get the eccentric and mean anomalies given the true anomaly for a hyperbolic orbit?

    Again, thanks in advance for any help.

    Cheers
     
  4. Sep 27, 2011 #3
    Hopefully THIS helps
    Or THIS
     
  5. Sep 27, 2011 #4
    Thanks, those did help!

    I found the equations I was looking for. Now my system is able to track and propagate hyperbolic orbits :)

    Cheers!
     
  6. Sep 27, 2011 #5
    Great. Good to hear it
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook




Similar Discussions: Propagating a Hyperbolic Trajectory
  1. Asymptotic trajectory (Replies: 2)

  2. Trajectory of planet (Replies: 2)

Loading...