2体問題のシミュレーションプログラムの説明


  1. 1番目の粒子が座標(0,0)に静止しているとして、2番目の 粒子の運動をt=0からt=tmaxまで、時間きざみ dtで追跡する プログラムである。

  2. 2個の粒子はひとつの平面上を運動するため、この平面内の 運動だけを考えれば十分である。

  3. このプログラムでは運動方程式をルンゲクッタ法という方法で 解いている。運動方程式は数学の言葉でいえば2階の常微分方程式 で表現されている。ルンゲクッタ法はこのような常微分方程式を 数値的に解くときの標準的な方法である。詳しくは参考書を参照のこと。

  4. ふたつの粒子の間の距離が r=sqrt(x*x+y*y) によって求められ ている。ここで sqrt は平方根を求める関数である。

  5. 粒子の質量をM、万有引力定数をGとして、G=M=1 とおいた。 このとき、万有引力による加速度の x方向、y方向の成分が、 それぞれ -x/(r*r*r)、-y/(r*r*r) で与えられる。プログラム中 では r3=r*r*r と置いている。

  6. 最後から7行目から4行目までの部分で、時間きざみdtだけ時間が経過 したときの座標x、y、速度vx、vyが求められている。