作为大学的作业,我做了一个一维模拟。问题陈述是解决涉及可压缩理想气体作为工作流体的一维激波管问题。对于这个问题,我使用 Roe 的 Riemann 求解器求解了欧拉方程组。我想知道,要求解 2 维或 3 维的欧拉方程,我应该从哪里开始?我应该首先考虑哪个测试问题?(请不要建议商业求解器。我想编写自己的代码)只是我在编写自己的代码时需要一些帮助。
以最实用的方式引入二维问题的好资源是什么?
作为大学的作业,我做了一个一维模拟。问题陈述是解决涉及可压缩理想气体作为工作流体的一维激波管问题。对于这个问题,我使用 Roe 的 Riemann 求解器求解了欧拉方程组。我想知道,要求解 2 维或 3 维的欧拉方程,我应该从哪里开始?我应该首先考虑哪个测试问题?(请不要建议商业求解器。我想编写自己的代码)只是我在编写自己的代码时需要一些帮助。
以最实用的方式引入二维问题的好资源是什么?
正如 David Ketcheson 所说,LeVeque 的书是一个很好的资源。但是,它自然会关注 CLAWPACK 中使用的黎曼求解方法。这些方法的替代方案是非振荡中心方案(例如Kurganov 和 Tadmor的方案),它们易于实现并自然地扩展到 2-D 或 3-D(而不是使用维度拆分)。http://www.cscamm.umd.edu/centpack/上有开源代码和大量论文资源。
Liska & Wendroff的一篇论文(SIAM Journal on Scientific Computing 25(3), 2003, 995-1017)比较了一维和二维欧拉方程的各种方案(黎曼求解和中心),并具有可能有用的测试问题的数量。
是的,二维问题或多或少变成了解决 X 方向的一维问题,然后是 Y 方向的一维问题。数据结构稍微复杂一些,需要调整 Roe 矩阵以适应第二方向的特征投影,并且还必须修改 CFL 条件。
Clawpack,特别是 Clawpack 的 2D 示例 (http://depts.washington.edu/clawpack/users-4.6/claw/doc/gallery/gallery_2d.html) 如果您想查看其他人的代码,可能对您有用.