question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Accelerating propagation of many orbits

See original GitHub issue

I am trying to compute ephemerides from orbits with poliastro. Bluntly put, I need Cartesian coordinates in fixed time intervals for longer periods of times. poliastro can generate Orbit objects from ephemerides objects, but - as far as I can see - there is no direct method for going the opposite direction (in some optimized form).

What I came up with simply looks as follows … I am not entirely sure if this the “right” way to do this:

eph = np.zeros((days, 3))
for day in range(0, days):
    time_current = time_zero + day * u.day
    eph[day, :] = orb.propagate(time_current).r.to(u.AU)

The approach is relatively slow … probably due to lots of overhead from (numba) function calls (?).

Issue Analytics

  • State:open
  • Created 3 years ago
  • Comments:23 (22 by maintainers)

github_iconTop GitHub Comments

3reactions
astrojuanlucommented, Oct 17, 2021

We are pleased to inform you that poliastro’s proposal, /Array types for scaling poliastro/ was approved for the amount of $5,000.00. The committee offered this feedback about the proposal:

Well written proposal with clear goals and benefits. Likely that this project would not be accomplished without this funding. Integrating with other NumFOCUS projects is a plus.

🎉 Full text of the proposal: https://github.com/poliastro/documents/blob/master/numfocus-sdg-2021-r3.md

2reactions
s-m-ecommented, Sep 3, 2020

Ok, this was a numba issue if I understand this correctly. I uploaded a self contained notebook here. I “fixed” it by separating the contents of cells 6 and 12. If this stuff is on one single cell, it probably re-compiles my farnocchia_coe_fast function probably on every run.

It’s actually faster, from 530 ms down to 390 ms, so roughly 25% less computing time.

Read more comments on GitHub >

github_iconTop Results From Across the Web

A method for accurate and efficient propagation of satellite orbits
Fast and precise propagation of satellite orbits is required for mission design, orbit determination and payload data analysis. We present a method to ......
Read more >
Orbit Propagation | STK Components for .NET 2022 r2 - Agi
Orbit Propagation Library contains a variety of environment and force models, as well as other types necessary to calculate the acceleration of a...
Read more >
Propagate orbit of one or more spacecraft - Simulink
The Orbit Propagator block propagates the orbit of one or more spacecraft by a propagation method.
Read more >
Propagate Orbits with Python (Solving 2nd Order ODEs)
In this video we are going to be bridging the gap between the math covered in the last 3 videos (which includes Newton's...
Read more >
Molecular orbital propagation to accelerate self ... - PubMed
This method, called LIMO, adopts the Lagrange interpolation (LI) polynomial technique and predicts initial MO coefficients at the next AIMD step by using ......
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found