基礎的な弾道運動の計算をModelicaで ~救済なお届け物に必要な初速は幾らか~

 とあるゲーム作品にて,中でレール砲を使って超遠方にあるものを贈る救済計画なるものが出てきた.
 下記スクショの通り,レール法の射程は3000kmとあり,それを為すのに必要な弾の初速がふと気になった.そこで,最も単純な物理モデルで,大まかな値を調べた.実は今回適用するモデルは高等学校物理で学ぶものであり,初速算出だけなら手計算で可能.しかし,今後物理モデルを複雑・高度化する可能性や,弾道など初速以外を観られるようにと,Modelicaでモデルを作成した.
 *”贈与”はこの当時少しだけホットになっていた話題であり,本当は作品には関係無い.

記事を通して言いたいこと(結論)

例によって、冒頭で改めて述べておく。
  • 3000 km を弾道で飛ばすのに必要な弾の初速を,Modelicaでモデルを作成して算出した.
  • 物理モデルは本文に記す通り,高等学校物理で学ぶ,スタートに適した最も単純なもの.
  • 必要初速は5 km/s を超過しており,現在一般に語られているレール砲の持つ能力より遥かに高い.よって現存のレール砲の技術では実現は困難と考えられる.
  •  ここの記述によると,米海軍は艦船用レール砲の開発にて,砲弾初速2.5 [km/s]を目標にしていたとの事.

モデル化対象(とその周辺について)

    質点の放物運動

     解くのは非常にシンプルな2次元質点の運動問題.高等学校物理で一番最初に学ぶもの.
     下図の通り,大きさ・形状を無視した物体に初速を与え,重力だけを受けて放物運動をして落下する.

      仮定・前提

      1. 弾体は質点.
      2. 運動を考慮するのは,高さ方向と,砲を放った水平方向のみ.(2次元の運動)
      3. 発砲位置,目標点に,高さは0 [m]
      4. 弾体に働く外力は重力のみ.
      5. 重力加速度は一定(万有引力の方程式は適用しない).
      6.  万有引力の方程式では重力加速度の大きさは2つの質点間の距離に依存するが.地球中心から地表の距離に比べて,弾体が飛翔する高度は非常に小さいのでこの影響を無視する.
      7. (上記と連動して)地表を平面として扱う.
      8. 投射仰角は45 [deg].上記を満たす場合,弾体が地面に達するまでに飛翔する距離を最大化するのがこの角度であるのは既知の事実.

      支配方程式

       最低限必要な支配方程式は下記の通り.非常に単純で,2方向の変位についての2階の時間微分と,加速度一定の式のみで成る.
      dx dt = V x dy dt = V y dV x dt = a x dV y dt = a y a x = 0.0 a y = 1.0 g frac {dx} {dt}= V_{x} newline frac {dy} {dt}= V_{y} newline frac {dV_{x}} {dt}= a_{x} newline frac {dV_{y}} {dt}= a_{y} newline a_x = 0.0 newline a_y = -1.0 * g newline
      g: 地表での地球の重力加速度,9.81 [m/s2]
        
       上記に加えて,最初の瞬間(t=0 [s])については投射確度について,下記の初期方程式(initial equation)が成立する.
      V x 0 = V init cos ( α 0 ) V y 0 = V init sin ( α 0 ) V_x0 = V_init * cos(α_0) newline V_y0 = V_init * sin(α_0) newline
        
       これらを時間積分して,各方向の速度,変位を算出すると,高等学校物理で学ぶ馴染み深い放物運動の公式となる.
      V y ( t ) = V init sin ( α 0 ) g t y ( t ) = V init sin ( α 0 ) t 1 2 g t 2 + y 0 V x ( t ) = V init cos ( α 0 ) x ( t ) = V init cos ( α 0 ) t + x 0 V_y(t) = V_init * sin(α_0) -g * t newline y(t) = V_init * sin(α_0)*t – {1} over {2}* g * t^{2} + y_0 newline V_x(t) = V_init * cos(α_0) newline x(t) = V_init * cos(α_0)*t +x_0 newline
        

    手計算による必要初速求解

    初速算出式の導出

     前項の方程式を変形すると,任意の射程距離を得るために弾体に必要な初速を求める式が解析的に得られる.
     まず,投射した弾体が地表に着弾する時刻を算出する.これは,投射の瞬間以外で弾体高度が0となる時刻なので下記の通り算出される.(式変形の詳細は省略)
    y ( t imp ) = 0.0 t imp ( V 0 sin ( α 0 ) 1 2 g t imp ) = 0.0 t imp = 1 g 2 V 0 sin ( α 0 ) y( t_{imp} )=0.0 newline t_{imp}* (V_0* sin(α_0)- {1} over {2}*g*t_{imp} ) = 0.0 newline t_{imp}= {1} over {g} * 2 * V_0 * sin(α_0) newline
      
     そして,この時刻における水平方向の変位が射程距離であることからなる等式を変形して,必要初速は下記の通り算出される.(式変形の詳細は省略)
    range = x ( t imp ) V 0 cos ( α 0 ) 1 g 2.0 V 0 sin ( α 0 ) = range V 0 = g range 2.0 sin ( α 0 ) cos ( α 0 ) range = x (t_{imp} ) newline nospace { V_0 * cos(α_0) } {1} over {g} * 2.0 * V_0 * sin(α_0)=range newline dotsvert newline V_0 = sqrt{ frac {g * range} {2.0* sin(α_0) * cos(α_0) } } newline
      

    具体的数値の代入

     前項で得られた解の式に,冒頭で述べた具体的数値を下記の通り与えて必要初速の値を算出する.
    range = 3000 10 3 [ m ] α 0 = π 4 [ rad ] range= 3000 * 10^{3} [m] newline α_{0}= {π} over {4} [rad] newline
      
     必要初速は下記となる.その値は米海軍が目標としていたとされる2.5 [km/s] の2倍を上回る大きさである.
    V 0 = 5425 [ m / s ] V_{0}= 5425 [m/s]
      

