Hot answers tagged

7

There are several ways to do this. The easiest and most straightforward is to break it into two sets by including velocity as a variable, and solve together. Instead of a single second order differential equation $$\ddot{\mathbf{r}} = -\frac{\mu}{r^3}\mathbf{r}$$ We can solve the following pair of first order differential equations in parallel $$\dot{\mathbf{...


6

First, you appear to have the following misunderstanding of the solar sail force vectors: Tilt it at 45 degrees to make the thrust tangential Thrust is not tangential at 45 degrees. In fact, a solar sail always has thrust perpendicular to the sail, and can thus not achieve thrust perfectly tangential to the Sun, since the cross section would then be zero. ...


5

Looks like this was an issue that was fixed and closed recently so try updating your copy of Skyfield to at least version 1.31.


5

The new SGP4 library comes with a Python wrapper in the same zip archive file (also Java, Matlab, and Visual Basic, and documentation for the C API), but it's not at all idiomatically Pythonic, since it sticks very closely to the underlying implementation in Fortran and C. I've written my own wrapper around their wrapper, to handle things like returning ...


5

As $\Delta v$ is just change in velocity, we can just integrate the norm of the acceleration function over time: $$\Delta v = \int|\mathbf{a}(t)| dt$$ You're out of luck getting a closed form of that integral though. As far as analytical solutions goes, we can note that at $t = \frac{\pi}{2}$, all of $a_x$, $a_y$ and $a_z$ are maxed out, and hence $\Delta v &...


4

I am not familiar with GMAT, but there is another route to solve this challenge using an extensively validated open-source solution. You can use the Orekit Astrodynamics library to build one Moon-centered and one Earth-centered orbit. Orekit has the ability to compute what is known as "Intersatellite visibility" (in STK as Access Times), which is ...


4

So after help from @uhoh, digging into this post and the discussion here, I managed to produce this minimal working example. Comments appreciated. from skyfield.api import Loader, EarthSatellite from skyfield.api import Topos, load from skyfield.timelib import Time import skyfield.functions as sf from sklearn import preprocessing import numpy as np import ...


4

Here's a partial answer until you add more information as requested in comments thanks to the numerical imprecision of Python I don't think you are anywhere near the limit of Python's floats. Instead let's remember that Keplerian orbits are theoretical approximations only. The biggest deviations come from Earth's equatorial oblateness as expressed by $J_2$ ...


2

The basic approach is to make a long list of times, compute positions and observing angles at each one, and check whether line of sight (LOS) is obscured by anything. Do it at, say, 5 minute intervals, and then for any interval during which the LOS changed state, repeat the procedure using 5 second intervals. This won't catch an outage shorter that happens ...


2

I originally posted this answer here. This is a figure that I have from a class assignment from a few years back. While definitely not a practical trajectory, it shows the characteristics of how to transfer from an elliptical to a circular orbit. This solution was computed using indirect optimization. This problem assumed constant thrust magnitude (so the ...


Only top voted, non community-wiki answers of a minimum length are eligible