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 and not for the right one. If both engines were mounted like the right one, torque produced by all engine would cancelled out.

Basic torque illustration

Note that some rockets (Ariane 4, Long March 5B,...) have there engines mounted like the left one, partially to minimize torque in case of engine out capability.

Mathematical approach

This section sum up what I think is true and is not based on any sources.

Torque authority is maximal when one engine is at its minimal power setting and the opposite one is at its maximal power setting. But, in this case, the total thrust is not modular.

For the following of this article, let's note:

  • \(T \in [0, 1]\): setpoint value for thrust level
  • \(D \in [-1, 1]\): setpoint value for direction (from full left (-1) to full right (+1))
  • \(F_l\) (resp. \(F_r\)) : setpoint for thrust for left (resp. right) engine.
  • \(T_{min} (\in [0, 1])\): minimal thrust achievable (hopefully low)
  • \(T_{max} = 1\): maximal thrust

Those conventions are made without loss of generality over possible thrusts values (simple multiplication by rated thrust)

Without any limitation, thrust would be:

\begin{align*} F_l = T + D\\ F_r = T - D \end{align*}

But in real life, it would look like:

\begin{align*} F_l = \max(\min(T + D, T_{max}), T_{min})\\ F_r = \max(\min(T - D, T_{max}), T_{min}) \end{align*}

Now let's go to python implementation and let's consider functions taking as input direction and thrust setpoint values.

T_MAX = 1
T_MIN = .1


def basic_thrust(d, t):
    fl = max(min(t + d, T_MAX), T_MIN)
    fr = max(min(t - d, T_MAX), T_MIN)
    return fl, fr

And now let's consider both cases where direction authority is prioritized (modulate thrust to allow the required thrust difference) and where thrust authority is prioritized (modulate thrust to have the required total thrust even if difference between both engines is low). At least one engine's thrust will be modulate to achieve direction (resp. thrust) setpoint value, i.e. have the required thrust difference (resp. total thrust).

T_MAX = 1
T_MIN = .1

def thrust_priority(d, t):
    fl = t + d
    fr = t - d

    # ensure fr + fl = 2 * t
    if fl > T_MAX:
        fl = T_MAX
        fr = T_MAX * (1 - t / 2)

    elif fr > T_MAX:
        fl = T_MAX
        fl = T_MAX * (1 - t / 2)

    elif fl < T_MIN:
        fl = T_MIN
        fr = max(T_MIN, t / 2)

    elif fr < T_MIN:
        fr = T_MIN
        fl = max(T_MIN, t / 2)

    return fl, fr


def direction_priority(d, t):
    fl = t + d
    fr = t - d

    # ensure abs(fl - fr) = 2 * d
    if fl > T_MAX:
        fl = T_MAX
        fr = max(T_MIN, T_MAX - 2 * d)
    elif fr > T_MAX:
        fr = T_MAX
        fl = max(T_MIN, T_MAX - 2 * d)
    elif fl < T_MIN:
        fl = T_MIN
        fr = min(T_MAX, T_MIN + 2 * d)
    elif fr < T_MIN:
        fr = T_MIN
        fl = min(T_MAX, T_MIN + 2 * d)

    return fl, fr

Real life example

The differential thrust mechanism to control direction (roll, pitch) has been used in real life. The most famous example is the soviet rocket N-1. Using this on the first stage is courageous as usually this stage require full thrust during the first part of its flight, leaving almost no thrust marge for direction authority. This is even more surprising as liquid propellant rocket engines with preburner or gas generator <https://en.wikipedia.org/wiki/NK-33c>_ takes time to throttle (time to change velocity of heavy turbines).

Another more mature example is the Space X crew dragon escape system's engines. The goal here is to control the orientation of the capsule during emergency separation event. Given the aerodynamic provided by the trunk, this application seems less critical than the N-1 rocket. Moreover, the pressure fed engines are more reactive.

Also it may not be obvious, this kind of reasoning is also applicable to differential braking (e.g. for taxiing a DC-3) and to flight control surfaces for which bot sides obey both a simultaneous deflection and a differential one. I thin of flaperon (flap setpoint for \(t\), aileron setpoint for \(d\)) and of spoilers when used both for airbrake function (setpoint for \(t\)) and roll function (setpoint for \(d\))

Category: aviation Tagged: aviation Fight dynamics rocket science


C*: Yaw

Mon 01 April 2019
aileron Vertical stabilizer (Photo credit: Wikipedia)

This post is about yaw control. This is also the post for which I did not find many references.

Remember the yaw is the axis controlled by the rudder. The rudder acts as any foil, providing a force dependant of its angle of attack. This …

Category: aviation Tagged: C star Flight dynamics yaw

Read More

C*: pitch

Sun 07 September 2014

The axes is the most documented one. Maybe because it is the less easy to understand. Of course other post will consider the two other axes.

The complication arise when thinking of what can be controlled:

  • the plane's stability (called "assiette" in french) and therefore the pitch rate.
  • the angle …

Category: aviation Tagged: C star

Read More

C*: flight control

Tue 02 September 2014

[caption id="" align="alignright" width="350"]F-8C Crusader digital fly-by-wire testbed C* testbed (Photo credit: Wikipedia)[/caption]

I begun a serie of post dedicated to fly-by-wire explanation. I focus on C* command law as it is the most documented one.  All posts from this serie will be available under the C* tag on this blog …

Category: aviation Tagged: C star Fly-by-wire

Read More

C*: introduction

Fri 04 October 2013

Ceci est le premier billet d'une série d'un nombre encore indeterminé. Je me suis posé la question: "Comment ça marche les commandes de vol électriques?" J'ai rapidement compris deux ou trois trucs, je vais essayer d'en faire une synthèse en indiquant des pointeurs utiles (principalement des rapports du BEA).

Je …

Category: aviation Tagged: C star

Read More
Page 1 of 1