I am a sci-fi writer, and I've heard about the concept of putting some type of magnetic deflector near the Sun-Mars L1 point to deflect charged particles from the Sun to reduce radiation effects on the Surface of Mars.

Could someone explain just where that point is relative to Mars? I understand it would be between Mars and the Sun, but how far away from Mars would that be? Is it about the same as the distance that Earth's Sun-Earth L1 is from Earth? Is there a formula that can be used to calculate it directly?

Since Mars' orbit is actually elliptical, would an object there move closer and farther from Mars throughout the Martian year, or would the distance be stable?

  • $\begingroup$ lh3.googleusercontent.com/-PmzCy6DjIsw/TlLkLOicTqI/AAAAAAAACwY/… $\endgroup$ Commented Mar 11, 2018 at 16:47
  • 4
    $\begingroup$ I'm voting to close this question as off-topic because it's not really a question. It's simply asking for a document outside SE that is freely available to anyone with google... $\endgroup$
    – Rory Alsop
    Commented Mar 11, 2018 at 18:48
  • 1
    $\begingroup$ I am a sci-fi writer (81 years old) with little science knowledge but fascinated by the idea of a magnetic shield around Mars. As I understand it, it would be necessary to create an artificial magnetic dipole at Mars' L1 Lagrange Point. I wanted to see where that point lay in the solar system. I tried Googling it but obviously I didn't pose the right questions to Google either. $\endgroup$ Commented Mar 12, 2018 at 22:08
  • 1
    $\begingroup$ And thank you for the welcome and the suggestions uhoh. $\endgroup$ Commented Mar 12, 2018 at 22:09
  • 1
    $\begingroup$ Thank you all for taking me seriously, and for the answers. Now I can get on with my story. $\endgroup$ Commented Mar 15, 2018 at 12:43

2 Answers 2


Wikipedia says that the formula for the radius of the Hill sphere can be used as an approximation to the distance from a planet to its L1 (and L2):

$$r\approx R{\sqrt[{3}]{\frac {M_{2}}{3M_{1}}}},$$

where $R$ is the distance from the planet to the Sun, $M_2$ is the mass of the planet and $M_1$ the mass of the Sun. From here, it's not hard to work out that the L1 point is roughly 1 million kilometers from Mars. This is an approximation, valid when $M_1 \gg M_2$ which is the case here to reasonable accuracy.

The same Wikipedia page tabulates the Lagrange point locations for all of the planets a little further down, expressed as distances from the Sun.

Lagrange only really calculated with circular orbits, but if you put something in an elliptical orbit the same shape and orientation as that of Mars, but roughly 99.5% of the size the balance between the gravity of Mars and the gravity of the Sun should still work out, so it would stay between the Sun and Mars. In that case its distance from Mars would vary by about 10% in each direction from the average.

  • $\begingroup$ I just edited your answer by mistake somehow. I meant to edit my answer but clicked the wrong one. It doesn't seem to cause any problem, but feel free to roll back or edit further. Sorry about that! $\endgroup$
    – uhoh
    Commented Apr 26, 2019 at 3:14

@SteveLinton's answer explains the situation nicely. I'll just add the complete formulas and the radius of the Hill spheres.

To obtain the distance to L1, find the smallest value of $r$ such that

$$\frac{M_2}{r^2} + \frac{M_1}{R^2} - \frac{r(M_1+M_2)}{R^3} - \frac{M_1}{(R-r)^2} = 0.$$

To obtain the distance to L2, find the smallest value of $r$ such that

$$\frac{M_1}{R^2} + \frac{r(M_1+M_2)}{R^3} - \frac{M_1}{(R+r)^2} - \frac{M_2}{r^2} = 0.$$

Even though Mars is 50% farther from the Sun than the Earth, it's mass is only 11% that of Earth's so while the distances to Earth's Lagrange point are about 1% of that to the Sun for Earth, those of Mars are only about 0.5% of the distance to the Sun for Mars.

In either case, a diagram would show two dots very close to each planet. The diagrams on the internet usually exaggerate this greatly to make it easier to see.

The values for the distance from the planets to the Sun and to their Sun-associated L1 and L2 points look like this.

a_Earth:     149598023  km
Sun-Earth L1:  1491524  km
Sun-Earth L2:  1501504  km
Earth r_Hill:  1496531  km

a_Mars:      227939200  km
Sun-Mars L1:   1082311  km
Sun-Mars L2:   1085748  km
Mars r_Hill:   1084032  km

find Earth and Mars L1 and L2

The Python script based on scipy.optimize's Brentq:

def solve_L1 (r, R, M1, M2):
    return M2/r**2 + M1/R**2 - r*(M1 + M2)/R**3 - M1/(R-r)**2

def solve_L2 (r, R, M1, M2):
    return M1/R**2 + r*(M1 + M2)/R**3 - M1/(R+r)**2 - M2/r**2

def r_Hill(R, M1, M2):
    return R * (M2 / (3.*M1))**(1./3.)

import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import brentq

a_Earth  = 149598023.   # Earth's semi-major axis (km)
a_Mars   = 227939200.   # Mars'   semi-major axis (km)
r_low    =   1000000.   # 1.0  million km  (lower guess)
r_high   =   1600000.   # 1.6  million km  (upper guess)

M_Sun    = 1.9886E+30  # approximate mass (kg)
M_Earth  = 5.9724E+24  # approximate mass (kg)
M_Mars   = 6.4171E+23  # approximate mass (kg)

r_Hill_Earth = r_Hill(a_Earth, M_Sun, M_Earth)
r_Hill_Mars  = r_Hill(a_Mars,  M_Sun, M_Mars)

r = np.linspace(r_low, r_high)
if True:
    plt.plot(r, solve_L1(r, a_Earth, M_Sun, M_Earth), '-g')
    plt.plot(r, solve_L1(r, a_Mars,  M_Sun, M_Mars), '-r')

    plt.plot(r, solve_L2(r, a_Earth, M_Sun, M_Earth), '--g')
    plt.plot(r, solve_L2(r, a_Mars,  M_Sun, M_Mars), '--r')

    plt.plot([r_Hill_Earth], [0], 'ok')
    plt.plot([r_Hill_Mars ], [0], 'ok')

    plt.text(1040000, 1.1E+11, 'L1 Mars L2', fontsize=14)
    plt.text(1450000, 3.0E+11, 'L1 Earth L2', fontsize=14)

    plt.plot(r, np.zeros_like(r), '-k')
    plt.ylim(-4E+11, 4E+11)


# for Mars:
r_L1_Mars = brentq(solve_L1, r_low, r_high, args=(a_Mars, M_Sun, M_Mars))
r_L2_Mars = brentq(solve_L2, r_low, r_high, args=(a_Mars, M_Sun, M_Mars))

# for Earth:
r_L1_Earth = brentq(solve_L1, r_low, r_high, args=(a_Earth, M_Sun, M_Earth))
r_L2_Earth = brentq(solve_L2, r_low, r_high, args=(a_Earth, M_Sun, M_Earth))

print "a_Earth:    ", int(a_Earth), " km"
print "Sun-Earth L1: ", int(r_L1_Earth), " km"
print "Sun-Earth L2: ", int(r_L2_Earth), " km"
print "Earth r_Hill: ", int(r_Hill_Earth), " km"
print ''
print "a_Mars:     ", int(a_Mars), " km"
print "Sun-Mars L1:  ", int(r_L1_Mars), " km"
print "Sun-Mars L2:  ", int(r_L2_Mars), " km"
print "Mars r_Hill:  ", int(r_Hill_Mars), " km"

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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