I have a big chunk of water ice that needs to go from (say) one of Mars's poles to its equator.

Neglecting the atmosphere, how would you calculate the delta-v necessary for this trajectory, and what would the resulting value be?

Question inspired by @SteveLinton's comment.

  • $\begingroup$ If you neglect the atmosphere and assume a point mass for the planet, this trajectory should be calculated just like another elliptical orbit. Parts of this orbit may be below the surface, but the part from pole to equator should be above. $\endgroup$ – Uwe Jun 11 '18 at 16:40
  • $\begingroup$ @Uwe I usually calculate elliptical orbits based on periapsis and apoapsis, or semi-major axis and eccentricity. I've never done it assuming intercept points with the surface, that's an ICBM, not really "like another elliptical orbit". So instead of saying it's the same, can you post an answer showing how it's done, because it's a different problem than what I've done before. $\endgroup$ – uhoh Jun 11 '18 at 16:52
  • 1
    $\begingroup$ Looks like this question is very similar has has a fairly thorough answer. Should be straightforward to replace values for the moon with Mars's $\endgroup$ – Jack Jun 11 '18 at 17:15
  • $\begingroup$ @Jack Thanks for that, but it's not really a complete answer to this question. "...the vis viva equation can be used to get Δv...". I didn't ask for the name of the equation, I'm really looking for the complete solution as well as the numerical value. If you can start with that equation and insert the other assumptions and get it all to work, then that would be a great answer! $\endgroup$ – uhoh Jun 11 '18 at 17:23
  • $\begingroup$ Do you want to soft land it? $\endgroup$ – user20636 Jun 12 '18 at 5:30

Given separation angle $θ$, body mass $M$ and body radius $r$, before finding delta-V we must find the ellipse major axis - or more precisely, half its length (distance from ellipse center to most extreme point):

$a = {(1+\sin{θ \over 2}) }{r\over2 }$

Given that, delta-V is given by the following equation:

$\Delta v = \sqrt {G M ({2 \over r} - { 1\over a})}$

The launch should be performed at angle $\alpha$:

$\alpha ={{\pi-θ}\over 4 }$

For powered landing, double the delta-V requirements.

Credit goes to Hop's Blog - Travel on airless worlds. The article contains derivation of the above equations and a link to a helpful spreadsheet where you can calculate the hop parameters for any celestial body and any chosen separation angle:

enter image description here

For the trip from the pole to equator (90 degrees separation angle), on Mars, the launch delta-V would be 3228 m/s. The launch would be optimally performed at 22.5 degrees.

  • 2
    $\begingroup$ @uhoh: neither is assuming airless Mars. ;-) $\endgroup$ – SF. Jun 11 '18 at 17:09
  • $\begingroup$ okay, well, approximate solutions are still SOP if followed by more precise solutions later; patched conics is a good example of that $\endgroup$ – uhoh Jun 11 '18 at 17:17
  • $\begingroup$ What kind of trajectory is it, a part of a circle or ellipsis? $\endgroup$ – Uwe Jun 11 '18 at 17:32
  • 1
    $\begingroup$ @Uwe: Since the focal point of the ellipse of the orbit is the center of the planet, the only circular orbit passing through surface would run right over the surface. This is, indeed, a fragment of an ellipse. $\endgroup$ – SF. Jun 11 '18 at 17:38
  • $\begingroup$ @DiegoSánchez: Unfortunately that would involve purchasing an English-language MS Office package. As much as I dislike this, the version I have has Polish locale hardcoded. $\endgroup$ – SF. Jun 12 '18 at 11:42

The closest solution i can find comes from Hale’s (1994) Introduction to Spaceflight, wherein Chapter 9 discusses range equations for such ballistic bodies. He derives an equation

$$cot(\frac{\Psi}{2})=\frac{2}{Q_{bo}}csc(2\phi_{bo}) - cot(\phi_{bo})$$



is a dimensionless quantity that is roughly measures twice the ratio of kinetic to potential energy at the burnout point (subscript “bo”). $\mu$ is the standard gravitational parameter and $\Psi$ is the range angle and $\phi_{bo}$ is the launch angle.

What you want is to have $\Phi=90^0$ and $r_{bo}=$ the radius of mars, assuming an impulse thrust at the planet’s surface. Then you can play with the burnout velocity and launch angle until you get a feasible solution. Note that even though many launch angle will give a burnout velocity, not all will. Even so, some of the solutions are infeasible because they may, for example, rely on the orbit traversing through the interior of the planet.

Keep in mind that this equation is based on a lot of simplifying assumptions: non rotating earth, no atmosphere, a spherical planet, symmetrical trajectory, and a an insignificant freefall range.


The answer poasted by @SF. based on Hop's blog checks out!

Here's a numerical verification. It's not pretty, but continuing the orbits (shown for both Mars and Earth) for 55% of their period nicely intersects 90 degrees away from the staring point, yay!

body    a(km)   dv(m/s)  alpha(deg)
-----   -----   -------  ----------
Earth   5438     7199      22.5
Mars    2893     3235      22.5

enter image description here

def deriv(X, t):

    x, v = X.reshape(2, -1)
    acc  = -GM * x * ((x**2).sum())**-1.5

    return np.hstack((v, acc))

def Hops_hop(theta, R, GM):

    a = (1. + np.sin(0.5*theta)) * 0.5 * R

    dv = np.sqrt(GM * (2./R - 1./a))

    alpha = 0.25 * (pi - theta)

    return a, dv, alpha

import numpy as np
from scipy.integrate import odeint as ODEint
import matplotlib.pyplot as plt

halfpi, pi, twopi = [f*np.pi for f in (0.5, 1, 2)]

# standard gravitational parameter
GMe = 3.986E+14  # m^3/s^2
GMm = 4.283E+13  # m^3/s^2

Re  = 6371000.    # meters
Rm  = 3389500.    # meters

pairs = (Re, GMe), (Rm, GMm)

theta = halfpi  # 90 degrees

answers = []
for R, GM in pairs:

    a, dv, alpha = Hops_hop(theta, R, GM)

    T    = twopi * np.sqrt(a**3/GM)
    time = np.linspace(0, 0.55*T, 500)

    x0 = R  * np.array([ np.sin(0.5*theta),  np.cos(0.5*theta)])
    v0 = dv * np.array([ np.cos(alpha),     -np.sin(alpha)    ])
    X0 = np.hstack((x0, v0))

    answer, info = ODEint(deriv, X0, time, full_output=True)


theta = np.linspace(0, twopi, 361)
unit_circle = [f(theta) for f in (np.cos, np.sin)]
sqrt2       = np.sqrt(2.)

if True:
    for answer, (R, GM) in zip(answers, pairs):
        x, y = answer.T[:2]
        plt.plot(x, y)
        plt.plot(x[:1], y[:1], 'ok')
    for answer, (R, GM) in zip(answers, pairs):
        x, y = [R*thing for thing in unit_circle]
        plt.plot(x, y, '-k')
    plt.plot([0, Re/sqrt2], [0,  Re/sqrt2], '-k')
    plt.plot([0, Re/sqrt2], [0, -Re/sqrt2], '-k')

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.