3. Gas Generator Mass Flow Profile Calibration

Why the Mass Flow Profile Must Be Calibrated

In a lumped-parameter airbag model, the gas generator is usually represented as a mass flow source ṁ_gen(t) feeding the bag control volume. The bag pressure trace is the integrated result of that inflow, the vent outflow, and the changing bag volume and temperature. If the baseline model from Case 1 was built with a nominal constant or single-slope burn, the simulated pressure trace will typically rise too slowly at the start and overshoot or undershoot near the peak. Calibrating the mass flow profile means adjusting two physically meaningful knobs — the burn rate (how fast the propellant mass is consumed, which sets the shape and timing of the flow pulse) and the total gas mass (which sets the area under the flow curve and therefore the plateau pressure) — until the simulated tank pressure matches a measured reference trace within a stated tolerance.

The task is a two-parameter identification problem with a clear physical separation: total mass controls the pressure level, burn rate controls the timing. That separation is what makes a structured calibration possible instead of blind trial and error.

Reference Data and the Calibration Metric

Assume a measured tank pressure trace is available from a static inflation test (tank volume V_tank = 0.060 m³, initial pressure P_0 = 101.3 kPa, ambient temperature T_0 = 293 K). The trace is sampled at 1 ms and stored as two columns, t and P_meas. The calibration target is defined on three characteristic points rather than the full curve, because these points are what downstream cases (peak pressure control, vent coefficient identification) actually depend on:

  • Peak pressure P_max — must match within ±3% of the measured peak.
  • Time to peak t_peak — must match within ±2 ms.
  • Rise time to 90% of peak t_90 — must match within ±3 ms.

A single scalar objective is convenient for the solver: the normalized root-mean-square error over the full trace,

J = sqrt( mean( ((P_sim(t) - P_meas(t)) / P_max_meas)^2 ) )

with an acceptance threshold of J ≤ 0.02 (2% of peak). The three point checks are then used as a final sanity gate, because a low RMSE can still hide a timing shift that matters for vent sizing.

Gas Generator Model with Burn-Rate Parameterization

The propellant is modeled as a single grain consumed by a burn-rate law. A practical parameterization for calibration uses a burn-rate coefficient a and a burn exponent n held fixed at n = 0.5 (typical for a regression-rate law), with the burn area approximated as constant during the short inflation window. The remaining propellant mass m_p(t) then obeys:

dm_p/dt = -a * A_b * (P_tank/P_ref)^n
ṁ_gen(t) = dm_p/dt * (1 + m_gas_per_prop)   # gas yield factor

Here A_b is the effective burn area, P_ref = 101.3 kPa normalizes the pressure dependence, and the gas yield factor converts consumed propellant mass to generated gas mass. The two calibration parameters are a (burn rate) and the initial propellant mass m_p0 (which sets total gas mass). The bag/tank pressure is then integrated with the ideal-gas relation and the vent term from Case 1:

dP/dt = (R*T/V) * (ṁ_gen - ṁ_vent) - (P/V) * dV/dt
ṁ_vent = C_d * A_vent * sqrt(2*rho*(P - P_amb))   # choked-flow correction applied when P/P_amb > 1.89

Structured Two-Step Calibration Procedure

Because total mass and burn rate affect the trace differently, calibrate them in sequence rather than simultaneously. This converges in far fewer iterations and keeps each step physically interpretable.

  1. Fix the shape, fit the level. Set an initial burn rate a_0 from the propellant datasheet (for example a_0 = 8.0e-4 m/(s·kPa^0.5)). Run the model and compare P_max. Scale the initial propellant mass by the ratio of measured to simulated peak: m_p0_new = m_p0 * (P_max_meas / P_max_sim). Re-run; the peak should now be within a few percent.
  2. Fix the level, fit the timing. With mass adjusted, compare t_peak and t_90. If the simulated rise is too slow (t_peak too late), increase a; if too fast, decrease it. Adjust a by the ratio t_peak_sim / t_peak_meas as a first-order correction, then re-run.
  3. Iterate to convergence. Repeat steps 1–2 until J ≤ 0.02 and all three point checks pass. Two to four iterations are typical for a well-behaved trace.
Keep n and A_b fixed during calibration. If the fit cannot be closed with only a and m_p0, that is a signal that the burn-area assumption or the vent coefficient is wrong — do not absorb the error by distorting the burn law.

Calibration Logic at a Glance

Measured trace P_meas(t), 1 ms P_max, t_peak, t_90 Step 1 — fit level m_p0 ← m_p0 · P_max_meas/P_max_sim (burn rate a held fixed) Step 2 — fit timing a ← a · t_peak_sim/t_peak_meas (m_p0 held fixed) Lumped-parameter simulator dm_p/dt = −a·A_b·(P/P_ref)^0.5 ; ṁ_gen = dm_p/dt·(1+m_gas) dP/dt = (RT/V)(ṁ_gen − ṁ_vent) − (P/V)dV/dt J ≤ 0.02 and point checks pass? Calibrated profile a*, m_p0* locked yes no — update a, m_p0 reference data parameter update / accept timing fit convergence test

Worked Example: One Calibration Pass

Starting values: a_0 = 8.0e-4, m_p0 = 0.045 kg, A_b = 0.012 m², gas yield factor 1.02. The measured reference gives P_max_meas = 245 kPa, t_peak_meas = 38 ms, t_90_meas = 26 ms.

Iterationa (m/(s·kPa^0.5))m_p0 (kg)P_max_sim (kPa)t_peak_sim (ms)J
0 (initial)8.0e-40.045221440.061
1 (mass fit)8.0e-40.0499244430.038
2 (rate fit)9.1e-40.0499246380.017
3 (refine)9.0e-40.0497245380.014

After iteration 3, P_max is within 0.4% of the reference, t_peak matches exactly, and J = 0.014 is below the 0.02 threshold. The t_90 check should be read from the same run; if it drifts beyond ±3 ms while the other two points pass, the burn exponent n or the burn-area assumption is the likely culprit, not the two calibrated parameters.

The numbers above are illustrative teaching values, not measured test data. When calibrating against a real trace, always confirm the pressure sensor's rise time and the tank volume used in the test — a 5% error in V_tank will bias m_p0 by roughly the same amount and can be mistaken for a burn-rate problem.

Verification and Failure Symptoms

Accept the calibration only when the full-trace RMSE and all three point checks pass on the same run. Then re-run the model with the calibrated a* and m_p0* at a different initial tank pressure (for example P_0 = 90 kPa) and confirm the peak shifts in the physically expected direction — this guards against overfitting a single trace. Common failure patterns and their meaning:

  • Peak matches but rise is too slow: burn rate too low; the mass fit absorbed a shape error. Increase a and re-fit mass.
  • Rise matches but peak drifts high: vent coefficient or vent area is under-predicted; do not compensate with m_p0 — that is the subject of Case 4.
  • Oscillation between iterations: the two parameters are being updated simultaneously; return to the sequential order (mass first, then rate).
  • Cannot reach J ≤ 0.02 at all: the burn-area model is too crude for the trace; revisit A_b(t) before adding more free parameters.

The deliverable of this case is the calibrated pair (a*, m_p0*) plus the acceptance record (J, P_max error, t_peak error, t_90 error). These become the fixed inflator inputs for the vent-diameter sweep and the vent-coefficient identification that follow.