天体の運動
物体にかかる力が刻一刻と変化するような運動の例として、天体の運動を取り上げます。 画面の中心に固定された天体があり、その周りを衛星が周回します。
万有引力定数を 、中心の天体の質量を 、中心の天体と衛星の距離を とすると、衛星が中心の天体から受ける力による加速度は以下のように表されます。
これを用いて衛星の軌道をシミュレーションしてみます。
See the Pen コンピューティング2 5-7 by Yosuke Onoue (@likr) on CodePen.
多体問題
上のプログラムを複数の天体が重力で引き合うのように改変すると以下のようになります。
See the Pen コンピューティング2 5-9 by Yosuke Onoue (@likr) on CodePen.
クーロン力
荷電粒子(電荷を帯びた粒子)には クーロンの法則 に従う クーロン力 が働きます。 2 つの荷電粒子間に働くクーロン力は以下の式で表されます。
ここで は比例定数、 と はそれぞれの粒子の電荷、 は 2 粒子間の距離とします。 と が同じ符号であれば 2 粒子は反発し合い、異なる符号であれば 2 粒子は引き合います。
空間に複数の荷電粒子が存在するとしましょう。 番目の粒子は、他の全ての粒子からクーロン力の影響を受けます。 そのため速度 Verlet 法では、二重ループによって全粒子ペアの影響を計算する必要があります。
以下は 5 つの荷電粒子の運動のシミュレーションを行うプログラムです。 0 番目の粒子は-5 の電荷を、それ以外は+1 の電荷を持っています。
See the Pen コンピューティング2 5-10 by Yosuke Onoue (@likr) on CodePen.
正の電荷と負の電荷はお互いに引き合い、正の電荷同士は反発し合いながら運動します。