シミュレーションモデル

    Diagram

     無し.方程式とparameters, variablesの定義だけからなり,コンポーネント間の接続の無い,Modelicaソースコードのみから成るモデルである.

    モデルのソースコード

     ソースコードは下記の通り.非常にシンプルで,上述した支配方程式と初期方程式をほぼそのまま書き下しただけに近いもの.
     必要弾体初速を算出するプログラムではなく,純粋に任意の初期条件を与えて放物運動をシミュレートし,射程(飛翔距離),飛翔時間,飛翔パスなどを算出するものとしている.
     途中にwhen節を用いた箇所があるが,これは,弾体高度が0に達した瞬間の値を記録し,射程距離と飛翔時間を別変数に表示させるためだけのもの.物理現象に関するものではない.
    within SystemModels.VirtualExperiments;
    
    model Ballistics_001
      extends Modelica.Icons.Example;
      //----------
      import units = Modelica.Units.SI;
      //----------
      parameter units.Acceleration g = 9.81;
      parameter units.Velocity Vinit = 5430;
      parameter units.Angle angleLaunch = 45 * Modelica.Constants.pi / 180.0;
      //----------
      units.Position x;
      units.Position y;
      units.Velocity Vx;
      units.Velocity Vy;
      units.Acceleration ax;
      units.Acceleration ay;
      discrete units.Length range;
      discrete units.Time elapTime;
    initial equation
      Vx = Vinit * cos(angleLaunch);
      Vy = Vinit * sin(angleLaunch);
    equation
      der(x) = Vx;
      der(y) = Vy;
      der(Vx) = ax;
      der(Vy) = ay;
      ax = 0.0;
      ay = -1.0 * g;
      when (y <= 0.0) then
        range = x;
        elapTime=time;
      end when;
      annotation(
        experiment(StartTime = 0, StopTime = 800, Tolerance = 1e-06, Interval = 0.01));
    end Ballistics_001;
    

    Parameters(主要な固定値input)

    1. 重力加速度: 9.81 [m/s2]
    2. 弾体初速: 5430 [m/s]
    3.  弾体の飛翔距離が約3000 [km] となるように,調整を済ませた値.
    4. 投射仰角: 45 [deg]
    5.  前述の通り,仮定・前提を満たす上で,飛翔距離を最大にする仰角.

    シミュレーションモデル情報

     毎度通り,シミュレーションモデル(および使用している自作コンポーネント)はgithubにソースコードを公開しているので,是非parameter/inputを変えるなどして実際に動かされたい.

