HOME > natural science Laboratory > コンピュータ・シミュレーション講座 > 計算物理学

【物理シミュレーションに挑戦!】古典力学
様々な力による物理シミュレーション6:剛体棒で結合された結合力

文責:遠藤 理平 (2016年10月17日) カテゴリ:仮想物理実験室(268)計算物理学(127)

本項は物理学における様々な系の物理現象を、解析的に扱うのではなく数値計算による物理シミュレーションを実行するために必要な計算アルゴリズムを示すことを目的とします。 様々な初期条件に対する物理シミュレーションを実現するために、最も汎用的な直交座標系を用います。
様々な力による物理シミュレーション1:弾性力による運動
様々な力による物理シミュレーション2:万有引力による運動
様々な力による物理シミュレーション3:クーロン力による運動
様々な力による物理シミュレーション4:レナード・ジョーンズ相互作用による運動
様々な力による物理シミュレーション5:引力+衝突力
様々な力による物理シミュレーション6:剛体棒で結合された結合力
様々な力による物理シミュレーション7:任意の剛体棒で結合された結合力

剛体棒で結合された剛体球

これまでは2点間の距離に応じて生じる力に対する運動の計算アルゴリズムを導出し、シミュレーションを行いました。 本項は、2点間の距離が一定値に固定された2つの剛体球の運動をシミュレーションします。

質量0の伸び縮みのしない剛体棒で結合されている2つの剛体球の運動をシミュレーションするための計算アルゴリズムを導出します。2つの剛体球にはそれぞれ結合力が働いていると仮定します。

位置ベクトル、速度ベクトル、加速度ベクトルの条件

2つの剛体球の距離は一定に固定されているため、各々は自由に運動することができません。まず、2つの剛体球の運動が満たすべき関係式を導出します。元となる条件式は「2つの剛体球の距離が一定」

|\mathbf{R}_n-\mathbf{R}_m|=L_{nm}

です。この条件式を時間微分することで2つの剛体球の運動に関する条件式を導出することができます。条件式を内積の形

(\mathbf{R}_n-\mathbf{R}_m)\cdot (\mathbf{R}_n-\mathbf{R}_m)=L_{nm}^2

と表しておいて両辺を時刻tで微分します。

(\mathbf{v}_n-\mathbf{v}_m)\cdot (\mathbf{R}_n-\mathbf{R}_m)=0

これは、速度ベクトルと位置ベクトルが満たすべき関係式です。相対位置ベクトルと相対速度ベクトルは垂直であることを意味しています。さらに時刻tで微分します。

(\mathbf{a}_n-\mathbf{a}_m)\cdot (\mathbf{R}_n-\mathbf{R}_m) + |\mathbf{v}_n-\mathbf{v}_m|^2=0

これは加速度ベクトルと速度ベクトル、位置ベクトルが満たすべき関係式です。このように、元の結合条件を時刻で微分することで運動に関する様々な量の関係式を導くことができます。

ニュートンの運動方程式

両剛体球ともニュートンの運動方程式を満たします。

M_n\,\frac{d^2 \mathbf{R}_{n} }{dt^2} =\mathbf{f}_{nm}+\mathbf{F}_{n}

M_m\,\frac{d^2 \mathbf{R}_{m} }{dt^2} =\mathbf{f}_{mn}+\mathbf{F}_{m}

\mathbf{f}_{nm}\mathbf{f}_{mn} は結合力を表し、

\mathbf{f}_{nm}=f_{nm}\,\hat{\mathbf{n}}_{nm}

\hat{\mathbf{n}}_{n,m} \equiv  \frac{ \mathbf{R}_n- \mathbf{R}_m }{|\mathbf{R}_n- \mathbf{R}_m|}

と表すとします。このように定義することで係数は同符号( f_{nm}=f_{mn} )、向きは反対( \mathbf{f}_{mn}=-\mathbf{f}_{nm} )の結合力を表現できます。また、 \mathbf{F}_{n}\mathbf{F}_{m} は外部から加えられる力を表すとします。この時点では結合力は未知の力です。

2剛体球間の結合力の導出

既知の位置ベクトル、速度ベクトルから未知の結合力を導出します。方針は、運動方程式と条件式を用いて加速度ベクトルを消すことで結合力に関する方程式を導出します。2つの運動方程式の片々を引き算すると、加速度ベクトルを \mathbf{a}_{n}, \mathbf{a}_{m} として

(\mathbf{a}_{n} - \mathbf{a}_{m})\cdot (\mathbf{R}_n-\mathbf{R}_m)  = \left( \frac{\mathbf{f}_{nm}}{M_n} -\frac{\mathbf{f}_{mn}}{M_m} +\frac{\mathbf{F}_{n}}{{M_n}} - \frac{\mathbf{F}_{m}}{{M_m}}\right)\cdot (\mathbf{R}_n-\mathbf{R}_m)

となります。この表式と先の条件式から結合力の大きさを決定することができます。

f_{nm} = -\frac{ 1 }{L_{nm}}\,\frac{ M_nM_m }{M_n+M_m} \left[ |\mathbf{v}_n-\mathbf{v}_m|^2 +\left(\frac{\mathbf{F}_{n}}{{M_n}}- \frac{\mathbf{F}_{m}}{{M_m}}\right)\cdot (\mathbf{R}_n-\mathbf{R}_m) \right]

結合された剛体球の運動をシミュレーション


物理シミュレーションについては「HTML5による物理シミュレーション」を参照ください。 数式の表示は「Tex表記によるHTML文書への式の埋め込み」をご覧ください。



▲このページのトップNPO法人 natural science トップ

関連記事

仮想物理実験室







計算物理学







▲このページのトップNPO法人 natural science トップ