I've been reading around a lot and I haven't been able to find any clear explanations. Maybe I'm a bit confused or maybe I am just looking in the wrong places.

My question is, what are some basic principles or guidelines to re-entry conditions on a spacecraft? Let's say I have a vehicle in a circular orbit at X km and I perform a retro burn to put my perigee at the tip of Earths atmosphere. Using a blunt-faced capsule design, what are some basic assumptions or relationships I can use to estimate initial velocity, entry angle (corridor bounds), max deceleration, heat flux, etc.? I have found several resources online, however I keep getting wrong numbers from my calculations.

At the very least, could somebody point me in the right direction? Or even explain some concepts I might be lacking? I've dealt with orbital mechanics in the past but this seems like a whole new ball game.

At this point I just need a few numbers to work with (max g load, heat flux and max temp) so that I can use those parameters for material and structural design. Plotting flight profiles will also need to be done however is not a top priority right now.

Here is a worked example for finding max deceleration. According to this FAA PDF, max deceleration can be found using $a_\max = (V^2)*(H*sin(\gamma)) / (2*e)$ where V is initial velocity, H is Earth scale height and $\gamma$ is flight path angle.

So let's say I'm entering Earths atmosphere at 10 km/s and I want a max g load of 8 g's, or 78.48 m/s2. Using this equation, I will need a flight path angle of 1.75 degrees which seems very low to me. The Apollo missions had similar velocities and yet their entry corridor sat at around 7 degrees.

  • 1
    $\begingroup$ Is it possible that initial entry angle of 7º turns into a flight path angle of 1.75º by virtue of the capsule's lift? Mercury astronauts actually experienced higher g-loads (over 11g) than Apollo, despite the lower speed at entry interface, because the capsule gave very little lift. $\endgroup$ Nov 19, 2015 at 19:31
  • $\begingroup$ Good point, something to look into. I know Apollo capsules had a L/D ratio of about .3 $\endgroup$
    – Rick Jones
    Nov 19, 2015 at 19:35
  • 4
    $\begingroup$ Here's an altitude-by-time plot of Apollo reentry: kenrockwell.com/Images/nasa/apollo-11/24-july/reentry-curve.gif $\endgroup$ Nov 19, 2015 at 19:47
  • 2
    $\begingroup$ Both Apollo and Shuttle were qualified for skip entry, but we've never done one. The Soviet Zond spacecraft coming back from the Moon a long time ago have, and the Russians are thinking of using a skip entry routinely if they start doing Soyuz lunar flybys. $\endgroup$
    – Mark Adler
    Nov 20, 2015 at 0:29
  • 2
    $\begingroup$ So that the terminology is understood, "entry flight-path angle" has meaning only along with a defined entry interface altitude or radius. The flight path angle is always changing, whether you've hit the atmosphere or not, but there is only one entry flight-path angle per entry. For Apollo the entry interface was defined at 400,000 ft (about 122 km). For Mars missions we use 3522.2 km radius, regardless of where the surface is, which is 125 km altitude over the mean equatorial radius. I don't know what Shuttle used. (I'd guess 400,000 ft as well.) $\endgroup$
    – Mark Adler
    Nov 20, 2015 at 1:25

2 Answers 2


There aren't good back-of-the-envelope relations to get you what you want. However all you need is a simple numerical integrator, an atmosphere model with dispersions, and a vehicle model with mass, size, and some aerodynamic coefficients. You can then play with the entry conditions (speed and flight-path angle) to see the trajectories. Ballistic entry is a good place to start, and once you get that working, you can add a small lift-to-drag ratio for control. The dispersions are important, as well as uncertainty in the entry flight-path angle, to assess whether you are too shallow to reliably avoid unintentional skip-out.

Google "Sutton-Graves" for simple formulae to compute the stagnation point convective heating, which gives you an order of magnitude on the peak heating and integrated heat load. Much harder to calculate is the radiative heating, which can be as much as the convective heating for an Earth entry. The codes to get a real prediction of the heating are quite complicated.

  • $\begingroup$ What dispersions are you referring to? $\endgroup$
    – Paul
    Oct 9, 2017 at 0:08
  • 1
    $\begingroup$ Mainly dispersions in the atmosphere density as a function of altitude. But also dispersions in atmospheric temperature (affecting Mach and hence drag), dispersions in the entry flight path angle, dispersions in the attitude of the vehicle, dispersions in the aerodynamic coefficients of the vehicle, and many more. There are typically hundreds of dispersed variables in an atmospheric entry Monte Carlo simulation. $\endgroup$
    – Mark Adler
    Oct 9, 2017 at 1:13

This answer is a few years late. You can use the AMAT tool to achieve what you are trying to do.

For example, let us take an example of an Apollo-type entry vehicle entering Earth's atmosphere at 10 km/s and EFPA = -6 deg. For simplicity, let us first consider a scenario where the vehicle has no lifting capability (i.e. L/D = 0). Using AMAT, the entry profile can be simulated as follows.

from AMAT.planet import Planet
from AMAT.vehicle import Vehicle

# Set up the planet and atmosphere model.
planet.loadAtmosphereModel(datfile='../../atmdata/Earth/earth-gram-avg.dat',  heightCol=0, tempCol=1, presCol=2, densCol=3)

# Set up the vehicle with L/D = 0
vehicle=Vehicle('Apollo-6', mass=5400.0, beta=400.0, LD=0.0, A=12.0, alpha=0.0, RN=3.0, planetObj=planet)

# Set up entry parameters
vehicle.setInitialState(h0_km=120.0, theta0_deg=0.0,phi0_deg=0.0,
                        v0_kms=10.00, psi0_deg=0.0,gamma0_deg=-6.00, 
                        drange0_km=0.0, heatLoad0=0.0)

# Set up solver

# propogate the entry trajectory, with delta_deg (bank = 0)
vehicle.propogateEntry(t_sec=2400.0, dt=0.1, delta_deg=0)

# plot entry profiles
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import rcParams

fig = plt.figure(figsize=(12, 8))
plt.rc('font',family='Times New Roman')
params = {'mathtext.default': 'regular' }          

plt.subplot(2, 2, 1)
plt.plot(vehicle.v_kmsc, vehicle.h_kmc, 'k-', linewidth=2.0)
plt.xlabel('Speed, km/s',fontsize=16)
plt.ylabel('Altitude, km', fontsize=16)

plt.subplot(2, 2, 2)
plt.plot(vehicle.acc_net_g, vehicle.h_kmc, 'b-', linewidth=2.0)
plt.xlabel('Deceleration, Earth g',fontsize=16)
plt.ylabel('Altitude, km', fontsize=16)

plt.subplot(2, 2, 3)
plt.plot(vehicle.q_stag_total, vehicle.h_kmc,'r-', linewidth=2.0)
plt.xlabel('Stagnation point heat-rate, '+r'$W/cm^2$',fontsize=16)
plt.ylabel('Altitude, km', fontsize=16)

plt.subplot(2, 2, 4)
plt.plot(vehicle.heatload/1.0E3, vehicle.h_kmc, 'm-', linewidth=2.0)
plt.xlabel('Stagnation point heat-load, '+r'$kJ/cm^2$',fontsize=16)
plt.ylabel('Altitude, km', fontsize=16)

for ax in [ax1, ax2, ax3, ax4]:


Re-entry profiles for non-lifting entry

Now, let us consider a lifting entry with L/D = 0.30, and a constant bank angle of 70 deg. In reality, the bank angle is controlled between 0 (full lift-up) and 180 deg. (full lift-down) to control the trajectory and limit the deceleration load. To do this, change two lines above as follows and re-plot the trajectory. We can see the effect of using lift up, as the vehicle flies level for a while and reduces the deceleration compared to having no lift.

# Set up the vehicle with L/D = 0.30
vehicle=Vehicle('Apollo-6', mass=5400.0, beta=400.0, LD=0.30, A=12.0, alpha=0.0, RN=3.0, planetObj=planet)

# propogate the entry trajectory with small lift up
vehicle.propogateEntry(t_sec=2400.0, dt=0.1, delta_deg=70)

enter image description here

  • $\begingroup$ This looks really useful. Consider adding some "meat" to your answer. $\endgroup$ Feb 6, 2023 at 3:07
  • $\begingroup$ Your answer could be improved with additional supporting information. Please edit to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers in the help center. $\endgroup$
    – Community Bot
    Feb 6, 2023 at 5:28
  • $\begingroup$ For L/D = 0, it seems that the heat-rate is too high, while the heat-load too small. Please, would you post the initial state vectors of the vehicle and its ballistic coefficient? I see 'mass=5400.0', 'A=12.0' (I guess 12 m^2) and 'RN=3.0' (nose radius 3 m), but I don't see Cd (drag coefficient). $\endgroup$
    – Cristiano
    Feb 7, 2023 at 9:25
  • $\begingroup$ The entry state vector (in atmosphere-relative frame) is defined in vehicle.setInitialState(h0_km=120.0, theta0_deg=0.0,phi0_deg=0.0, v0_kms=10.00, psi0_deg=0.0,gamma0_deg=-6.00, drange0_km=0.0, heatLoad0=0.0) $\endgroup$
    – athulpg007
    Feb 8, 2023 at 1:19
  • 1
    $\begingroup$ The ballistic coefficient is defined in vehicle=Vehicle('..mass=5400.0, beta=400.0, LD=0.0..). CD is computed internally using mass, beta, and ref. area A. Mass is in kg. Your units for A are correct. The heating includes convective and radiative heating rates computed using correlations defined in AMAT.vehicle.Vehicle.qStagConvective() and qStagRadiative(). $\endgroup$
    – athulpg007
    Feb 8, 2023 at 1:27

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.