« View all new features in
Mathematica
9
◄
previous
|
next
►
New in
Mathematica
9
›
Reliability
Reliability of a Space Launch
In[1]:=
X
{Subscript[\[ScriptCapitalD], oGuidance], Subscript[\[ScriptCapitalD], iGuidance], Subscript[\[ScriptCapitalD], oIgnition], Subscript[\[ScriptCapitalD], iIgnition], Subscript[\[ScriptCapitalD], oSeparation], Subscript[\[ScriptCapitalD], iSeparation], Subscript[\[ScriptCapitalD], oPower], Subscript[\[ScriptCapitalD], oCom], Subscript[\[ScriptCapitalD], iCom], Subscript[\[ScriptCapitalD], oInstrument], Subscript[\[ScriptCapitalD], iInstrument], Subscript[\[ScriptCapitalD], oPropulsion], Subscript[\[ScriptCapitalD], structure]} = ExponentialDistribution[k #/1000] & /@ {0.01, 0.0001, 0.1, 0.001, 0.01, 0.0001, 0.02, 0.05, 0.0005, 0.01, 0.0005, 0.05, 0.001};
In[2]:=
X
ground = guidance1 \[And] guidance2 \[And] ignition1A \[And] ignition1B \[And] ignition2A \[And] ignition2B \[And] separation1 \[And] separation2 \[And] powerA \[And] powerB \[And] comA \[And] comB \[And] instrumentA \[And] instrumentB \[And] structure; Subscript[\[ScriptCapitalR], ground] = ReliabilityDistribution[ ground, {{guidance1, Subscript[\[ScriptCapitalD], iGuidance]}, {guidance2, Subscript[\[ScriptCapitalD], iGuidance]}, {ignition1A, Subscript[\[ScriptCapitalD], iIgnition]}, {ignition1B, Subscript[\[ScriptCapitalD], iIgnition]}, {ignition2A, Subscript[\[ScriptCapitalD], iIgnition]}, {ignition2B, Subscript[\[ScriptCapitalD], iIgnition]}, {separation1, Subscript[\[ScriptCapitalD], iSeparation]}, {separation2, Subscript[\[ScriptCapitalD], iSeparation]}, {powerA, Subscript[\[ScriptCapitalD], oPower]}, {powerB, Subscript[\[ScriptCapitalD], oPower]}, {comA, Subscript[\[ScriptCapitalD], iCom]}, {comB, Subscript[\[ScriptCapitalD], iCom]}, {instrumentA, Subscript[\[ScriptCapitalD], iInstrument]}, {instrumentB, Subscript[\[ScriptCapitalD], oInstrument]}, {structure, Subscript[\[ScriptCapitalD], structure]}} /. k -> 5];
In[3]:=
X
launch = guidance1 \[And] guidance2 \[And] (ignition1A \[Or] ignition1B) \[And] propulsion1 \[And] separation1 \[And] (ignition2A \[Or] ignition2B) \[And] propulsion2 \[And] separation2 \[And] (powerA \[Or] powerB) \[And] (comA \[Or] comB) \[And] instrumentA \[And] instrumentB \[And] structure; Subscript[\[ScriptCapitalR], launch] = ReliabilityDistribution[ launch, {{guidance1, Subscript[\[ScriptCapitalD], oGuidance]}, {guidance2, Subscript[\[ScriptCapitalD], iGuidance]}, {ignition1A, Subscript[\[ScriptCapitalD], oIgnition]}, {ignition1B, Subscript[\[ScriptCapitalD], oIgnition]}, {ignition2A, Subscript[\[ScriptCapitalD], oIgnition]}, {ignition2B, Subscript[\[ScriptCapitalD], oIgnition]}, {separation1, Subscript[\[ScriptCapitalD], oSeparation]}, {separation2, Subscript[\[ScriptCapitalD], oSeparation]}, {powerA, Subscript[\[ScriptCapitalD], oPower]}, {powerB, Subscript[\[ScriptCapitalD], oPower]}, {comA, Subscript[\[ScriptCapitalD], oCom]}, {comB, Subscript[\[ScriptCapitalD], oCom]}, {instrumentA, Subscript[\[ScriptCapitalD], oInstrument]}, {instrumentB, Subscript[\[ScriptCapitalD], iInstrument]}, {structure, Subscript[\[ScriptCapitalD], structure]}, {propulsion1, Subscript[\[ScriptCapitalD], oPropulsion]}, {propulsion2, Subscript[\[ScriptCapitalD], oPropulsion]}} /. k -> 400];
In[4]:=
X
orbit = guidance2 \[And] (powerA \[Or] powerB) \[And] (comA \[Or] comB) \[And] instrumentB \[And] structure; Subscript[\[ScriptCapitalR], orbit] = ReliabilityDistribution[ orbit, {{guidance2, Subscript[\[ScriptCapitalD], oGuidance]}, {powerA, Subscript[\[ScriptCapitalD], oPower]}, {powerB, Subscript[\[ScriptCapitalD], oPower]}, {comA, Subscript[\[ScriptCapitalD], oCom]}, {comB, Subscript[\[ScriptCapitalD], oCom]}, {instrumentB, Subscript[\[ScriptCapitalD], oInstrument]}, {structure, Subscript[\[ScriptCapitalD], structure]}} /. k -> 1];
In[5]:=
X
rel = SurvivalFunction[Subscript[\[ScriptCapitalR], ground], 24]* SurvivalFunction[Subscript[\[ScriptCapitalR], launch], 0.1]* SurvivalFunction[Subscript[\[ScriptCapitalR], orbit], 100*24];
In[6]:=
X
plotOpts = {PlotRange -> {0, 1}, Filling -> Axis, Ticks -> None, ImageSize -> 150, PlotRangePadding -> 0}; Grid[{{"", "Ground", "Launch", "Orbit"}, {Rotate["SurvivalFunction", \[Pi]/2], Plot[SurvivalFunction[Subscript[\[ScriptCapitalR], ground], t], {t, 0, 15000}, Evaluate@plotOpts, FillingStyle -> ColorData["Crayola"]["Mahogany"]], Plot[SurvivalFunction[Subscript[\[ScriptCapitalR], launch], t], {t, 0, 40}, Evaluate@plotOpts, FillingStyle -> Orange], Plot[SurvivalFunction[Subscript[\[ScriptCapitalR], orbit], t], {t, 0, 50000}, Evaluate@plotOpts, FillingStyle -> ColorData["Crayola"]["Inchworm"]]}, {Rotate[ "MTTF", \[Pi]/2], Mean[Subscript[\[ScriptCapitalR], ground]], Mean[Subscript[\[ScriptCapitalR], launch]], Mean[Subscript[\[ScriptCapitalR], orbit]]}, {Rotate[ "Mission time", \[Pi]/2], 24, 0.1, 100*24}, {Rotate["Reliability", \[Pi]/2], SurvivalFunction[Subscript[\[ScriptCapitalR], ground], 24], SurvivalFunction[Subscript[\[ScriptCapitalR], launch], 0.1], SurvivalFunction[Subscript[\[ScriptCapitalR], orbit], 100*24]}, {Item["Mission reliability:", Background -> LightBlue], SpanFromLeft, Item[rel, Background -> LightBlue], SpanFromLeft}}, Frame -> All, Spacings -> {1, 2}, BaseStyle -> {FontFamily -> "Verdana", FontSize -> 12}]
Model a launch into space in three phases: a ground check, a launch phase, and in orbit. The three phases have environmental harshness factors of 5400 and 1.
Out[6]=