Ok, I just spent the past two or three hours fighting with a model that was actually working just fine. I feel retarded with a capital R, so I think it’s time for a break.
How many of you have had a chance to read the SpaceX post mortem on their second Falcon 1 launch attempt? It’s rather interesting reading.
The sad thing is that it looks like the chain of events leading up to the launch vehicle failure may have started with something as simple as improper configuration control on the code for the Merlin engine computer.
Here’s the basic sequence of failures as I can piece together from the post mortem:
1. Someone uploads some code to the Merlin 1 with some outdated tables for propellant mixture ratio control.
2. Merlin 1 runs leaner than planned at the start and richer than planned at the end, resulting in staging occuring at a much lower altitude than typically happens.
3. Staging occurs in a regime with much higher aerodynamic forces then planned for, which when combined with an extra torque caused by the Merlin 1 shutdown causes the Kestrel engine to impact with the first stage during separation.
4. The perturbation to the tank caused by the impact is larger than any of the perturbations modeled by SpaceX during upper stage tank design, and since the design doesn’t have baffles, and the control program isn’t designed to handle slosh on that scale, the slosh grows.
5. Slosh problems grow, eventually causing a roll to start.
6. The roll overcomes the roll-control thrusters.
7. Upper stage starts corkscrewing.
8. At some point the LOX inlet is oncover, causing Kestrel to shut down.
9. Demosat2 placed in fishing orbit.
It’s a really sobering lesson, particularly for rockets with any sort of computer control. Configuration and revision controls are critical for stuff like this. We’ve learned some of those lessons the not-quite-as-hard-but-harder-then-we-would-like way ourselves. Just kind of amazing that a $6M rocket didn’t make orbit, possibly because a few lines of code.