衝撃波の伝わり方をシミュレートするプログラムの説明
- Lax-Wendroff 法を呼ばれる古典的な手法で1次元衝撃波の
伝わりかたをシミュレートするプログラムである。
- メインプログラムから、初期条件の設定、計算を安定に
進めるための時間きざみの決定(minimum_dt)、各格子点での
値を1時間きざみ進める計算(Lax_Wendroff_1d)、境界(両端)
の値の設定などのモジュールを呼び出している。
- x[i] にはi番目の格子点の座標、dx[i]にはi番目とi+1
番目の格子点の間隔が格納される。ix は最大の格子点番号である。
- shock_tube_model ではi=0番からi=ix番までの各格子点
における初期の密度 ro[i]、運動量 rvx[i]、圧力 pr[i]が
設定される。x < 20 が高圧領域、x > 20 が低圧領域である。
両領域の密度比は5である。
- 指定された時間きざみ数 nstop の計算が終了すると、
シミュレーション結果は、密度、速度、圧力、それぞれ
別のファイルに格納される。
- artificial_viscosity は不連続面を人工的になまらせる
操作をするモジュールである。