时间步长值对瞬态 CFD 仿真准确性的重要性

计算科学 流体动力学
2021-11-27 10:02:43

概述

我的理解是应该使用时间步长Δt<hv(其中 h - 最小网格元素,v - 速度)以获得准确的结果。

但这对于模拟的准确性到底有多重要?它与拥有独立网格一样重要吗?

甚至有时间步独立解决方案这样的东西吗?可以很小Δt实际上对解决方案的准确性不利吗?

我正在运行计算优化,其中速度很重要。我有多少理由使用Δt>hv?

另外,我正在运行瞬态模拟,其中v从零变化到 60 m/s。我应该把它设置为最小吗Δt0.0007s(我不能动态改变Δt)?。

问题详情

我正在使用 Euler-Euler 模型(在 Fluent™ 中)来模拟流化床中的粒子-空气相互作用。

3个回答

这取决于您的问题和您的 ODE 求解器/时间离散化。如果您有一个双曲 PDE 并想用显式方法求解它,那么您需要时间步长限制(称为 Courant-Friedrichs-Lewy/CFL 条件),否则您的数值解通常会振荡并可能增长到±.

另一方面,如果您有抛物线问题和隐式时间离散化,则不需要限制。

您必须详细说明您的问题,以便我们能够给出更详细的答案。

有两个因素会受到时间步长大小和方案选择的影响:准确性和稳定性。

准确性通常由方案的“局部误差”或“一致性误差”来衡量。您希望选择您的时间步长,以使该误差与空间离散化的可比较误差相平衡。这将是准确性的良好平衡。

不幸的是,大多数时间步长方案也会改变系统的动态,这通常包含在术语稳定性下。这个问题超出了明确或隐含的范围。这是双向的:如果你使用错误的方法和大的时间步长,一个完全稳定的解决方案可能会转化为爆炸。反之亦然:如果您使用的方法过于稳定、湍流、静止的流动可能会变成蜂蜜。我知道模拟中,每 100 个 Crank-Nicolson 步长一个后向 Euler 步长会使振荡解静止。

用于对时间步长方案的动态进行分类的术语是 A-、L- 和 B-稳定性。据我所知,只有 Crank-Nicolson 方案和 Gauss-collocation 方法保留了基本动力学,但即使对于那些,如果您的时间步长太大,您的解决方案的某些特征可能会以非物理方式被放大或抑制。

如果您希望能够预测这些影响,您必须了解您的方案。否则,您会被测试示例卡住,或者用至少两个时间步长计算所有内容

这真的很重要!如果没有合适的时间步长,就无法实现网格独立。

使用我的个人经验:我使用 FEM 研究流固耦合的 CFD。我试图进行网格独立性研究,以确保网格不会影响我的模拟的准确性。但是,当我细化网格时,模拟结果甚至会进一步发散。最后,我发现我忘了相应地调整我的时间步长。

减小元素大小时,建议相应减小时间步长。否则,您可能会遇到麻烦。

另外,如果你有时间和计算资源,你可以运行一些测试用例来看看Δt影响您的具体情况,我认为这应该是最可靠的方法。