最近の更新 (Recent Changes)

2014-01-01
2013-01-04
2012-12-22
2012-12-15
2012-12-09

Wikiガイド(Guide)

サイドバー (Side Bar)


← 前のページに戻る

2.6 ロケット打ち上げ

2.6.1 ロケット打ち上げ

rocket.jpg

ここでは、上図に示すような1段式のロケットについて、運動方程式を使い、重量、位置、速度、加速度の変化を計算してみましょう。

2.6.2 ロケット打ち上げの運動方程式

以下にロケットの運動方程式を示します。


   v = Isp * g * log(M / m)

  dm
  -- = -1.575
  dt


v は、時刻tでの速度です。

Isp は、比推力で主に燃料によって定まる固有の定数です。

ロケット燃料の噴射ガスの平均排気速度です。

g は、重力加速度です。

M は、ロケットの最初の質量で、m は、時刻tでの燃料を使った状態の質量です。

燃料として使用されるので、質量はdm/dt = -1.575で減少していきます。

2.6.3 ソース

以下にロケットの運動方程式を数値計算するデカルト言語によるソースを示します。


? ::sys <PrintResultOff>
  <letf #g = 9.8>
  <letf #M = 375>
  <letf #mi = #M>
  <letf #Isp = 440>
  <letf #xi = 0>

  <print "t,x,v,a,m">
  ::sys <ODE (#t 0 200 0.1)
        <letf #'dm/dt' = -1.575>
        ::sys <integral #m #'dm/dt' #mi>

        <letf #v = #Isp * #g * ::sys <log _ <letf _ = #M / #m>>>
        ::sys <integral #x #v #xi>
        ::sys <ODEdiff #a #v>

        ::sys <ODEprintf 100 #t "," #x "," #v "," #a "," #m <\_n>>

  >
  ;

定数として、#Mの質量を初期値375Kg, 非推力440秒としています。

そして、速度#vを計算した後、integral述語で積分することによって位置#xを計算し、 ODEdiff述語で微分することによって加速度#aを計算します。

2.6.4 実行結果とグラフ

ソースを"rocket.dec"という名前で保存して実行します。


$ descartes rocket.dec >rocket.csv

rocket.csv を、Excelで読み込んでグラフにしました。


  rocket_m.jpg


  rocket_x.jpg


  rocket_v.jpg


  rocket_a.jpg