我的论文是关于开发燃烧模型减少的数值方法。我纯粹在燃烧模拟的化学部分上运行我的方法,并且我有大量针对 0-D 模拟(无流动)的案例研究。我想要的是运行确实有流动的模拟,最好是 2-D 或 3-D 模拟。
由于计算要求高,这些模拟需要并行进行。我还需要可以与 Chemkin 或 Cantera 等化学求解器接口的东西,我有源代码。(Chemkin 使用 Fortran 77,Cantera 使用 C++。)
在理想情况下,我可以使用我从研究生课程和一些 CFD 包中获得的流体力学基本知识来指定流动模式,添加化学并运行它。如果必须,我可以根据前合作者使用的实验设置为简单的案例研究建立控制流体运动和化学的方程,但我非常不想滚动我自己的 CFD 代码,除非有一个或多个包,使它非常容易做到。我愿意花 2-3 周的时间在上面;我不知道这个要求是否排除了 PETSc 或 Trilinos。如果我不得不花更多的时间在上面,我宁愿把它推迟到以后,因为我有一个合作者也为案例研究提供 CFD 代码。
有没有人有使用 CFD 包或编写 CFD 代码的经验,如果有,你能推荐一个吗?我知道我想使用的一件事是 Strang 拆分,但我不是 CFD 或 PDE 专家;我研究模型简化的化学和数值方法。另外,请评论您使用您推荐的软件花了多长时间来加快速度。
@FrenchKheldar 提出了一个很好的观点,我应该提到我想解决的问题的特征:
- 理想(完美)气体,单相
- 可压缩
- 层流是必不可少的;湍流是一个优点。(我从以前的 CFD 数值方法工作中对湍流有所了解,但我没有研究过 CFD 求解器;我只对物理学了解一点。)
- 零马赫数公式是可以的(我不关心冲击或超音速流)
- 燃烧化学,忽略 Soret 和 Dufour 通量,并将扩散视为 Fickian
- 几何可以很简单
我可以写接口代码,虽然我写的越少越好;@FrenchKheldar 还指出 Cantera 具有 Fortran 和 Python 绑定。我现在使用 Cantera Python 绑定来进行快速原型设计,所以我也对这些感到满意。