連星の運動をシミュレートする(2体問題)


万有引力の法則にしたがって相互作用する2個の質点の運動を追跡 してみる。この問題ではコンピュータシミュレーションによらず とも解を求めることができ、質点の軌動は楕円、双曲線、放物線 のいずれかになることが知られている。数値的な手法による解に は常に誤差がともなうため、計算精度をチェックしておくことが 不可欠である。シミュレーションによって求めた軌動が本当に 楕円や双曲線になるか調べてみよう。

  1. シミュレーションプログラム (C言語で書かれています)

  2. プログラムの説明

  3. プログラムをコンパイルして実行できる形式にしよう

         % cc twobody.c -o twobody -lm リターン
    

  4. シミュレーションの実施

         % wish twobody.tcl  リターン
    

    このプログラムでは1番目の星は座標(0,0)に静止しているとしている。 時刻ゼロにおける2番目の星の座標をx,y の欄に、x軸、y軸方向の初速度を vx,vy の欄に、運動を追跡する時間きざみを dtの欄に、シミュレーション を終了する時刻を tmax の欄に入力する。たとえば、 x 1.0、y 0.0、vx 0.0、vy 1.0、dt 0.1、tmax 10.0 としてみよう。 データを入力しおわったら Run ボタンをクリックする。simulation end と 表示されたらシミュレーション完了である。

  5. 結果をグラフで表示する

    Plot ボタンをクリックすると2番目の星の軌跡が表示される。 閉じた軌動になっただろうか?

  6. 入力データを変えてシミュレートする

    マウスポインタを端末ウィンドウに移動してリターンキーを押すと グラフが消え、各欄に別の値を入力できるようになる。 Run ボタンをクリックしてシミュレーションを実施する。 初速度やdtをいろいろ変えて実験してみよう。

  7. 終了

    Dismiss ボタンをクリックする