数值模拟导论——第十四讲 多步法Ⅱ 雅可比怀特 合作者 Deepak Ramaswamy, MichalRewienski, and Karen Veroy
数值模拟导论——第十四讲 多步法 Ⅱ 雅可比·怀特 合作者 Deepak Ramaswamy, MichalRewienski, and Karen Veroy
概要 多步法的小时间步问题 回顾局部切断误差最小化 个不收敛的实例 稳定+连续导出收敛 考察大时间步问题 两个时间刻度实例的绝对稳定性 振荡器 SMA-HPC C2003 MIT
概要 多步法的小时间步问题 回顾局部切断误差最小化 一个不收敛的实例 稳定+连续导出收敛 考察大时间步问题 两个时间刻度实例的绝对稳定性 振荡器 SMA-HPC ©2003 MIT
基本方程 多步法 般表示法 非线性差分方程: d t x()2=f(x(0.(0) k步多步法:立=△∑(2( 多步系数 离散点的解 时间间断 21-1 SMA-HPC C2003 MIT
一般表示法 非线性差分方程: k步多步法: () () () ( ) , d xt f xt ut dt = ( ) ( ) 0 0 ˆ ˆ , k k lj lj j j lj j j ax t f x ut β − − − = = ∑ ∑ = ∆ 多步系数 基本方程 多步法 离散点的解 时间间断 SMA-HPC ©2003 MIT
多步法 简单问题分析 标量ODE:2n()=(),(0)=0A∈C 多步法标量公式:∑a=2B的 对于所有∈C都必须考虑λ的值 DecaRO Re(a) n SMA-HPC C2003 MIT
多步法 简单问题分析 () () ( ) 0 , 0 C d vt vt v v d t = λ λ = ∈ 0 0 ˆ ˆ k k lj lj j j j j ax t v β λ − − = = ∑ ∑ = ∆ λ ∈C 标量ODE: 多步法标量公式: 对于所有 都必须考虑λ的值 SMA-HPC ©2003 MIT
收敛分析 多步法 收敛定义 定义:对于给定的任何初始条件,用多步法 求解0,T上的初值问题是收敛的 当△M→0时maxF=(△x)→0 computed with At At +++0m油 SMA-HPC C2003 MIT
多步法 收敛分析 收敛定义 ( ) 0, 0 max 0 ˆl T l t t v vl t ⎡ ⎤ ∈⎢ ⎥ ⎣ ⎦ ∆ 当 时 ∆ → − ∆→ 定义:对于给定的任何初始条件,用多步法 求解[0,T]上的初值问题是收敛的。 SMA-HPC ©2003 MIT
收敛分析 多步法 收敛的两个条件 1)局部条件:“一步法误差较小 (连续性) 可以用泰勒展开式证明 2)全局条件:单步误差不会快速增加 (稳定性) 多步法(K>1)需要详细分析 SMA-HPC C2003 MIT
多步法 收敛分析 收敛的两个条件 1)局部条件:“一步法”误差较小 (连续性) 可以用泰勒展开式证明 2)全局条件:单步误差不会快速增加 (稳定性) 多步法(K>1)需要详细分析 SMA-HPC ©2003 MIT
收敛分析 多步法 全局误差等式 多步法公式:∑-△2By=0 精确解基本上和多步法-致:∑。()4)- 局部切断误差(LTE) 全局误差:E=v() 差分方程将局部切断误差和全局误差联系起来 (a-△MA)E+(a1-MNB)E+…+(a1-NB)E==e SMA-HPC C2003 MIT
多步法 收敛分析 全局误差等式 0 0 ˆ ˆ 0 k k lj lj j j j j av t v β λ − − = = ∑ ∑ − ∆ = ( ) ( ) 0 0 ˆ k k l j lj j lj j j d av t t v t e dt − − β = = ∑ ∑ − ∆ = ( ) ˆ l l E l ≡ vt v − ( ) ( ) ( ) 1 0 0 11 l l lk l k k a tE a tE a t E e λβ λβ λβ − − − ∆ + −∆ + + −∆ = " 多步法公式: 精确解基本上和多步法一致: 全局误差: 差分方程将局部切断误差和全局误差联系起来 局部切断误差(LTE) SMA-HPC ©2003 MIT
多步法 使得局部切断误差足够小 局部切断误差:∑a()-M2() 局部切断误差 若v(0)=→元v()=p 注:不能根据 d t (t)=()式推导 ∑a1(k-))y-△∑Bp(k-)△)C=e SMA-HPC C2003 MIT
多步法 使得局部切断误差足够小 ( ) ( ) p d p 1 v t t v t pt dt − =⇒ = () () d vt vt d t = λ ( ) ( ) ( ) ( ) ( ) ( ) 1 0 0 k j k j k k p p j j j j v t d v t dt a k j t t pk j t e β − − − = = ∑ ∑ − ∆ −∆ − ∆ = 局部切断误差: 局部切断误差 若 注:不能根据 式 推导 ( ) ( ) 0 0 k k l j lj j lj j j d av t t v t e dt − − β = = ∑ ∑ − ∆ = SMA-HPC ©2003 MIT
使得局部切断误差足够小 多步法 精度约束k=2实例 精度拘束:∑a(k--2p(k=n)=0 对于k=2,产生系数的5×6维矩阵方程 11000 p=0 210-1-1-1 P=1 注:总存在 410-4-20 0000 P=381012-30 ∑a=0 p=4 1610-32-40 \.0 B2 SMA-HPC C2003 MIT
多步法 使得局部切断误差足够小 精度约束k=2实例 () () 1 0 0 0 k k p p j j j j a k j pk j β − = = ⎛ ⎞ ⎜ ⎟ − − −= ⎝ ⎠ ∑ ∑ 0 1 3 4 p p p p = = = = 0 1 2 0 1 2 1 1 1 0 0 0 0 2 1 0 -1 -1 -1 0 4 1 0 -4 -2 0 0 8 1 0 -12 -3 0 0 16 1 0 -32 -4 0 0 a a a β β β ⎡ ⎤ ⎡ ⎤ ⎡⎤ ⎢ ⎥ ⎢ ⎥ ⎢⎥ ⎢ ⎥ ⎢ ⎥ ⎢⎥ ⎢ ⎥ ⎢ ⎥ ⎢⎥ ⎢ ⎥ = ⎢ ⎥ ⎢⎥ ⎢ ⎥ ⎢ ⎥ ⎢⎥ ⎢ ⎥ ⎢ ⎥ ⎢⎥ ⎢ ⎥ ⎣ ⎦ ⎣⎦ ⎢ ⎥ ⎣ ⎦ 0 i ∑ a = 精度拘束: 对于 k = 2,产生系数的5x6维矩阵方程 注:总存在 SMA-HPC ©2003 MIT
使局部切断误差较小 多步法 精度约束k=2实例, 生成方法 首先介绍一个规范化的问题,例如a=1 1000 10-1-1-1‖a 10420A=-4 10.1230B 10-3240B」1-16 用两步法求解最小的局部切断误差 4=1=0=-1=,A=为=为 满足所有五个精度约束局部切断误差=C(△) 用两步直接法求解最小的局部切断误差 an=1,a1=4,a2=-5,B0=0,=4B2=2 只能满足四个精度局部切断误差=C(△)
多步法 使局部切断误差较小 精度约束k=2实例, 生成方法 1 2 0 1 2 1 1 0 0 0 1 1 0 -1 -1 -1 2 1 0 -4 -2 0 4 1 0 -12 -3 0 8 1 0 -32 -4 0 16 a a β β β ⎡ ⎤ ⎡⎤ ⎡ ⎤ − ⎢ ⎥ ⎢⎥ ⎢ ⎥ − ⎢ ⎥ ⎢⎥ ⎢ ⎥ ⎢ ⎥ ⎢⎥ ⎢ ⎥ = − ⎢ ⎥ ⎢⎥ ⎢ ⎥ − ⎢ ⎥ ⎢⎥ ⎢ ⎥ ⎢⎣ ⎥ ⎢⎥ ⎦ ⎣⎦ ⎢ ⎥ − ⎣ ⎦ 首先介绍一个规范化的问题,例如 0 a =1 01 2 0 1 2 1, 0, 1, , , 14 1 333 aaa = = =− = = = βββ 5 C t ( ) ∆ 01 2 0 1 2 aaa = = =− = = = 1, 4, 5, 0, 4, 2 β β β 4 C t ( ) ∆ 用两步法求解最小的局部切断误差 满足所有五个精度约束 局部切断误差= 用两步直接法求解最小的局部切断误差 SMA-HPC ©2003 MIT 只能满足四个精度 局部切断误差=