シミュレーション実行

    Input

     時間経過に応じて変化させるinput無し.
      

    Variables

     計算を実行し,弾道などの各種物理量の動きを観る.
    1. y vs. x (弾道)
    2.  高度と水平方向位置の関係を示したもので,弾体の飛翔軌跡.意図通り,放物運動を描いている.
    3. 射程距離
    4.  離散変数とwhen節によるevent処理を用いて,弾体が水平方向に飛翔した距離,=射程距離,を記録,表示させたもの.約 3000 [km] (2.995*10^6 [m])となっている.
    5. 飛翔時間
    6.  射程距離と同様,離散変数を用いて飛翔時間を記録,表示させたもの.投射から着弾まで約800 [s](15分近く) を要することが読み取れる.
    7. 高度
    8.  高度の時間変化を表示したもの.
       上述の弾道を見ると水平方向に伸びた軌跡だが,最高高度が約750 [km] と,宇宙まで飛び出すものとなっている.国際宇宙ステーションの軌道高度が約400 [km] である事を考えると,かなり高高度まで放り上げている.
       このことから下記が考えられる.
      1. 飛行中,通過する大気の密度が激変する.したがって,空気抵抗も劇的に変化すると考えられる.
      2. 宇宙機が運用される高度に達しており,より正確な弾道シミュレーションの為には,重力加速度一定・平面地表ではなく,万有引力による重力と曲面地面を加味した物理モデルの適用が望まれる.
      3.  要は軌道力学による2体質点運動問題.
      4. 降下段階では大気圏再突入に類する飛翔となり,弾体は熱的に非常に厳しい条件を経る可能性が有る.
      5.  地球を周回飛行する速度よりは小さい速度でしか運動していないので,宇宙機や弾道飛翔体ほど厳しい条件にはならないと考えれる.
      

後書き・まとめ

 毎度通り,ほぼ冒頭の結論の繰り返し.
  • 3000 km を弾道で飛ばすのに必要な弾の初速を,Modelicaでモデルを作成して算出した.
  • 物理モデルは本文に記す通り,高等学校物理で学ぶ,スタートに適した最も単純なもの.
  • 必要初速は5 km/s を超過しており,現在一般に語られているレール砲の持つ能力より遥かに高い.よって現存のレール砲の技術では実現は困難と考えられる.
  •  *ここの記述によると,米海軍は艦船用レール砲の開発にて,砲弾初速2.5 [km/s]を目標にしていたとの事.

今後の課題

 今後,下記に示すように物理モデルを高度化し,予測の正確さを向上させたいと考えている.
  1. 空気抵抗を含むモデルの適用
  2. 軌道力学を用いた弾道計算モデルの適用
  3.  万有引力による重力計算と,曲面地表を踏まえた計算.
  4. 弾体が曝される空力加熱による熱的条件の考察
  5. 算出された弾体初速を得るために必要なレール砲の諸元算出
  6.  必要電力・電流,砲身長さ,必要磁力等.
 偶にはこういう尖り過ぎてない程度の問題演習もイイ..
以上

コメント

タイトルとURLをコピーしました