kelie

导航

稳态与瞬态的区别

稳态与瞬态的区别主要体现在控制方程是否存在时间项上。换句话说,其区别在于计算结果是否是与时间相关。但是我们观察现实生活,似乎找不到什么现象是与时间无关的。于是我们可以这样理解:稳态是一种近似。还是不太好理解,我们来举个例子。假设雨滴从高空落下,其阻力与运动速度的平方成正比,比例系数为1。雨滴质量为1,重力加速度为g,假设雨滴运动初速度为0,则依据牛顿定律很容易得出当阻力与重力平衡时,该雨滴将获得最大速度。学过物理的人都知道在0.32s时雨滴达到最大速度3.13m/s,阻力9.8与重力平衡后其将保持匀速运动。好了,我们可以将运动状态分为两部分,以t=0.32s为界,在此之前,运动速度与时间有关,在此之后,运动速度与时间无关。因此若要了解前0.32s内的运动速度变化规律,则必须使用瞬态,而要知道0.32s之后的状态,则利用稳态或瞬态均可。
上面的例子当然很简陋,现实中的问题很复杂,很多时候没办法估计稳定状态的临界时间,而且有一些问题是根本没办法达到稳定的。但是这个例子至少说明了一点:稳态其实是一种特殊的瞬态。也就是说,稳态计算完全可以用瞬态计算来替代。那么为什么还会存在稳态计算呢?主要原因在于存在一些从数学上分析一定能够达到稳定状态的模型(如密闭空间中的扩散过程、稳定入口的管流等等),再加上稳态模拟开销要小于瞬态计算。
稳态计算与初始值无关,很多CFD软件在稳态计算时要求进行初始化,这只是用于迭代计算,理论上是不会影响到最终的结果,但是不好的初始会值会影响到收敛过程。而瞬态计算则不同,其计算结果与初始状态紧密相关。还是上面的例子,若雨滴的初始速度不是0的话,则稳定时间会发生改变,稳定之前的速度值也会不同。所以在瞬态计算时,初始条件与边界条件一样重要,会影响计算结果的正确性。在瞬态计算的时候,常常使用稳态计算结果作初始值。
稳态计算中计算参数较少,只有一个迭代参数需要设置。FLUENT中计算终止标准有两个:(1)计算达到收敛(2)达到指定的迭代次数。当达到迭代次数未收敛时,可以继续计算。
瞬态计算中常涉及的几个计算参数:时间步数,时间步长、模拟时间、子步迭代数。
其中:模拟时间=时间步数*时间步长。这里的时间是真实时间。子步迭代数指的是一个子步内进行迭代的次数,该概念与稳态迭代次数相同。因此我们可以将每一个子步看作是一个稳态迭代过程,收敛判据与稳态计算相同,亦要求在每一时间步内达到收敛。
在使用瞬态模拟时还有个参数:库朗数。这是个无量纲数,是用于在计算时控制时间步长。其值主要由两个量控制:网格尺寸及用户设定的时间步长。库朗数的值与网格尺寸成反比,与时间步长成正比。因此有些需要配合库朗数的算法计算时出现库朗数大于250时,可以考虑减小时间步长,也可以考虑增大网格,但由于在求解器中增大网格比较困难,一般都是减小时间步长。(这里可以使用网格自适应来改变网格)。
在瞬态计算设置时间步时,还需要考虑的是时间点的问题。仿真者要确保能够输出所感兴趣的时间点的数据。比如说,用户感兴趣的时间点为0.1s,0.2s,0.3s,0.4s,则输入的时间步长若为0.15s,则只能输出0.3s的数据,若输入的时间步长为0.2s,则只能输出0.2,0.4s的数据。所以在设计时间步长是需要额外考虑这些问题。

posted on 2014-02-27 15:39  kelie  阅读(24280)  评论(0编辑  收藏  举报