《计算流体力学课件》由会员分享,可在线阅读,更多相关《计算流体力学课件(112页珍藏版)》请在金锄头文库上搜索。
1、 计算流体力学计算流体力学CFD(2)离散化的基本方法离散化的基本方法引言引言引言引言理论上,根据理论上,根据偏微分方程的偏微分方程的解能得到流场解能得到流场中任意点上流中任意点上流场变量的值。场变量的值。离散网格点离散网格点引言引言实际上,我们实际上,我们采用代数差分采用代数差分的方式将偏微的方式将偏微分方程组转化分方程组转化为代数方程组。为代数方程组。离散网格点离散网格点引言引言通过求解代数通过求解代数方程组获得流方程组获得流场中离散网格场中离散网格节点上的变量节点上的变量值。值。离散网格点离散网格点引言引言从而,使得原从而,使得原来的偏微分方来的偏微分方程组被程组被“离散离散化化”了。了
2、。离散网格点离散网格点引言引言有限差分基础有限差分基础有限差分基础有限差分基础离散网格点离散网格点泰勒级数展开:泰勒级数展开:有限差分基础有限差分基础泰勒级数展开:泰勒级数展开:差分表达式差分表达式截断误差截断误差有限差分基础有限差分基础一阶向前差分:一阶向前差分:上述差分表达式用到了上述差分表达式用到了(i,j)点及其右边点及其右边(i+1,j)点的点的信息,没有左边信息,没有左边(i-1,j)点的信息,且精度为一阶点的信息,且精度为一阶有限差分基础有限差分基础离散网格点离散网格点泰勒级数展开:泰勒级数展开:有限差分基础有限差分基础泰勒级数展开:泰勒级数展开:有限差分基础有限差分基础一阶向后
3、差分:一阶向后差分:上述差分表达式用到了上述差分表达式用到了(i,j)点及其左边点及其左边(i-1,j)点的点的信息,没有右边信息,没有右边(i+1,j)点的信息,且精度为一阶点的信息,且精度为一阶有限差分基础有限差分基础两式相减得:两式相减得:有限差分基础有限差分基础得:得:有限差分基础有限差分基础二阶中心差分:二阶中心差分:上述差分表达式用到了左边上述差分表达式用到了左边(i-1,j)点及右边点及右边(i+1,j)点的信息,点的信息, (i,j)点位于它们中间,且精度为二阶点位于它们中间,且精度为二阶有限差分基础有限差分基础Y方向的差分表达式:方向的差分表达式:有限差分基础有限差分基础两式
4、相加得:两式相加得:有限差分基础有限差分基础得:得:二阶中心差分(关于二阶导数)二阶中心差分(关于二阶导数)有限差分基础有限差分基础对对Y方向的二阶导数有:方向的二阶导数有:二阶中心差分(关于二阶中心差分(关于Y方向二阶导数)方向二阶导数)有限差分基础有限差分基础下面求二阶混合偏导数下面求二阶混合偏导数上式对上式对y求导得:求导得:有限差分基础有限差分基础下面求二阶混合偏导数下面求二阶混合偏导数上式对上式对y求导得:求导得:有限差分基础有限差分基础下面求二阶混合偏导数下面求二阶混合偏导数两式相减得:两式相减得:6有限差分基础有限差分基础下面求二阶混合偏导数下面求二阶混合偏导数6有限差分基础有限
5、差分基础二阶混合偏导数的二阶精度中心差分二阶混合偏导数的二阶精度中心差分有限差分基础有限差分基础有限差分基础有限差分基础有限差分基础有限差分基础有限差分基础有限差分基础有限差分基础有限差分基础有限差分基础有限差分基础有限差分基础有限差分基础有限差分基础有限差分基础有限差分基础有限差分基础有限差分基础有限差分基础二阶偏导数,四阶精度中心差分二阶偏导数,四阶精度中心差分高阶精度的差分需要更多的网格点,所以计算中的每一高阶精度的差分需要更多的网格点,所以计算中的每一个时间步或空间步都需要更多的计算机时间。个时间步或空间步都需要更多的计算机时间。有限差分基础有限差分基础在边界上怎样构造差分在边界上怎样
6、构造差分近似?近似?边界网格点边界网格点有限差分基础有限差分基础向前差分,只有一阶精度。向前差分,只有一阶精度。边界网格点边界网格点有限差分基础有限差分基础在边界上如何得到二阶在边界上如何得到二阶精度的有限差分呢?精度的有限差分呢?边界网格点边界网格点有限差分基础有限差分基础不同于前面的泰勒级数不同于前面的泰勒级数分析,下面采用多项式分析,下面采用多项式来分析。来分析。边界网格点边界网格点有限差分基础有限差分基础设设边界网格点边界网格点在网格点在网格点1,在网格点在网格点2,在网格点在网格点3,有限差分基础有限差分基础边界网格点边界网格点得得有限差分基础有限差分基础边界网格点边界网格点对对y求
7、导得:求导得:在边界点在边界点1,有限差分基础有限差分基础边界网格点边界网格点得:得:有限差分基础有限差分基础边界网格点边界网格点根据根据知知为三阶精度为三阶精度有限差分基础有限差分基础边界网格点边界网格点故故为两阶精度为两阶精度为三阶精度为三阶精度有限差分基础有限差分基础边界网格点边界网格点为单侧差分为单侧差分差分方程差分方程差分方程差分方程对一个给定的偏微分方程,如果将其中所有的偏导对一个给定的偏微分方程,如果将其中所有的偏导数都用有限差分来代替,所得到的代数方程叫做差数都用有限差分来代替,所得到的代数方程叫做差分方程,它是偏微分方程的代数表示。分方程,它是偏微分方程的代数表示。差分方程差
8、分方程考虑非定常一维考虑非定常一维热传导方程:热传导方程:差分方程差分方程差分方程差分方程差分方程差分方程差分方程差分方程偏微分方程:偏微分方程:差分方程:差分方程:截断误差:截断误差:差分方程差分方程差分方程是一个代数方差分方程是一个代数方程,如果在右图所示区程,如果在右图所示区域内所有网格点上都列域内所有网格点上都列出差分方程,就得到一出差分方程,就得到一个联立的代数方程组。个联立的代数方程组。差分方程差分方程当网格点的数量趋于无当网格点的数量趋于无穷多,也就是穷多,也就是时,差分方程能否还原时,差分方程能否还原为原来的微分方程呢?为原来的微分方程呢?差分方程差分方程截断误差:截断误差:截
9、断误差趋于零,从而差分方程确实趋近于原微截断误差趋于零,从而差分方程确实趋近于原微分方程。分方程。差分方程差分方程从而差分方程确实趋近于原微分方程,从而差分方程确实趋近于原微分方程,如果,如果,截断误差趋于零,截断误差趋于零,此时我们说偏微分方程的这个有限差分表示是相此时我们说偏微分方程的这个有限差分表示是相容的。容的。差分方程差分方程原微分方程与相应的差分方程之间的区别原微分方程与相应的差分方程之间的区别截断误差:截断误差:差分方程差分方程原微分方程的解析解与差分方程的解之间的区别原微分方程的解析解与差分方程的解之间的区别离散误差:离散误差:显式方法与隐式方法显式方法与隐式方法显式方法显式方
10、法显式方法显式方法显式方法显式方法上述方程是抛物型方程,可以推进求解,推进变量是时间上述方程是抛物型方程,可以推进求解,推进变量是时间t显式方法显式方法边界条件已知边界条件已知显式方法显式方法边界条件已知边界条件已知显式方法显式方法显式方法中每一个差分方程只包含一个未知显式方法中每一个差分方程只包含一个未知数,从而这个未知数可以用直接计算的方法数,从而这个未知数可以用直接计算的方法显式地求解。显式方法是最简单的方法。显式地求解。显式方法是最简单的方法。隐式方法隐式方法隐式方法隐式方法克兰克尼科尔森格式克兰克尼科尔森格式隐式方法隐式方法对于排列在同一时间层对于排列在同一时间层所有网格点上的未知量
11、,所有网格点上的未知量,必须将它们联立起来同必须将它们联立起来同时求解,才能求出这些时求解,才能求出这些未知量,这种方法就定未知量,这种方法就定义为隐式方法。义为隐式方法。隐式方法隐式方法由于需要求解联立的代由于需要求解联立的代数方程组,隐式方法通数方程组,隐式方法通常涉及大型矩阵的运算。常涉及大型矩阵的运算。隐式方法比显式方法需隐式方法比显式方法需要更多、更复杂的计算。要更多、更复杂的计算。隐式方法隐式方法隐式方法隐式方法A,B,Ki 均为已知量均为已知量隐式方法隐式方法A,B,Ki 均为已知量均为已知量隐式方法隐式方法在网格点在网格点2:A,B,Ki 均为已知量均为已知量T1 为边界条件,
12、已知量为边界条件,已知量隐式方法隐式方法在网格点在网格点3:A,B,Ki 均为已知量均为已知量在网格点在网格点4:在网格点在网格点5:隐式方法隐式方法A,B,Ki 均为已知量均为已知量在网格点在网格点6:T7 为边界条件,已知量为边界条件,已知量隐式方法隐式方法于是有关于于是有关于T2,T3,T4,T5,T6这五个未知数的五个方这五个未知数的五个方程程A,B,Ki 均为已知量均为已知量隐式方法隐式方法写成矩阵形式:写成矩阵形式:隐式方法隐式方法系数矩阵是一个三对角矩阵,仅在三条对角线上有非系数矩阵是一个三对角矩阵,仅在三条对角线上有非零元素。零元素。求解线性代数方程组的标准方法是高斯消去法。应
13、用求解线性代数方程组的标准方法是高斯消去法。应用于三对角方程组,通常采用托马斯算法(国内称为追于三对角方程组,通常采用托马斯算法(国内称为追赶法)求解。赶法)求解。显式方法与隐式方法的比较显式方法与隐式方法的比较显式方法与隐式方法的比较显式方法与隐式方法的比较对于显式方法,一旦对于显式方法,一旦 x取定,那么取定,那么 t的取值必须受到的取值必须受到稳定性条件的限制,其取值必须小于等于某个值。否稳定性条件的限制,其取值必须小于等于某个值。否则,计算不稳定。因此,则,计算不稳定。因此, t必须取得很小,才能保持计必须取得很小,才能保持计算稳定,要算到某个给定的时间值,程序要运行很长算稳定,要算到
14、某个给定的时间值,程序要运行很长时间。时间。显式方法与隐式方法的比较显式方法与隐式方法的比较隐式方法没有稳定性限制,可以取比显式方法大得多隐式方法没有稳定性限制,可以取比显式方法大得多的的 t,仍能保持计算稳定。要计算某个给定的时间值,仍能保持计算稳定。要计算某个给定的时间值,隐式方法所用的时间步数比显式方法少很多。隐式方法所用的时间步数比显式方法少很多。显式方法与隐式方法的比较显式方法与隐式方法的比较对某些应用来说,虽然隐式方法一个时间步的计算会对某些应用来说,虽然隐式方法一个时间步的计算会比显式方法花的时间长,但由于时间步数少,总的运比显式方法花的时间长,但由于时间步数少,总的运行时间可能
15、比显式方法少。行时间可能比显式方法少。显式方法与隐式方法的比较显式方法与隐式方法的比较另外,当另外,当 t取得较大时,截断误差就大,隐式方法在跟取得较大时,截断误差就大,隐式方法在跟踪严格的瞬态变化(未知函数随时间的变化)时,可踪严格的瞬态变化(未知函数随时间的变化)时,可能不如显式方法精确。能不如显式方法精确。不过,对于以定常态为最终目标的时间相关算法,时不过,对于以定常态为最终目标的时间相关算法,时间上够不够精确并不重要。间上够不够精确并不重要。显式方法与隐式方法的比较显式方法与隐式方法的比较当流场中某些局部区域的网格点分布很密,采用显式当流场中某些局部区域的网格点分布很密,采用显式方法,
16、小的时间步长会导致计算时间特别长。方法,小的时间步长会导致计算时间特别长。例如,高雷诺数粘性流,物面附近的流场会产生急剧例如,高雷诺数粘性流,物面附近的流场会产生急剧的变化,因此,物面附近需要更密的空间网格。的变化,因此,物面附近需要更密的空间网格。在这种情况下,若采用隐式方法,即使对于很密的空在这种情况下,若采用隐式方法,即使对于很密的空间网格,也能采用较大的时间步长,就会减少程序运间网格,也能采用较大的时间步长,就会减少程序运行时间。行时间。误差与稳定性分析误差与稳定性分析误差与稳定性分析误差与稳定性分析在从一个推进步进行到下一步时,如果某个特定的数在从一个推进步进行到下一步时,如果某个特
17、定的数值误差被放大了,那么计算就变成不稳定。如果误差值误差被放大了,那么计算就变成不稳定。如果误差不增长,甚至在从一个推进步进行到下一步时,误差不增长,甚至在从一个推进步进行到下一步时,误差还在衰减,那么计算通常就是稳定的。还在衰减,那么计算通常就是稳定的。误差与稳定性分析误差与稳定性分析A=偏微分方程的精确解(解析解)偏微分方程的精确解(解析解)D=差分方程的精确解差分方程的精确解离散误差离散误差=A-D误差与稳定性分析误差与稳定性分析D=差分方程的精确解差分方程的精确解舍入误差舍入误差= =N-DN=在某个有限精度的计算机上实际计算出来的解在某个有限精度的计算机上实际计算出来的解 (数值解
18、)(数值解)N=D+ 误差与稳定性分析误差与稳定性分析数值解数值解N=精确解精确解D+误差误差 数值解数值解N满足差分方程,于是有满足差分方程,于是有误差与稳定性分析误差与稳定性分析数值解数值解N=精确解精确解D+误差误差 精确解精确解D也必然满足差分方程,于是有也必然满足差分方程,于是有误差与稳定性分析误差与稳定性分析数值解数值解N=精确解精确解D+误差误差 两式相减得,误差两式相减得,误差 也满足差分方程:也满足差分方程:误差与稳定性分析误差与稳定性分析当求解过程从第当求解过程从第n步推进到第步推进到第n+1步时,如果步时,如果 i衰减,至衰减,至少是不增大,那么求解就是稳定的;反之,如果
19、少是不增大,那么求解就是稳定的;反之,如果 i增大,增大,求解就是不稳定的。也就是说,求解要是稳定的,应求解就是不稳定的。也就是说,求解要是稳定的,应该有:该有:误差与稳定性分析误差与稳定性分析根据根据von Neumann(冯(冯 诺伊曼)稳定性分析方法,设诺伊曼)稳定性分析方法,设误差随空间和时间符合如下误差随空间和时间符合如下Fourier级数分布:级数分布:则则误差与稳定性分析误差与稳定性分析稳定性要求稳定性要求故放大因子故放大因子误差与稳定性分析误差与稳定性分析下面采用下面采用von Neumann(冯(冯 诺伊曼)稳定性分析方法诺伊曼)稳定性分析方法分析如下差分方程的稳定性:分析如
20、下差分方程的稳定性:由于误差由于误差 也满足差分方程,故有也满足差分方程,故有误差与稳定性分析误差与稳定性分析由于误差由于误差 也满足差分方程,故有也满足差分方程,故有而而则则误差与稳定性分析误差与稳定性分析解得解得放大因子放大因子误差与稳定性分析误差与稳定性分析要使要使放大因子放大因子必须满足必须满足误差与稳定性分析误差与稳定性分析上式就是差分方程上式就是差分方程的稳定性条件。的稳定性条件。对于给定的对于给定的 x, t的值必须足够小,才能满足上述稳的值必须足够小,才能满足上述稳定性条件,以保证计算过程中误差不会放大。定性条件,以保证计算过程中误差不会放大。误差与稳定性分析误差与稳定性分析稳
21、定性条件的具体形式取决于差分方程的形式。稳定性条件的具体形式取决于差分方程的形式。的差分方程的差分方程是无条件不稳定的。是无条件不稳定的。比如,一阶波动方程:比如,一阶波动方程:误差与稳定性分析误差与稳定性分析但如果用但如果用则则(Lax方法)方法)误差与稳定性分析误差与稳定性分析令误差令误差则放大因子则放大因子式中式中误差与稳定性分析误差与稳定性分析则放大因子则放大因子稳定性要求稳定性要求则则误差与稳定性分析误差与稳定性分析稳定性要求稳定性要求式中的式中的C称为柯朗称为柯朗(Courant)数。数。误差与稳定性分析误差与稳定性分析稳定性要求稳定性要求上式称为柯朗弗里德里奇列维上式称为柯朗弗里
22、德里奇列维(Courant-Friedrichs-Lewy)条件,一般写成条件,一般写成CFL条件。条件。误差与稳定性分析误差与稳定性分析下面来看下面来看CFL条件的物理意义。条件的物理意义。CFL条件:条件:也是二阶波动方程:也是二阶波动方程:的稳定性条件。的稳定性条件。误差与稳定性分析误差与稳定性分析下面来看下面来看CFL条件的物理意义。条件的物理意义。二阶波动方程:二阶波动方程:的特征线为的特征线为CFL条件的物理意义:要保证稳定性,数值解的依赖条件的物理意义:要保证稳定性,数值解的依赖区域必须全部包含解析解的依赖区域。区域必须全部包含解析解的依赖区域。误差与稳定性分析误差与稳定性分析CFL条件的物理意义:要保证稳定性,数值解的依赖条件的物理意义:要保证稳定性,数值解的依赖区域必须全部包含解析解的依赖区域。区域必须全部包含解析解的依赖区域。误差与稳定性分析误差与稳定性分析