要说明白CFD计算中的人工粘性,便没有办法绕开其他几个概念,他们分别是:
截断误差
舍入误差
修正方程
先说舍入误差(它最好理解):
计算机因为数位的限制,在求解方程的每一步过程中都会对精确的结果进行一定程度的四舍五入,久而久之,积年累月,最终累计出来的误差便是舍入误差。
舍入误差外传:
舍入误差是有可能随着计算过程中每一步的迭代而逐渐增大的。(仅针对显示差分情形!显示差分情形!显示差分情形!)。也就是说在显示差分格式时,若想让求解过程稳定,即舍入误差不会不停的增大,就必须满足一定的条件(比如时间步长与空间步长不能太长等)。不同形式的方程有不同形式的条件,较为知名的限制条件为CFL条件(柯朗数),即柯朗数必须小于1,最多=1.
再说离散误差(因为它最直观):
考虑一维热传导方程
一维热传导方程典型形式(方程1)
CFD就得离散。我们对空间进行中间差分,对时间进行一阶的向前差分。得到:
离散后的一维热传导方程(方程2)
先别管误差在哪儿,方程1和方程2的精确解(无舍入误差)是不一样的,两个精确解之间的误差由于离散导致,该误差称之为离散误差。离散误差+舍入误差=计算总误差。
修正方程:
考虑一维波动方程:
方程(3)
离散了它(时间一阶向前,空间一阶向后),得到
方程(4)
对方程(4)进行泰勒展开,求导,再加加减减,变换了个样子
方程(5)