Phunにおける擬似遠心力と水面の形
Phunで,回転する円筒容器に入った水の水面が放物面になるのをシミュレートできないかと思った。2次元シミュレータではちょっとムリ? そこで擬似遠心力をつくってみた。

遠心力は,物体の質量m,回転半径r,回転の角速度\omegaとして,

F(r)=mr\omega^2

であるから,回転半径に比例する。
距離に比例し,なおかつ軸対称な力などPhunでは用意されていない。そこで,逆2乗引力を用いて,近似的に距離に比例するような擬似遠心力をつくってみた。

質量に対して逆2乗引力をもつ円を,回転円筒から遠く離して,軸に平行に多数並べる。
無限個数を並べた場合,座標zにある長さdzの部分が,(r,0)にある質点に及ぼす力のr方向成分を

dF = \frac{k}{r^2+z^2}\cdot\frac{r}{\sqrt{r^2+z^2}}dz

と書けば,

F = 2k\int_0^\infty\frac{rdz}{(r^2+z^2)^{\frac{3}{2}}} = \frac{2k}{r}

となる。この距離に反比例する力は,「平面」でも設定できるが,残念ながら平面はPhun実行時に動かすことができないので,円を鉛直にたくさん並べるという苦肉の策をとった。さて,これらの円列を円筒から遠く離して,左右に立てるのである。円列が重力を受けないように重力を消し,かわりに下方に離した水平面に距離に反比例する引力を担わせた(水だけに働く)。十分離せば小さな円筒内では近似的に一様とすることができる。
円列の回転軸からの距離をLとすると,回転半径rにおいて質点が受ける力は,

f = \frac{2k}{L-r} - \frac{2k}{L+r} = \frac{4kr}{L^2-r^2} \simeq \frac{4k}{L^2}r \qquad (r<<L)

となり,回転半径に比例する擬似遠心力ができる。円列を相互の引力によってしだいに円筒に近づけ,徐々に回転数を上げたかのようなシミュレーションに仕立ててみた。
グラフは,円列の中の円をひとつ選んで,その運動エネルギーの変化を追跡するものである。模擬的に,回転数の増加を示すグラフのつもりで挿入した。Algodooでのみ表示される。

Algodoo シーン
(Phunでは条件を調整する必要がある。Algodooでは「水」の物性が改良されたためだろう。)

タグ:

+ タグ編集
  • タグ:
最終更新:2009年10月06日 19:33