Suicide burn

Sat 27 August 2022
Rocket burn (Photo credit: Wikipedia)

Principle overview

The goal of the suicide burn (also called hoverslam) [1] is to land a rocket while minimal thrust is not low enough to hover [2]. Thus, the engine must be turned off at the point where the rocket land.

The challenge is then to find when to light the engine so that the engine decelerate at the right speed to touch down at a vertical velocity of zero.

Mathematical approach

Lets begin with a modelization:

\begin{equation*} \begin{cases} h & (m) \text{ height (reach zero at touch down} \\ g & (m.s^{-2}) \text{gravitational constant} \\ f & (N) \text{ total resulting upward thrust (assumed contant)} \\ d = - c_z \times \frac{\partial h}{\partial t} & (N) \text{ drag} \\ m & (kg) \text{ mass of the rocket} \\ a = - g +\frac{f + d}{m} & (m.s{-2}) \end{cases} \end{equation*}

Before going to a realistic approach

Let's assume thrust is constant and is engine startup takes no time (could be a good approximation for SRB) The goal is to reach \(\frac{\partial h}{\partial t} = 0\) when \(h=0\)

Given all forces applied to the rocket, we have:

\begin{align*} \frac{\partial^{2} h}{\partial t^{2}} &= m \left( -g + f + d \right)\\ &= m \left( -g + f - c_z \frac{\partial h}{\partial t} \right) \end{align*}

This results in a differential equation for velocity.

For the sake of simplicity, we will neglect drag forces. This means we consider the rocket is never near its terminal velocity and/or deceleration due to engine burn is way more significant than drag. That way, acceleration will be constant.

Let's put it on a graph. The point B is where the deceleration burn begins. The point G is when the velocity reaches zero (and hopefully the rocket reaches the ground).

Speed during hoverslam

The height travelled during burn is then \(h_B = \frac{v_B (t_G - t_B)}{2}`\)

The height travelled over time is

\begin{equation*} h(t) = \int v(t) dt = h_B + v_B t + \frac{a}{2} t^2 \end{equation*}

We want one and only one solution to this quadratic equation (namely G, the point where the rocket touch the ground with a null speed).

Thus the discriminant must be null:

\begin{align*} \Delta = v_B² - 2 h_B a = 0 \\ \implies h_B = \frac{v_B}{2 a} \end{align*}

If we constantly measure height and speed, we need to light up the engines at full thrust so that height and velocity match the aforementioned relation.

If the height is lower (resp. higher) than expected for the current speed, throttle must be increased (resp. decreased).

Real life consideration

In real life, there are small limitations.

  • engine spool up time: the engine cannot go from zero to full thrust in zero second. SRB can approach this instantaneous engine ignition [3]. Thus, engine must be turned on in advance (Space X Falcon 9's engines take several seconde to relight on descent)
  • instabilities and margin: given lower altitude wind and gusts and/or any unforeseen instability, margin must be taken into account. The less burn time, the less time to perform correction is available (but the more efficient is the suicide burn).
  • backup solutions: given the low time available to react in case of failure, there is almost no backup solution implementable. This seems not a good solution for human-rated rockets.

Real life example

This type of landing burn has been implemented in real life. I thought is was implemented in all extraterrestrial propulsive landing (LEM, MSL, Lunokhod,...) but given the thrust to weight ratio and the throttling capabilities, those landers did not perform a suicide burn.

The only real life example I have found is the Space X falcon 9

[1]Scott Manley's video explaining the manouvre
[2]Evryday Astronaut's video
[3]Here is how it can be done

Category: aviation Tagged: aviation Fight dynamics rocket science

Differential thrust

Wed 27 July 2022
Differential thrust (Photo credit: GE)

Principle overview

The basic principle is to create a torque offsetting the total thrust. This offset is done by throttling thrust of multiple engines whose thrust is not align with gravity center.

On the drawing, the thrust is aligned with CG for the left engine …

Category: aviation Tagged: aviation Fight dynamics rocket science

Read More

Voting method reflections

Fri 28 January 2022
Transparent voting box (Photo credit: Wikipedia)

This article presents personal thoughts on voting methods. More specifically, it presents guarantees offer by the traditional non-electronic voting method and won’t elaborate on electronic voting.


First, let’s define few specifications I’d like to develop.

  • any voter can understand how …

Category: reflections Tagged: geopolitics reflection vote

Read More

Mobile OS alternatives and european sovereignty

Tue 04 May 2021
Sailfish (not OS) (photo credit: wikipedia)

OS for mobile devices has evolved over the pasts years. Once, European actors (e.g. Nokia) were in lead position. Now it's hard to find non-android mobile OS. Each OS mobile comes with its software and hardware environements, and its geopolitical considerations.

Here is …

Category: tools Tagged: smartphone geopolitics

Read More

Cache implementation using weakref

Fri 30 April 2021
Bird's cache (Photo credit: Wikipedia)

This article presents a quick example of how to use weakref to implement a home-made cache mechanism.

Let's use the following use case:

  • Let's consider items:
    • items can be stored on a storage
    • items can be retrieved from storage
    • items are identify by an ID …

Category: how to Tagged: python cache weakref

Read More

Tkinter and Asyncio

Thu 18 February 2021
Asynchronous process results waiting (Photo credit: Wikipedia)

Graphical interfaces are typically the kind of object that can take advantage of asynchrounous programming as a GUI spend lot of time waiting for user input.

Tkinter <>_ is a kind of standard for …

Category: how to Tagged: python asyncio

Read More

Latex generator using Jinja

Wed 11 November 2020
Kawasukune-jinja (Photo creadit: Wikipedia)

The goal is to generate a PDF file using python. I decided to generate \(\LaTeX\).


I decided to use jinja as its documentation mention it.

\begin{equation*} \boxed{\text{Jinja template}} \xrightarrow[\text{python}]{} \boxed{\LaTeX} \xrightarrow[\text{pdflatex}]{} \boxed{\text{PDF}} \end{equation*}

The …

Category: LaTeX Tagged: python LaTeX Jinja

Read More
Page 1 of 12

Next »