計算結果を補正するための仮想ポテンシャルです。磁気単極子に対して非物理的な力が働いて計算結果を壊してしまいます。拡散・減衰度合いを調整するパラメーターです。隣接するセル境界での一次元リーマン問題を考える近似リーマン解法を使っています。シミュレーションでは非常によく使われています。本稿執筆(2019年)時点では業界標準と言って良いでしょう。コードの計算精度は時間・空間ともに2次精度です。補間して2次の空間精度を達成しています。その参考文献を参照してください。使い方は以下の通りです。ファイルをダウンロードしてください。コマンドで展開します。openmhd-20191227.tar.gzしかるべきディレクトリに移動します。ディレクトリに移動してみましょう。コンパイラを指定します。コンパイラを指定するだけで良いでしょう。コマンドでプログラムをコンパイルします。makeデフォルトでは、シリアル版と並列版の両方をコンパイルします。中身を参照してください。実行ファイルができているはずです。次にプログラムを走らせてみましょう。シリアル版の場合は、コマンドラインで直接実行ファイルを指定します。コマンドを使って並列プログラムを走らせます。この数字はプログラム内部で指定する並列数と一致している必要があります。ディレクトリに結果が出力されています。field-00034.datこれらのデータを見てみましょう。可視化ルーチンを用意しています。2通りの解析・可視化方法に対応しています。使うことをお勧めします。形式のプロンプトが表れます。[1]:次にサンプルスクリプト(plot.py)を実行してみます。