OpenFoamとFiPy


8

私が取り組んでいるプロジェクトの有限ボリュームの自動化ソリューションパッケージを学習して利用する必要があり、それをこれら2つのパッケージに絞り込みました。両方のパッケージの経験があり、比較についてコメントできる人がいるかどうか疑問に思っていました。両方のパッケージの同様の目標を考えると、オンラインで比較する方法があまり見つからないことに少し驚いています。

私の感じでは、FiPyはPythonベースなので学習/実装が簡単ですが、OpenFoamは広く採用されているため、より堅牢で機能が豊富なのではないでしょうか。どちらのパッケージにも、非常に信頼できる組織があります。

回答:


3

私はFiPyを使用ず、OpenFOAMのみを使用しましたが、両方のホームページのいくつかのポイントは、シミュレーションしたいものに強く依存することを示唆していると思います。

OpenFOAMにはすでにいくつかのソルバーが実装されています(ほとんどの場合CFD、プロファイルには計算プラズマ物理が記載されているため、mhdFoamソルバーは必要なものであるか、少なくとも基本として機能します。ここではそのユーザーグループです)。他のFVM実現可能PDEを解決するために拡張できます。 、とにかくFiPyでは、とにかく最初から方程式を実装する必要があります。後者の場合、はい、PythonはC ++よりもはるかに快適です。少なくとも私にとっては。

OpenFOAMを使いやすくするいくつかのPythonコードがあります。PyFoamはケースのセットアップを支援し、pythonfluはPythonでソルバーを記述するラッパーです(テストされていませんが、どのように機能するかわかりません)。

私の経験から、OpenFOAMのケースを設定することはかなり面倒であると私はFiPyが実際にそれさえもはるかに労力が必要となるかどうかわからないので、あなたが最も可能性の高い、とにかくなどメッシュのセットアップを自動化するスクリプトを記述することになります場合は、あなたが1を使用しますOpenFOAMのすでに実装されているソルバーの。そして、そのスクリプトにPythonを使用することを選択した場合、FiPyとOpenFOAMの決定が100行未満のコードの違いになるように、ほとんどのコードを記述できると思います。特に事前に計画されている場合は、後で考えを変えるのが難しい。

もちろん、より重要な点は、最初のセットアップにかかる時間と、パフォーマンスのパフォーマンスです。どちらの比較も見つからなかったので、自分で比較する必要があります...

個人的には、以前にOpenFOAMを使用したことがなく、OpenFOAMがまだソルバーを提供していないシステムをシミュレートする必要がある場合、C ++よりもPythonを優先するため、最初にFiPyを試す可能性があります。しかし、前述のように、PyFoamと一緒に、2つを比較するためにかなり一般的なフレームワークを考え出すことができます... OpenFOAMのソルバーを使用できたとしても、おそらくそれを使用します。


補足:「公式」のOpenFOAM 2とは別に、OpenFOAM 1.6-extプロジェクトもあります。これは、多くのユーザーが投稿した機能を備えたコミュニティ主導のブランチです。一方、前者はOpenCFD Ltd
Tobias Kienzler

これはまさに私が探していた情報に基づく意見のタイプです、ありがとう。FiPyが私のニーズにより適しているように思えます。プラズマシミュレーションでは、多くの場合、より特注の方程式セットが必要になるため、mhdFoamのようなものでも、私にとってはそれほど魅力的ではありません。返信の乾杯
dmon

@dmonよろしくお願いします。前述のように、pythonfluは一見の価値があるかもしれません-多分あなたはPhD scanl̶acanv̶e̶studentにパフォーマンスを比較させることができます:-P
Tobias Kienzler 2013年

@dmonでは、どのようにうまくいったのでしょうか。
Tobias Kienzler 2014年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.