有没有一个好的,易于使用的高质量开源CFD求解器?


17

我的论文是研究燃烧模型简化的数值方法。我的方法纯粹是在燃烧模拟的化学部分上运行的,并且我有大量的0D模拟案例研究(无流量)。我想要的是运行确实包含模拟的模拟,最好是2-D或3-D模拟。

由于计算量大,因此这些仿真需要并行进行。我还需要一些可以与化学求解器(例如Chemkin或Cantera)交互的东西,我已经有了它们的源代码。(Chemkin在Fortran 77中,而Cantera在C ++中。)

在理想情况下,我可以使用我在grad程序和一些CFD软件包中获得的流体力学基础知识来指定一种流动模式,添加化学成分并运行它。如果需要的话,我可以根据前合作者使用的实验设置,为简单的案例研究建立控制流体运动和化学反应的方程式,但是我非常希望不要滚动自己的CFD代码,除非有一个或多个非常容易实现的软件包。我愿意花2-3周的时间;我不知道此要求是否排除了PETSc或Trilinos。如果我不得不花更多的时间,我宁愿推迟到以后再做,因为我有一个合作者也提供CFD代码用于案例研究。

有没有人有使用CFD软件包或编写CFD代码的经验,如果有,您可以推荐一个吗?我知道我想使用的一件事是Strang拆分,但是我不是CFD或PDE专家。我研究化学和模型还原的数值方法。另外,请评论您使用推荐的软件花了多长时间才能上手。

@FrenchKheldar很好地指出了我要解决的问题的特征:

  • 理想(完美)气体,单相
  • 可压缩
  • 层流必不可少;湍流优先。(我从CFD数值方法的先前工作中了解了一些湍流,但是我还没有从事CFD求解器的工作;我只对物理学有一点了解。)
  • 零马赫数公式是可以的(我不在乎冲击或超音速流动)
  • 燃烧化学,忽略Soret和Dufour的通量,并将扩散视为Fickian
  • 几何可以很简单

我可以编写接口代码,尽管我写的越少越好。@FrenchKheldar还指出Cantera具有Fortran和Python绑定。我现在使用Cantera Python绑定进行快速原型制作,因此我也对这些感到满意。


Cantera具有适用于python和Fortran的包装器,因此可以扩大搜索范围。
FrenchKheldar 2011年

您要模拟层流还是湍流?可压缩还是不可压缩?完美的气体?单相?您可以提供给我们的详细信息越多,答案就越精确。
FrenchKheldar 2011年

@FrenchKheldar:感谢您指出这一点。我添加了一些细节。
Geoff Oxberry

2
另一则评论:如果您不关心声学或波动,是否不应该使用不可压缩的求解器?这将扩大您的可能性...
FrenchKheldar 2011年

我再说一遍:我不在乎震惊。由于该相是理想气体,并且当压力变化时理想气体的密度也会发生变化,因此流量应该是可压缩的。
Geoff Oxberry

Answers:


11

我是OpenFOAM的重度用户,因此自然推荐它。它具有大量功能,包括燃烧模型(尽管不一定精确地满足您的需求),并且已与Canterra一起被其他人使用。如果您需要尚未实现的特定方程的求解器,则可以按字面意义编写方程。我不知道什么是扼流圈分裂(我自己不从事燃烧工作),但是其他人在OpenFOAM中使用了它。

教程数量有限。用户指南中记录的化学物质不包含在内。您可以查看一些用于反应求解器的示例案例。最好的选择是访问 Chalmers 的OS-CFD 研究生课程网站(链接为2011年,但包含指向前几年页面的链接)。那里的学生经常记录他们正在研究的求解器,例如在这里

关于学习它的努力:如果您使用一种预定义的模型,则使用起来非常简单,并且应该可以在几周内得到结果。如果您必须降到顶层以下(例如,添加一个新的ODE求解器),事情会变得非常困难,并且您会了解C ++的。


谢谢你的推荐!我听说过有关OpenFOAM的好消息,我希望将来使用它。以您的经验,学习该API容易吗?是否有使用OpenFOAM的优秀教程或示例,最好是结合化学使用的?
Geoff Oxberry

我更新了我的答案
AKID

1
马上开始学习C ++。:) Godspeed。
tmaric 2011年

2

你可以使用PyClaw的平行延伸Clawpack(注:我的PyClaw的主要开发者之一)。它包括2D和3D解算器,用于求解理想气体的无粘性Euler方程(可压缩流量)。它还内置了Strang拆分,但是您需要自己添加对粘性项和化学性质的评估。与Chemkin和Cantera的接口应该很简单,因为PyClaw是用Python编写的,并且已经包括Fortran 77和C代码。

PyClaw是相对较新的(尽管底层的Clawpack代码相当老),因此不像OpenFOAM这样的东西就已经确立了。


谢谢!我必须检查一下,尽管可能要花一些时间才能完成。当我开始使用它时,我会告诉您它的进展情况。
Geoff Oxberry

2

NIST的Fire Dynamics Simulator(FDS)听起来像您想要的。FDS是低马赫数流量求解器。密度可以改变,但是可以忽略声学效果和震动。

FDS的文档相当齐全,但是,我承认我没有查看主流的求解器例程。我也不太了解FDS如何处理燃烧化学。

我建议从FDS的Google Code网站下载最新的代码。


0

那边有很多!

恕我直言,OpenFOAM是最好的,但是其他人在此链接上


请不要给出“仅链接”答案,因为链接可能会断开。
2013

我不想将其中提到的所有选项都表示为“我的”。从技术上讲,我可以复制并粘贴所有内容,但我不是那个人。因此,我直接将链接
引荐

1
好的。但是,你可以,例如说,在英国曼彻斯特大学的椅子计算流体力学和湍流力学编制了名单的开源软件工程师。如果您这样做,在链接断开的情况下,其他访问者仍然可以搜索Internet。
1

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.