(自己)教育のための簡単なMHDシミュレーションコード


8

電磁流体力学の問題を解くための超単純な計算コードが欲しいのですが。高精度でもパフォーマンスでも問題ではありません。プラズマの定性的な振る舞いを視覚的に探求するだけではありません。私にとって重要なのは:

  • 一般性-MHDの特定のサブ問題に特化すべきではありません
  • 動作させるのは簡単 -インストールが難しいライブラリは必要ありません。入力はわかりやすく、いくつかの例で十分に文書化されています
  • 読みやすく、変更しやすい -コードを読んで、MHDソリューションについて学ぶことができます。このコードを独自のMHDコード開発の開始点として使用できます。

このNavier stokesソルバーと同じくらい簡単なものが最適です

python-numpyまたはjavaが最適ですが、C ++またはFortranは私にとって大きな問題ではありません。

今まで私は見つけました:

一部のライブラリ(MHD-Hermespython-mhd)はpythonにありますが、ドキュメントや使用例がないようです。

そして、これは 無料、高速、シンプル、そして効率的なTVD MHDコードで、frotranにありますが、400行しかありません

私は自分で何かを書くことを考えていましたが、同様のものがすでに利用可能であることを確認したいと思います。上のリンクからNavier-Stokesソルバーを取得し、FFTポアソンソルバー(またはParticle Mesh Ewald)によって電位と磁気ポテンシャルを導入するだけで、かなり簡単になると思います。


その小さなOpenMP Fortranコードは本当にすてきです。
stali 2013

1
「物事を安定させるために!」のようなコメントが付いているものを読むのが好きです。
Rhys Ulerich 2013


OpenFOAMを読んで変更するのは簡単ではありませんが、それは私が調査しなければならなかった部分がコードの奥深くに埋め込まれているためです。さらに、Wikipediaのページでさえ、OpenFOAMは十分に文書化されておらず、非常に緩やかな学習曲線を持っていると述べています。
Geoff Oxberry 2013

Randy LeVequeのCLAWPACKに基づくpyClawを試してください。
カイルカノス2013

回答:


3

次の3つをご覧ください。

  • Piernik MHDは、質問で言及したPen&Trac MHDから発展したコードです。現在はかなり成熟しており、開発はまだ活発です。最新のFortran 95/2003で記述されています。

  • Godunov MHDは、特に再接続イベントのシミュレーション用に設計されたMHDコードですが、簡単に変更して他の問題に適用できます。単一のマルチコアマシン(OpenMP)から多数のノードを持つクラスター(MPI)まで並列化できます。Fortran 90/95で記述されています。

  • python-mhd小さくてシンプルなMHDコードで、簡単に操作できます。PythonとCで書かれています。


よろしくお願いします。python-mhdについて:pythoなので、これは理想的です。元の質問でも触れました。しかし、サンプルの実行に問題があります(問題code.google.com/p/python-mhd/issues/detail?id=1を記述します)。フロントページにそれ以外のドキュメントや例は見つかりませんでした。
Prokop Hapala 2013

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.