優れた使いやすい高品質のオープンソースCFDソルバーはありますか?


17

私の論文は、燃焼のモデル削減のための数値的手法の開発です。私は燃焼シミュレーションの化学部分で純粋にメソッドを実行し、0-Dシミュレーション(フローなし)のケーススタディをたくさん持っています。私が望んでいるのは、フローを含むシミュレーション、できれば2次元または3次元シミュレーションを実行することです。

計算要件が高いため、これらのシミュレーションは並行する必要があります。また、ChemkinやCanteraなどの化学ソルバーとインターフェイスできるものが必要です。これにはソースコードがあります。(ChemkinはFortran 77にあり、CanteraはC ++にあります。)

理想的なケースでは、私のgradプログラムといくつかのCFDパッケージから得た流体力学の基本的な知識を使用してフローパターンを指定し、ケミストリーを追加して実行できます。必要に応じて、以前の共同研究者が使用した実験セットアップに基づいた単純なケーススタディのために、流体の動きと化学を支配する方程式を設定できますが、それを非常に簡単にするパッケージ。2〜3週間は喜んで使用します。この要件がPETScまたはTrilinosを除外するかどうかはわかりません。これ以上費やさなければならない場合は、ケーススタディ用のCFDコードを提供する共同作業者がいるので、後まで延期します。

CFDパッケージを使用したり、CFDコードを記述した経験がある人はいますか?私が使用したいと思うことの1つはStrang splittingですが、私はCFDやPDEの専門家ではありません。モデル縮小のための化学と数値的方法を研究しています。また、推奨ソフトウェアを使用して速度を上げるのにかかった時間についてコメントしてください。

@FrenchKheldarは、私が解決したい問題の特徴に言及するべきであるということを指摘しています。

  • 理想的な(完全な)ガス、単相
  • 圧縮性
  • 層流が不可欠です。乱流はプラスです。(CFDでの数値手法の以前の研究からの乱流については少し知っていますが、CFDソルバーの仕事はしていません。物理については少しだけ知っています。)
  • ゼロマッハ数の公式は大丈夫です(衝撃や超音速の流れは気にしません)
  • 燃焼化学、SoretおよびDufourフラックスを無視し、拡散をFickianとして扱う
  • ジオメトリは単純なものにすることができます

インターフェースコードを書くことはできますが、書く必要が少ないほど良いです。@FrenchKheldarは、CanteraにはFortranとPythonのバインディングがあることも指摘しています。私は現在、ラピッドプロトタイピングのためにCantera Pythonバインディングを使用しているので、それらにも満足しています。


CanteraにはpythonとFortranのラッパーがあるため、検索範囲が少し広がります。
FrenchKheldar

層流または乱流をモデル化しますか?圧縮性か非圧縮性か?完璧なガス?単相ですか?詳細を提供していただければ、より正確な答えが得られます。
FrenchKheldar

@FrenchKheldar:それを指摘してくれてありがとう。いくつかの詳細を追加しました。
ジェフオックスベリー

2
もう1つのコメント:音響や波動を気にしない場合、非圧縮ソルバーを使用できるべきではありませんか?それはあなたの可能性を広げます...
FrenchKheldar

言い替えさせてください:私はショックを気にしません。相は理想的な気体であり、圧力が変化すると理想的な気体の密度が変化するため、流れは圧縮可能でなければなりません。
ジェフオックスベリー

回答:


11

私はOpenFOAMのヘビーユーザーなので、当然お勧めします。燃焼モデル(必ずしも正確に必要とは限りませんが)を含む多くの機能備えており、他の人によってCanterraと一緒に使用されています。まだ実装されていない特定の方程式のソルバーが必要な場合は、文字通り方程式を書くことができます。ストランスプリットが何であるかはわかりませんが(私自身は燃焼に取り組んでいません)、他の人がOpenFOAMで使用しています

限られた量のチュートリアルがあります。ユーザーガイドに記載されているものには、化学は含まれていません。あなたが見ることができる反応ソルバーのためのいくつかのサンプルケースがあります。あなたの最善の策は、Chalmers のOS-CFD 卒業生コースのWebサイトをチェックすることです(リンクは2011年のものですが、過去のページへのリンクが含まれています)。そこの学生は、彼らが取り組んでいるソルバーを文書化することがよくあります

学習の努力について:事前定義されたモデルのいずれかを使用して取得する場合、使用するのはかなり簡単で、数週間以内に結果を得ることができるはずです。トップレベルの下に降りなければならない場合(たとえば、新しいODEソルバーを追加する場合)、物事は非常に速く難しくなる可能性があり、C ++を知っていただければ幸いです。


推薦してくれてありがとう!OpenFOAMについて良いことを聞いたことがありますが、今後使用したいと思います。あなたの経験では、APIを習得するのは簡単でしたか?できれば化学を使用して、OpenFOAMを使用する良いチュートリアルや例はありますか?
ジェフオックスベリー

私は私の答えを更新
AKID

1
すぐにC ++の学習を開始してください。:)ゴッドスピード。
tmaric

2

Clawpackの並列拡張であるPyClawを使用できます(注:私はPyClawのメイン開発者の1人です)。理想気体の非粘性オイラー方程式(圧縮性流れ)の2Dおよび3Dソルバーが含まれています。Strang splittingも組み込まれていますが、粘性項と化学の評価を自分で追加する必要があります。PyClawはPythonで記述されており、Fortran 77とCコードの両方がすでに含まれているため、ChemkinおよびCanteraとのインターフェースは簡単です。

PyClawは比較的新しいものですが(基礎となるClawpackコードはかなり古いものです)、OpenFOAMのようなものとして確立されていません。


ありがとう!私はそれを確認する必要がありますが、それに到達するのに時間がかかるかもしれません。使い始めたら、その方法をお知らせします。
ジェフオックスベリー

2

NISTのFire Dynamics Simulator(FDS)は、あなたが望むもののように聞こえます。FDSは、低マッハ数フローソルバーです。密度は変化する可能性がありますが、音響効果と衝撃は無視されます。

FDSはかなりよく文書化されていますが、メインのフローソルバールーチンを見ていないことは認めます。また、FDSが燃焼化学をどのように処理するかについてもあまり知りません。

FDSのGoogle Codeサイトから最新のコードをダウンロードすることをお勧めします。


0

あそこにはたくさんあります!

OpenFOAMは最高です、私見ですが、他のものはこのリンクにあります


リンクが破損する可能性があるため、「リンクのみ」の回答はしないでください。
1

私はそこに記載されているすべてのオプションを「私のもの」として提示したくありませんでした。技術的には、すべての内容をコピーして貼り付けることができますが、私はその人ではありません。だから、私は元の著者にクレジットを与えるためにリンクをまっすぐ置いた
T3rmInAt0r

1
わかった。しかし、たとえば、マンチェスター大学の計算流体力学と乱流力学の議長は、エンジニア向けのオープンソースソフトウェアのリストをまとめていると言えます。これを行うと、リンクが壊れている場合でも、仲間の訪問者はインターネットを検索できます。
1

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