Articles by Yash

Summarizing GSoC 2021

By Yash

This page describes the work done during Google Summer of Code 2021 with poliastro. I added some space event detectors under the twobody problem by implementing raw orbital mechanics algorithms (inside poliastro.core) accelerated by the numba.jit() decorator (in the nopython compilation mode, as was customary in poliastro). It uses the events parameter from scipy.integrate.solve_ivp for tracking events and numerical integration. The required condition is checked at each time instance for an event occurence.

The validation cases for the events were developed against the orekit software, using the Orekit Python Wrapper, and some additional tests were added for investigating edge-cases. The user guide for the added events and some plotting results using poliastro’s plotting capabilities, can be found here.

Added events (so far…)

  • Altitude Crossing #1254.
    • The already existing LithobrakeEvent was made to inherit this …

Adding the Altitude, Latitude, and Eclipse event detectors

By Yash

It was an engaging first half of GSoC, and it was during this duration, I understood some critical details of executing the event detectors. We started to look into the eclipse detector since we thought it might be challenging to get it right.

In the weekly community calls, we brainstormed over an appropriate method that would fit in poliastro. Thanks to SciPy’s events support through solve_ivp, we just had to come up with a time-varying and continuous “shadow” function without having to solve analytical equations manually. However, the critical challenge for us was to come up with such an equation! After a few trials of geometric manipulations and Jorge and Juanlu’s assistance, we came across an equation involving classical orbital elements that could serve our purpose. We were still questioning the performance and complexity of the method …

GSoC 2021, the journey begins!

By Yash

The initial days…

Hi there! I am Yash, and I will be spending this summer with poliastro as part of GSoC 2021 to add some event detection capabilities. It was around December when I first learned about poliastro, and it gradually got me fascinated by orbital mechanics.

While preparing to make my first pull request, poliastro's comprehensive documentation and tutorials came to the rescue! It was much needed for a beginner like me who had just stepped into the field of Astrodynamics. This was a period when I thoroughly enjoyed interacting with the community and learning orbital mechanics while simultaneously learning the best practices in software development.

Building up ideas and our aspirations for this summer!

After deciding to submit a proposal for the event detection project, I started brainstorming and looking for several references keeping in mind their relevance …