第3讲-差分方法1
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
传统计算方法: 有限差分法, 有限元法, 谱方法(谱元法) 传统计算方法: 有限差分法, 有限体积法 , 有限元法, 谱方法(谱元法)等; 最近发展的方法: 基于粒子的算法(格子 ),无网格 最近发展的方法 基于粒子的算法(格子-Boltzmann, BGK),无网格 ), 优点 有限差分法 有限体积法 有限元法 谱方法 粒子类方法 简单成熟, 简单成熟,可构造高精 度格式 守恒性好, 守恒性好,可处理复杂 网格 基于变分原理, 基于变分原理,守恒性 好 精度高 算法简单, 算法简单,可处理复杂 外形 缺点 适用范围
u = sin( x) → du = cos( x) dx
理论方法, 展开, 理论方法,Taylor展开,求余项 。 对 展开 于复杂(如非线性)格式,难度大。 于复杂(如非线性)格式,难度大。
Fj = δ xu j
实验方法, 实验方法,通过算例考核精度 精确解
φ j 为该离散函数的模
计算误差
err = F j − cos(x j ) cos( x
2
理论研究
“计算流体力学”作为一个学 计算流体力学” 其研究手段依然包括理论、 科, 其研究手段依然包括理论、 实验及数值模拟。 实验及数值模拟。
流体 力学
实验研究
理论研究: 理论研究: 格式推导、 稳定性分析, 格式推导、 稳定性分析, 精度/误差分析 误差分析, 精度 误差分析,……
数值研究
计算流体力学 数值计算技术、 (数值计算技术、 计算方法研究) 计算方法研究) 实验研究: 实验研究: 数值实验, 数值实验, 采用 实际问题考核方法 的正确性
n +1 n u n − u n−1 ∆x ∂u ∂u u j − u j ∆x 2 ∆t ∆t 2 j j +a = +a − u xx + u xxx + utt + uttt + ...... ∂t ∂x ∆t ∆x 2 6 2 6
微分方程=差分方程 截断误差 微分方程 差分方程+截断误差 差分方程
∂u ∂u +a =0 ∂t ∂x
u n +1 − u n j j ∆t +a u n − u n−1 j j ∆x =0
n u n − u n−1 ∆x ∆x 2 ∂u j j − u xx + u xxx + ... = ∆x 2 6 ∂x j
差分方程
截断误差
n n +1 n ∆t 2 ∂u u j − u j ∆t uttt ⋯ + utt + = 2 6 ∆t ∂t j
Shu-Osher问题的计算结果 (Li et 问题的计算结果 al. Init. J. Num. Fluid. 2005)
航空领域权威的考核算例—— DPW标准计算模型 航空领域权威的考核算例 标准计算模型
Copyright by Li Xinliang 常用一、 常用一、二维算例整理后已发到流体中文网 www.cfluid.com 6
分析误差对网格步长的依赖关系 lg err 斜率为精度的阶数 (通常用最小二乘法计算)
常用的模: 常用的模: φ 1 模: 2 模: φ 无穷模: 无穷模
j 1
= =
∑φ
j
j
j 2
1 N
j
∑φ
j
2 j
φj
∞
= max φ j
lg ∆x
典型的文章: 提出方法+理论分析 + 算例验证
Copyright by Li Xinliang
前差 后差 中心差
… j-2
后
j-1 j
前
j+1 …
其他: 向前( 偏心差分; 其他: 向前(后)偏心差分
c.
差分方程 经差分离散后的方程, 经差分离散后的方程,称为差分方程
∂u ∂u +a =0 ∂t ∂x
u n +1 − u n j j ∆t +a u n − u n−1 j j ∆x =0
如何确定精度? 如何确定精度? 1) 理论方法, 给出误差表达式 ) 理论方法, 2)数值方法, 给出误差对 ∆x )数值方法, 的数值依赖关系
讲义、 流体中文网) 流体论坛” “ 讲义、课件上传至 www.cfluid.com (流体中文网) -> “流体论坛” ->“ CFD基础理论 ” 流体中文网 基础理论
1 Copyright by Li Xinliang
有限差分法( ) 第三讲 有限差分法(1) 教材第3.1、 节及第 节及第4章 (教材第 、3.2节及第 章)
精度 (1阶) 截断误差 (2阶)
2 ∂u u j +1 − u j 1 ∂ u − 2 ∆x + ⋯ = ∆x 2! ∂x j ∂x j
u j +1 − u j −1 1 ∂ 3u ∂u + ( 3 ) j ∆x 2 = 2∆x 3! ∂x ∂x j
∂u 1 ∂ 2u 1 ∂ 3u 2 u j +1 = u j + ( ) j ∆x + ( 2 ) j ∆x + ( 3 ) j ∆x 3 ...... ∂x 2! ∂x 3! ∂x
2 ∂u u j +1 − u j ∂ u ∆x − 2 = ∂x 2! + ⋯ ∆x ∂x j j
u j +1 − u j −1 1 ∂ 3u ∂u = + ( 3 ) j ∆x 2 2∆x 3! ∂x ∂x j
u n +1 − u n j j ∆t
=µ
1 +1 +1 u n+1 − 2u n +1 + u n−1 j j j 2 ∆x
[
]
多维问题,各方向独自离散;(时间同样考虑) 多维问题,各方向独自离散;(时间同样考虑) ;(时间同样考虑
1 ∂ 2u a ∂ 2u TE = 2 ∆t + 2 ∆x + ⋯ 2! ∂t j 2! ∂x j
n n
微分方程
差分方程
截断误差: 截断误差:
Copyright by Li Xinliang
9
d. 差分方程的修正方程
修正方程—— 差分方程准确逼近(无误差逼近)的方程 差分方程准确逼近(无误差逼近) 修正方程
处理复杂网格不够灵 相对简单外形的 高精度计算 活 不易提高精度( 不易提高精度(二阶 复杂外形的工程 以上方法复杂) 以上方法复杂) 计算 对于复杂方程处理困 多用于固体力学 等 难 外形、 外形、边界条件简单 简单外形的高精 度计算 精度不易提高 复杂外形的工程 计算
Copyright by Li Xinliang
研究CFD的计算手段 的计算手段 研究
例: 差分格式构造
理论方法: 手工推导系数(工作量大) 理论方法: 手工推导系数(工作量大) 数值方法: 数值方法: 通过数值手段推导系数
∂u = a1u j − 2 + a2 u j −1 + a3u j + a4 u j +1 + O(∆3 ) ∂x j
数值求解, 数值求解,获得系数
n +1 n ∂u u j − u j + O( ∆t ) = ∂t j ∆t n
比有限体积法计算量小; 比有限体积法计算量小; 便于构造高阶格式; 便于构造高阶格式
Copyright by Li Xinliang 8
基本概念: 基本概念:
a. 差分表达式及截断误差 差分表达式及截断误差:
∑ ( j − 3)
j =1
4
k
a j = bk
k = 0 ,1, 2 ,3
格式优化; 格式优化; 分析; 通过数值计算手段进行 Fourier分析 分析 ……
Copyright by Li Xinliang
7
§ 3.1 有限差分法基本原理 1. 差分方法的基本原理 离散点上利用Taylor展开,把微分转化成差分 展开, 微分转化成差分 离散点上利用 展开 转化成
例:Fourier分析 分析 线性系统: 线性系统: 线性方程+ 线性方程 线性格式 初始值 差分系统 (解差分 解差分 方程) 方程 数值解( 数值解(特 定时刻离散 的函数值) 的函数值)
记为: v j = Φu j Φ 是差分算子,把离散函数 是差分算子, 有限点列) (有限点列){u j }映射为另 一个离散函数 {v j }
u n +1 − u n j j ∆t
∆t
+aΒιβλιοθήκη Baidu
u n − u n−1 j j ∆x
∆x
∆x a∆x 2 ∆t ∆t 2 = ut + a u x + u xx − u xxx + utt + uttt + ...... 2 6 2 6
uj = ˆ ∑u e
k k ikx j
任意函数都可分解为三角函数的叠加 {vi} 与{ui}的依赖关系 的依赖关系 线性系统, 线性系统,可大为简化
vj =
∑ vˆ e
k k
ikx j
ˆ 与 ˆ} {vk } {u k的依赖关系
ˆ ˆ ˆ ˆ (v1 = f (u1 ), v2 = f (u 2 ),......)
计算流体力学讲义
有限差分法( ) 第三讲 有限差分法(1)
李新亮 lixl@imech.ac.cn ;力学所主楼 力学所主楼219; 82543801 ;
知识点: 知识点:
差分方法的理论基础 (相容、收敛、稳定性;Lax等价定理;精度、修正方程; 守恒性) 相容、收敛、稳定性; 等价定理;精度、修正方程 守恒性) 等价定理 差分格式的构造 差分格式的Fourier分析 差分格式的 分析
差分表达式
b. 前差、后差、中心差 前差、后差、
u j +1 − u j ∂u + O (∆x) = ∆x ∂x j u j − u j −1 ∂u + O (∆x) = ∂x j ∆x u j +1 − u j −1 ∂u + O( ∆x 2 ) = 2∆x ∂x j
2维算例: 维算例: 维算例 后台阶、 问题、 激波干扰、 前/后台阶、双马赫反射、二维 后台阶 双马赫反射、二维Riemann问题、漩涡 激波干扰、翼 问题 漩涡-激波干扰 型扰流、 型扰流、圆柱绕流 3维复杂算例: 维复杂算例: 维复杂算例 各向同性湍流的DNS, 槽道湍流的 槽道湍流的DNS, 激波 边界层干扰的 激波-边界层干扰的 边界层干扰的DNS 各向同性湍流的
ˆ 波数空间单一的依赖关系: ˆ 波数空间单一的依赖关系: vk = f (u k )
线性差分系统: 针对一个单波 研究经过差 一个单波, 一个单波 分系统后的变化就可以了解该系统。 Fourier误差分析; Fourier稳定性分析
Copyright by Li Xinliang
原理: 原理: 线性系统,输入一个波, 线性系统,输入一个波,只能 输出一个波(且波数不变)。 输出一个波(且波数不变)。 非线性系统会产生多个谐波
err = α∆x n ⇒ lg err = n lg ∆x + lg α
斜率为精度的阶数n
5
常用的验证算例( 实验验证” 常用的验证算例(“实验验证”)
考核方法通常找一些难度大的(条件苛刻、极端)的算例。否则, 考核方法通常找一些难度大的(条件苛刻、极端)的算例。否则, 无法突出方法的优越性。 无法突出方法的优越性。 1维算例: 维算例: 维算例 Sod 激波管, Shu-Osher, 方波 尖波 激波管, 方波/尖波 尖波……
… j-2 j-1 j j+1 …
(等距网格) 等距网格)
∂u ∂ 2u =µ 2 ∂t ∂x
0 ≤ x ≤ 1,0 ≤ t ≤ T
u j +1 − u j ∂u + O (∆x) = ∆x ∂x j u j +1 − u j −1 ∂u + O( ∆x 2 ) = 2∆x ∂x j
4
理论分析的局限性: 对于复杂系统(非线性方程、非线性格式) 理论分析的局限性: 对于复杂系统(非线性方程、非线性格式)非常困难
研究CFD的实验手段 的实验手段 研究
思想: 通过具体算例来研究(考核,分析…) 思想: 通过具体算例来研究(考核,分析 )差分方法 例: 精度分析 du 差分离散 dx
数值研究: 数值研究: 采用数值计算推导格式、考察精度/稳定性 分辨率…… 稳定性/分辨率 采用数值计算推导格式、考察精度 稳定性 分辨率
Copyright by Li Xinliang 3
举例说明: 举例说明: 研究“计算流体力学 学科的理论手段 实验手段及 计算流体力学” 理论手段、 研究 计算流体力学 学科的理论手段、实验手段及计算手段 研究CFD的理论手段 的理论手段 研究
u = sin( x) → du = cos( x) dx
理论方法, 展开, 理论方法,Taylor展开,求余项 。 对 展开 于复杂(如非线性)格式,难度大。 于复杂(如非线性)格式,难度大。
Fj = δ xu j
实验方法, 实验方法,通过算例考核精度 精确解
φ j 为该离散函数的模
计算误差
err = F j − cos(x j ) cos( x
2
理论研究
“计算流体力学”作为一个学 计算流体力学” 其研究手段依然包括理论、 科, 其研究手段依然包括理论、 实验及数值模拟。 实验及数值模拟。
流体 力学
实验研究
理论研究: 理论研究: 格式推导、 稳定性分析, 格式推导、 稳定性分析, 精度/误差分析 误差分析, 精度 误差分析,……
数值研究
计算流体力学 数值计算技术、 (数值计算技术、 计算方法研究) 计算方法研究) 实验研究: 实验研究: 数值实验, 数值实验, 采用 实际问题考核方法 的正确性
n +1 n u n − u n−1 ∆x ∂u ∂u u j − u j ∆x 2 ∆t ∆t 2 j j +a = +a − u xx + u xxx + utt + uttt + ...... ∂t ∂x ∆t ∆x 2 6 2 6
微分方程=差分方程 截断误差 微分方程 差分方程+截断误差 差分方程
∂u ∂u +a =0 ∂t ∂x
u n +1 − u n j j ∆t +a u n − u n−1 j j ∆x =0
n u n − u n−1 ∆x ∆x 2 ∂u j j − u xx + u xxx + ... = ∆x 2 6 ∂x j
差分方程
截断误差
n n +1 n ∆t 2 ∂u u j − u j ∆t uttt ⋯ + utt + = 2 6 ∆t ∂t j
Shu-Osher问题的计算结果 (Li et 问题的计算结果 al. Init. J. Num. Fluid. 2005)
航空领域权威的考核算例—— DPW标准计算模型 航空领域权威的考核算例 标准计算模型
Copyright by Li Xinliang 常用一、 常用一、二维算例整理后已发到流体中文网 www.cfluid.com 6
分析误差对网格步长的依赖关系 lg err 斜率为精度的阶数 (通常用最小二乘法计算)
常用的模: 常用的模: φ 1 模: 2 模: φ 无穷模: 无穷模
j 1
= =
∑φ
j
j
j 2
1 N
j
∑φ
j
2 j
φj
∞
= max φ j
lg ∆x
典型的文章: 提出方法+理论分析 + 算例验证
Copyright by Li Xinliang
前差 后差 中心差
… j-2
后
j-1 j
前
j+1 …
其他: 向前( 偏心差分; 其他: 向前(后)偏心差分
c.
差分方程 经差分离散后的方程, 经差分离散后的方程,称为差分方程
∂u ∂u +a =0 ∂t ∂x
u n +1 − u n j j ∆t +a u n − u n−1 j j ∆x =0
如何确定精度? 如何确定精度? 1) 理论方法, 给出误差表达式 ) 理论方法, 2)数值方法, 给出误差对 ∆x )数值方法, 的数值依赖关系
讲义、 流体中文网) 流体论坛” “ 讲义、课件上传至 www.cfluid.com (流体中文网) -> “流体论坛” ->“ CFD基础理论 ” 流体中文网 基础理论
1 Copyright by Li Xinliang
有限差分法( ) 第三讲 有限差分法(1) 教材第3.1、 节及第 节及第4章 (教材第 、3.2节及第 章)
精度 (1阶) 截断误差 (2阶)
2 ∂u u j +1 − u j 1 ∂ u − 2 ∆x + ⋯ = ∆x 2! ∂x j ∂x j
u j +1 − u j −1 1 ∂ 3u ∂u + ( 3 ) j ∆x 2 = 2∆x 3! ∂x ∂x j
∂u 1 ∂ 2u 1 ∂ 3u 2 u j +1 = u j + ( ) j ∆x + ( 2 ) j ∆x + ( 3 ) j ∆x 3 ...... ∂x 2! ∂x 3! ∂x
2 ∂u u j +1 − u j ∂ u ∆x − 2 = ∂x 2! + ⋯ ∆x ∂x j j
u j +1 − u j −1 1 ∂ 3u ∂u = + ( 3 ) j ∆x 2 2∆x 3! ∂x ∂x j
u n +1 − u n j j ∆t
=µ
1 +1 +1 u n+1 − 2u n +1 + u n−1 j j j 2 ∆x
[
]
多维问题,各方向独自离散;(时间同样考虑) 多维问题,各方向独自离散;(时间同样考虑) ;(时间同样考虑
1 ∂ 2u a ∂ 2u TE = 2 ∆t + 2 ∆x + ⋯ 2! ∂t j 2! ∂x j
n n
微分方程
差分方程
截断误差: 截断误差:
Copyright by Li Xinliang
9
d. 差分方程的修正方程
修正方程—— 差分方程准确逼近(无误差逼近)的方程 差分方程准确逼近(无误差逼近) 修正方程
处理复杂网格不够灵 相对简单外形的 高精度计算 活 不易提高精度( 不易提高精度(二阶 复杂外形的工程 以上方法复杂) 以上方法复杂) 计算 对于复杂方程处理困 多用于固体力学 等 难 外形、 外形、边界条件简单 简单外形的高精 度计算 精度不易提高 复杂外形的工程 计算
Copyright by Li Xinliang
研究CFD的计算手段 的计算手段 研究
例: 差分格式构造
理论方法: 手工推导系数(工作量大) 理论方法: 手工推导系数(工作量大) 数值方法: 数值方法: 通过数值手段推导系数
∂u = a1u j − 2 + a2 u j −1 + a3u j + a4 u j +1 + O(∆3 ) ∂x j
数值求解, 数值求解,获得系数
n +1 n ∂u u j − u j + O( ∆t ) = ∂t j ∆t n
比有限体积法计算量小; 比有限体积法计算量小; 便于构造高阶格式; 便于构造高阶格式
Copyright by Li Xinliang 8
基本概念: 基本概念:
a. 差分表达式及截断误差 差分表达式及截断误差:
∑ ( j − 3)
j =1
4
k
a j = bk
k = 0 ,1, 2 ,3
格式优化; 格式优化; 分析; 通过数值计算手段进行 Fourier分析 分析 ……
Copyright by Li Xinliang
7
§ 3.1 有限差分法基本原理 1. 差分方法的基本原理 离散点上利用Taylor展开,把微分转化成差分 展开, 微分转化成差分 离散点上利用 展开 转化成
例:Fourier分析 分析 线性系统: 线性系统: 线性方程+ 线性方程 线性格式 初始值 差分系统 (解差分 解差分 方程) 方程 数值解( 数值解(特 定时刻离散 的函数值) 的函数值)
记为: v j = Φu j Φ 是差分算子,把离散函数 是差分算子, 有限点列) (有限点列){u j }映射为另 一个离散函数 {v j }
u n +1 − u n j j ∆t
∆t
+aΒιβλιοθήκη Baidu
u n − u n−1 j j ∆x
∆x
∆x a∆x 2 ∆t ∆t 2 = ut + a u x + u xx − u xxx + utt + uttt + ...... 2 6 2 6
uj = ˆ ∑u e
k k ikx j
任意函数都可分解为三角函数的叠加 {vi} 与{ui}的依赖关系 的依赖关系 线性系统, 线性系统,可大为简化
vj =
∑ vˆ e
k k
ikx j
ˆ 与 ˆ} {vk } {u k的依赖关系
ˆ ˆ ˆ ˆ (v1 = f (u1 ), v2 = f (u 2 ),......)
计算流体力学讲义
有限差分法( ) 第三讲 有限差分法(1)
李新亮 lixl@imech.ac.cn ;力学所主楼 力学所主楼219; 82543801 ;
知识点: 知识点:
差分方法的理论基础 (相容、收敛、稳定性;Lax等价定理;精度、修正方程; 守恒性) 相容、收敛、稳定性; 等价定理;精度、修正方程 守恒性) 等价定理 差分格式的构造 差分格式的Fourier分析 差分格式的 分析
差分表达式
b. 前差、后差、中心差 前差、后差、
u j +1 − u j ∂u + O (∆x) = ∆x ∂x j u j − u j −1 ∂u + O (∆x) = ∂x j ∆x u j +1 − u j −1 ∂u + O( ∆x 2 ) = 2∆x ∂x j
2维算例: 维算例: 维算例 后台阶、 问题、 激波干扰、 前/后台阶、双马赫反射、二维 后台阶 双马赫反射、二维Riemann问题、漩涡 激波干扰、翼 问题 漩涡-激波干扰 型扰流、 型扰流、圆柱绕流 3维复杂算例: 维复杂算例: 维复杂算例 各向同性湍流的DNS, 槽道湍流的 槽道湍流的DNS, 激波 边界层干扰的 激波-边界层干扰的 边界层干扰的DNS 各向同性湍流的
ˆ 波数空间单一的依赖关系: ˆ 波数空间单一的依赖关系: vk = f (u k )
线性差分系统: 针对一个单波 研究经过差 一个单波, 一个单波 分系统后的变化就可以了解该系统。 Fourier误差分析; Fourier稳定性分析
Copyright by Li Xinliang
原理: 原理: 线性系统,输入一个波, 线性系统,输入一个波,只能 输出一个波(且波数不变)。 输出一个波(且波数不变)。 非线性系统会产生多个谐波
err = α∆x n ⇒ lg err = n lg ∆x + lg α
斜率为精度的阶数n
5
常用的验证算例( 实验验证” 常用的验证算例(“实验验证”)
考核方法通常找一些难度大的(条件苛刻、极端)的算例。否则, 考核方法通常找一些难度大的(条件苛刻、极端)的算例。否则, 无法突出方法的优越性。 无法突出方法的优越性。 1维算例: 维算例: 维算例 Sod 激波管, Shu-Osher, 方波 尖波 激波管, 方波/尖波 尖波……
… j-2 j-1 j j+1 …
(等距网格) 等距网格)
∂u ∂ 2u =µ 2 ∂t ∂x
0 ≤ x ≤ 1,0 ≤ t ≤ T
u j +1 − u j ∂u + O (∆x) = ∆x ∂x j u j +1 − u j −1 ∂u + O( ∆x 2 ) = 2∆x ∂x j
4
理论分析的局限性: 对于复杂系统(非线性方程、非线性格式) 理论分析的局限性: 对于复杂系统(非线性方程、非线性格式)非常困难
研究CFD的实验手段 的实验手段 研究
思想: 通过具体算例来研究(考核,分析…) 思想: 通过具体算例来研究(考核,分析 )差分方法 例: 精度分析 du 差分离散 dx
数值研究: 数值研究: 采用数值计算推导格式、考察精度/稳定性 分辨率…… 稳定性/分辨率 采用数值计算推导格式、考察精度 稳定性 分辨率
Copyright by Li Xinliang 3
举例说明: 举例说明: 研究“计算流体力学 学科的理论手段 实验手段及 计算流体力学” 理论手段、 研究 计算流体力学 学科的理论手段、实验手段及计算手段 研究CFD的理论手段 的理论手段 研究