2D HD Test: Rayleigh Taylor Instability
レイリー・テイラー不安定性問題。重力場において、密度の高い流体が密度の低い流体の上にあるときに発生する不安定性です。
Location
demo/hd2d_rayleigh_taylor/
Geometry
\(-0.25 \leq x \leq 0.25\)
\(-0.5 \leq y \leq 0.5\).
Force
負の\(y\)方向に一定の重力を加えます。重力加速度は\(g=0.1\)に設定します。
\[
\frac{\partial \rho v_y}{\partial t} = [...] - \rho g
\]
Initial Conditions
初期条件は、\(y=0.0\)で分離された上側と下側の状態で記述されます。上側領域(\(y \geq 0\))では密度\(\rho = 2\)、下側領域(\(y < 0\))では密度\(\rho =1\)です。圧力は\(p =p_0 - \rho g y\)とします。比熱比は\(\gamma = 1.4\)とします。
Boundary Conditions
\(x\)方向に周期境界条件を、\(y\)方向に対しては全ての物理量に対して対称境界条件を設定します。
ただし、\(V_y\)のみ\(y=\pm0.5\)で反対称に設定しています。
config.yamlにおいて、\(x\)方向の周期境界条件フラグをtrueに設定すると、対称境界条件が機能しなくなることに注意してください。
domain:
periodic:
x: true # when this flag is true, the symmetric boundary condition does not work
Results
可視化用のPythonスクリプトが用意されています。
結果のプロットは demo/hd2d_rayleigh_taylor/figs に保存されます。
cd demo/hd2d_rayleigh_taylor
python plot_data.py

3D Version
3次元への拡張は、設定ファイルconfig.yamlでk_sizeを1より大きく設定するだけで実現できます。
# config.yaml
grid:
i_size: 512
j_size: 512
k_size: 512 # change from 1 to 512