実行例¶
シミュレーションの実行には,MPI実行環境を用いて,
1 |
|
のようにする.ここで${NP}
は実行プロセス数,${input}
は入力ファイル名である.ただし,実行環境によっては,mpirun
コマンド名やそのオプションの与え方が異なる場合がある.
./example/input.inf
に2x2=4並列の均質媒質中の3次元シミュレーションのパラメタファイルの例がある.これをそのまま実行するには,
1 |
|
プログラムが正常に実行されると,以下のような画面出力が現れる.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
|
(この結果は example/example.out
に格納されている)
実行開始時にはメモリ使用量や安定条件(CFL条件から取りうる最大の時間刻みと利用した時間刻みとの比)や波長条件(最小波長と空間刻みとの比)などを表示する.
安定条件は であることが必須であり,かつ波長条件 が推奨される.特に,安定条件が満たされない場合には計算は実行されず異常終了する.計算の実行中は,パラメタファイルで指定したタイミングで,定期的に1ステップあたりの計算所要時間・予想残り計算時間・現時点での最大速度振幅をそれぞれ表示する.出力結果のうち,計算時間に関する表示は環境によって異なる.計算が正常に実行できていれば,最大振幅(最後の ()
内の3つの数字)は,同じ結果になるはずだ.
なお,上記の3次元のシミュレーションには約14GBのメモリを必要とする.メモリ不足によりテスト実行が困難な場合は,おなじ入力ファイルをつかって断面における2次元P-SV波シミュレーションを以下のように実施できる:
1 |
|
同じパラメタファイルを使っても,2次元計算の場合は並列数(-np
オプション)が異なることに注意されたい.
この場合の出力は以下のようになる.結果の見かたは3次元コードとほとんど同じで,最大振幅が3成分から2成分に変わっただけだ.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
|
計算速度は環境に依存するが,一般に3次元計算より2次元計算のほうがはるかに計算時間が短い.
なお,計算終了後に
1 |
|