中心重力による静水圧問題の妥当性確認

Issue #11 resolved
LWisteria created an issue

静水圧に関する妥当性確認を実施する

Comments (12)

  1. LWisteria reporter

    中心重力問題、検索してもぱっと出てこないが、つまり名前の通り、重力(≠万有引力)を中心(ほとんどは原点)方向にした時の問題のこと。 この状態の時、液体は初期状態がなんであれ、自由表面は円形で中心に向かっての静水状態に収束する。

    静水状態の検証試験をする時、多くの場合は水槽に入れるが、この場合、壁面という境界条件を扱わなければならず、流体ソルバー単体の検証には少し複雑過ぎる。 一方、中心重力問題では、壁面は必要がない。その代わり多くの場合(OpenMPSも含む)重力は座標軸に固定方向が前提とされているので、ソルバー側に若干の改変が必要。

  2. LWisteria reporter

    ソルバー側に若干の改変が必要

    pull request #42で修正済み。ビルド時にコンパイルスイッチCENTRAL_GRAVITYをつけてやると重力が中心方向にかかる。

  3. LWisteria reporter

    結果

    2f1313e.png

    水面の動揺が収まらない(運動量が保存されず増えている)→結果、水面動揺が回転運動に変換される(ブランコに乗っている人の屈伸と同じ理屈)→全体が高速回転し始める

    という状況であることが分かった。調べたところ原因はGC法にある模様。

  4. LWisteria reporter

    GC法を切った(pull request #43)結果、非物理的な動揺は収まった

    nogc.png

    真円率=1-(外接円半径-内接円半径)/理論半径を計算してみたが、こちらもほぼ100%で安定した

    roundness.png

  5. LWisteria reporter

    肝心の圧力について

    各粒子の圧力分布の時間変化(横軸は中心からの距離)を見ると、ほぼ理論通り(オレンジ線)になっている。

    particles_02000.csv.png

    ただし自由表面付近および中心付近で理論値より小さな値になってしまっており、実際に中心付近での時系列変化を見ると、理論値560[Pa]に対して540[Pa]と4%程度小さくなっている。 pressure.png

  6. LWisteria reporter

    解像度の問題と予想。

    空間解像度を大きく(つまりCFL条件により時間解像度も大きく)して再計算中

  7. LWisteria reporter

    圧力分布のばらつきについて。

    解像度を高くする低い時と比べて、理論圧力から離れている点がいくつか観察できる。

    どの粒子が理論圧力から離れているかを観察するために、理論圧力からの差を表したものが以下の通り。

    central_hr_dp.png

    このように、円の最密充填位置からずれるところだけが大きな誤差となっている。 最密充填位置は、粒子数密度にも誤差が生じてしまうため、これは原理的に避けることができない問題であり、実装の問題ではない。

    この特殊な位置にある例外を除けば、全ての粒子では理論通り出ていること、また、実用的には最大・最小値の方が問題であることから、十分な精度であると結論付ける。

  8. LWisteria reporter

    というわけで、中心重力問題による静水圧の妥当性確認はできた、ということでこのタスクは完了。

    GC法の問題は #15 で引き続きやる。

  9. Log in to comment