-
-
Notifications
You must be signed in to change notification settings - Fork 288
vallado.lambert fails for long way transfers #840
Comments
I'm a newbie, but may I take this issue?. |
Hi @paul-witsberger, I have been able to reproduce your issue. Let me try to investigate a little more 😄 By the way, @nanusai feel free to take this issue 👍 |
After much digging the internet and talks with @Juanlu001 and @jorgepiloto , I've drawn the following conclusions from the problem.
Which yields
After some search, I found this, another algorithm which solves using Izzo and Lancaster, E.R.,Blanchad method. The solution provided by this algorithm matches with v_vallado(short=True) but fails to match with v_izzo.
This would cause "RuntimeError: Maximum number of iterations reached" as the author pointed out. But if we comment out Maximum iterations reached at iod.py, it will return velocity vectors corresponding to tof_max which is
The above-mentioned vectors corresponds to tof_input :1989.6321243010739 seconds which stops changing after itr 55 , so clearly tof_input(7200.0 seconds or 2*u.hour) > tof_max(1989.6321243010739) and hence the error , and hence the proposed solution. I've tried my best to explain the scenario but I'll be glad to answer your queries ! . |
Origin of this algorithm and possible errata
|
Thanks @nanusai for the investigation and congratulations @jorgepiloto for finding the root cause! Let's then have a pull request that includes:
|
@Juanlu001 I've increased the num iter for test_curtis53 as @jorgepiloto requested.
|
Before this thread is closed I wanted to clear the misconception I might've created with the above post.
The hypothesis was just a logical explanation of all the things I observed which proved to be incorrect. Again kudos to @jorgepiloto for actually solving the problem and @Juanlu001 for guiding me towards my first merged PR. This thread maybe closed now. |
Fixed in #845! @paul-witsberger if you want to test with |
When trying to set up poliastro.iod.vallado.lambert, I receive the following error when I set short=False (long path transfer):
Here is my minimal (non)working example:
It has worked for all of the tests I gave it when short=True, and failed every time short=False.
The text was updated successfully, but these errors were encountered: