らんだむな記憶

blogというものを体験してみようか!的なー

アポロ13号

アポロ13号 - Wikipediaによると

2日後、電線が短絡し火花が散ったことにより機械船の酸素タンクが爆発し、飛行士たちは深刻な電力と水の不足に見舞われることになった。司令船には独自のバッテリーと酸素が搭載されているが、それらは大気圏再突入の際に必要になるもので、使用することはできない。そのため、彼らは着陸船を救命ボートに見立て乗り移り、電力を限界まで抑え、よって生成量が激減した飲料水の消費を極力控える負荷に耐え、無事地球に生還した。

ということらしいが、これを題材にアポロが月を周回して地球に戻ってくる様子をシミュレーションするのがLesson2の最終問題。
不正解パターンでは地球に衝突したりする...。

f:id:derwind:20151019000523p:plain:w321
が一応正解らしい。地球に降り立った後どこいくねんって感じだけど...。
ここまでくると運動方程式は厳密解が求められる気がしない感じに。
多分、運動方程式を書き下すと以下のような感じだろう。問題文中では明示はされないが。
\begin{align}
m_s \ddot{\boldsymbol{r}}(t) &= -G \frac{m_s m_E}{|\boldsymbol{r}(t)|^2}\frac{\boldsymbol{r}(t)}{|\boldsymbol{r}(t)|} - G \frac{m_s m_M}{|\boldsymbol{r}(t) - \boldsymbol{r_M}(t)|^2}\frac{\boldsymbol{r}(t) - \boldsymbol{r_M}(t)}{|\boldsymbol{r}(t) - \boldsymbol{r_M}(t)|}, \\
\boldsymbol{r_M}(t) &= L \cos \left(\theta_0 + \frac{2\pi t}{T_M} \right) \boldsymbol{\hat{x}} + L \sin \left(\theta_0 + \frac{2\pi t}{T_M} \right) \boldsymbol{\hat{y}}
\end{align}

問題としては、adaptive step sizeを適用しつつホイン法で解けというものだったが、間違ってシンプレクティック法で書いてしまっていて、いつまでも正解しなかった...。結局諦めてそこのとこだけちらっと回答を見てしまった。
回答サーバからの指摘は「加速度の計算式がおかしい。もし正しそうならちゃんとLTEが計算できているか見てみたら?」だったが、まぁ、後者ということか。なんかデバッグしにくいな。

まぁ、数値解析は難しいや。とても本物の宇宙船に対する数値計算をして「このパラメータでOKだから、このタイミングで噴射してくれ」とか言えないな。