Skip to main content

Thrust Model

The main propulsion system in Moonlander is modeled as a first-order dynamic system. The actual thrust force approaches the commanded thrust force exponentially, with a time constant representing the engine response delay.

Assumptions:

The engine cannot change its thrust force instantaneously. Instead, it behaves like a first-order system (PT1 / first-order lag) with time constant τ\tau.

This model class is mathematically equivalent to:
- RC circuits
- Thermal inertia
- Motor spin-up dynamics
- Low-pass filters

Physical / System Formulation:

The rate of change of thrust force is proportional to the difference between commanded and actual thrust force:

F˙T(FT,cmdFT) \dot{F}_T \propto (F_{T,cmd}-F_T)

Introducing the proportionality constant1τ\frac{1}{\tau}:

F˙T=1τ(FT,cmdFT) \dot{F}_T = \frac{1}{\tau} (F_{T,cmd}-F_T)

Interpretation:

- FT,cmdF_{T,cmd}: commanded thrust force [N]
- FTF_T: actual thrust force [N]
- τ\tau: engine response time / inertia [s]

Limiting cases:
- τ0\tau \rightarrow 0 → instantaneous response
- Large τ\tau → slow engine response

Discrete Form (from ODE)

Starting from:

F˙T=FT,cmdFTτ \dot{F}_T = \frac{F_{T,cmd}-F_T}{\tau}

Assuming FT,cmdF_{T,cmd} is constant over a timestepΔt\Delta t, the analytical solution becomes:

FT(t+Δt)=FT(t)eΔt/τ+FT,cmd(1eΔt/τ) F_T(t+\Delta t) = F_T(t)e^{-\Delta t/\tau} + F_{T,cmd} (1-e^{-\Delta t/\tau})

Rearranged:

FT,k+1=FT,k+(1eΔt/τ)(FT,cmd,kFT,k) F_{T,k+1} = F_{T,k} + (1-e^{-\Delta t/\tau}) (F_{T,cmd,k}-F_{T,k})

Step-by-Step Solution of the Differential Equation

We solve the first-order ODE:

F˙T=FT,cmdFTτ \dot{F}_T = \frac{F_{T,cmd}-F_T}{\tau}

Step 1: Rearrange

Bring the equation into standard linear form:

F˙T+1τFT=FT,cmdτ \dot{F}_T + \frac{1}{\tau}F_T = \frac{F_{T,cmd}}{\tau}

Denote:

a=1τ,b=FT,cmdτ a=\frac{1}{\tau}, \quad b=\frac{F_{T,cmd}}{\tau}

Step 2: Homogeneous Solution

Solve:

F˙T,h+aFT,h=0 \dot{F}_{T,h} + aF_{T,h} = 0

Using exponential ansatz:

FT,h(t)=Ceat=Cet/τ F_{T,h}(t) = Ce^{-at} = Ce^{-t/\tau}

Step 3: Particular Solution

Since the forcing term is constant, use:FT,p=kF_{T,p}=k.

Substituting into the ODE:

0+ak=b    k=FT,cmd 0+ak=b \implies k=F_{T,cmd}

Step 4: General Solution

FT(t)=FT,h(t)+FT,p=Cet/τ+FT,cmd F_T(t) = F_{T,h}(t) + F_{T,p} = Ce^{-t/\tau} + F_{T,cmd}

Step 5: Apply Initial Condition

At t=0t=0,FT(0)=FT,0F_T(0)=F_{T,0}:

FT,0=C+FT,cmd    C=FT,0FT,cmd F_{T,0} = C+F_{T,cmd} \implies C = F_{T,0}-F_{T,cmd}

Step 6: Evaluate at t + Δt

FT(t+Δt)=(FT,0FT,cmd)eΔt/τ+FT,cmd F_T(t+\Delta t) = (F_{T,0}-F_{T,cmd}) e^{-\Delta t/\tau} + F_{T,cmd}

Expanding usingFT,0=FT(t)F_{T,0}=F_T(t):

FT(t+Δt)=FT(t)eΔt/τ+FT,cmd(1eΔt/τ) F_T(t+\Delta t) = F_T(t)e^{-\Delta t/\tau} + F_{T,cmd} (1-e^{-\Delta t/\tau})

Step 7: Intuition

- The system always converges towardFT,cmdF_{T,cmd}.
- The convergence speed is governed byτ\tau.
- Smaller τ\tau → faster response.
- Larger τ\tau → slower response.


Illustration

The figure below shows the thrust force approaching the commanded target over time.

Thrust response curve

Fuel Consumption

The specific impulse is defined as:

Isp=FTm˙g0 I_{sp} = \frac{F_T}{\dot{m}g_0}

Where:
- IspI_{sp}: specific impulse [s]
- FTF_T: thrust force [N]
- g09.81g_0 \approx 9.81: standard gravity [m/s²]

Solving for mass flow rate:

m˙=FTIspg0 \dot{m} = \frac{F_T}{I_{sp}g_0}

Fuel mass decreases according to:

m˙f=FTIspg0 \dot{m}_f = - \frac{F_T}{I_{sp}g_0}

Typical values for common propulsion systems:

Engine TypeFuel / PropellantIsp[s]I_{sp}\,[s]
Liquid RocketLOX/LH2450–465
Liquid RocketLOX/Kerosene300–350
Solid RocketHTPB / Black Powder200–300
Ion / ElectricXenon, Hall / Electrostatic1500–4000
Hybrid RocketHTPB + N₂O250–300

Key Characteristics

  • First-order exponential response to commanded thrust force
  • Stable analytical discrete-time formulation
  • Real-time capable low-order propulsion model
  • Physically coupled fuel consumption
  • Suitable for guidance and control simulation
  • Numerically stable for variable simulation timesteps