system: [SYSTEM]

user: 3. 带小粘性系数的非齐次两点边值问题的求解 带小粘性系数的非齐次两点边值问题： { v u ″ ( x ) + p ( x ) u ′ ( x ) + q ( x ) u ( x ) = f ( x ) ，   a < x < b ， u ( a ) = α ，   u ( b ) = β ， (3.1) 其中 v > 0 为粘性常系数，函数 p ( x ) ， q ( x ) ， f ( x ) ∈ C 2 [ a ， b ] ，且 q ( x ) ≥ 0 。 3.1. 求解两点边值问题的RBF-FD格式 区间 a ≤ x ≤ b 被剖成 n 等份，节点 x i = a + ( i − 1 ) h ，   h = ( b − a ) / n ，   1 ≤ i ≤ n + 1 。在节点 x i 处，一方面，我们利用问题(3.1)的解 u ( x i ) 有 s ″ ( x i ) = ε 2 ( a 3 − 1 ) a 3 ( b − 4 a + 3 ) ( 2 u ( x i ) − u ( x i − 1 ) − u ( x i + 1 ) ) ， (3.2) 其中 a = 1 + ε 2 h 2 ，   b = 1 + 4 ε 2 h 2 。由2.2节的分析可知，当 ε 2 = − 1 15 ⋅ u ( 4 ) ( x i ) / u ″ ( x i ) (最佳参数)时， s ″ ( x i ) = u ″ ( x i ) + O ( h 4 ) 。这表明为了使 s ″ ( x i ) 为 u ″ ( x i ) 的四阶逼近，形状参数 ε 2 必须取与 u ″ ( x i ) ， u ( 4 ) ( x i ) 有关的值，从而 a ， b 也与 u ″ ( x i ) ， u ( 4 ) ( x i ) 有关，不妨将这类系数 ε ， a 和 b 分别记为 ε i ， a i 和 b i ，同时引入记号 γ i = ( ε i 2 ( a i 3 − 1 ) ) / ( a i 3 ( b i − 4 a i + 3 ) ) 。 另一方面，欲根据中心差分公式 u ′ ( x i ) = u ( x i + 1 ) − u ( x i − 1 ) 2 h − h 2 6 u ‴ ( x i ) + O ( h 4 ) ， (3.3) 给出一个逼近 u ′ ( x i ) 达到 O ( h 4 ) 精度的近似式。为了达到这个目的，需要将(3.3)右端的三阶导数 u ‴ ( x i ) 用具有二阶精度的差分逼近公式替代。做到这一点并不难，由两点边值问题(3.1)中的微分方程，可知 u ″ ( x ) = 1 v ( f ( x ) − p ( x ) u ′ ( x ) − q ( x ) u ( x ) ) ， (3.4) 从而 u ‴ ( x ) = 1 v ( f ( x ) − p ( x ) u ′ ( x ) − q ( x ) u ( x ) ) ′ = 1 v ( f ′ ( x ) − p ( x ) u ″ ( x ) − ( p ′ ( x ) + q ( x ) ) u ′ ( x ) − q ′ ( x ) u ( x ) ) . (3.5) 将式(3.5)代入(3.3)右边，并利用中心差分公式，易得到 u ′ ( x i ) = u ( x i + 1 ) − u ( x i − 1 ) 2 h − h 2 6 v ( f ′ ( x i ) − p ′ ( x i ) u ( x i + 1 ) − u ( x i − 1 ) 2 h     − p ( x i ) u ( x i + 1 ) − 2 u ( x i ) + u ( x i − 1 ) h 2 − q ′ ( x i ) u ( x i )     − q ( x i ) u ( x i + 1 ) − u ( x i − 1 ) 2 h + O ( h 2 ) ) + O ( h 4 ) . (3.6) 利用式(3.2)，(3.6)得到求解两点边值问题(3.1)的具有四阶精度的RBF-FD方程： v γ i ( 2 u i − u i + 1 − u i − 1 ) + p i ( u i + 1 − u i − 1 2 h − h 2 6 v ( f ′ i − p ′ i u i + 1 − u i − 1 2 h − p i u i + 1 − 2 u i + u i − 1 h 2 − q ′ i u i − q i u i + 1 − u i − 1 2 h ) ) + q i u i = f i ，   2 ≤ i ≤ n 且满足边值条件 u 1 = α ，   u n + 1 = β 。进一步整理，得 { a ˜ i u i − 1 + b ˜ i u i + c ˜ i u i + 1 = d ˜ i ，   2 ≤ i ≤ n ， u 1 = α ，   u n + 1 = β ， (3.7) 其中 a ˜ i = − v γ i − p i 2 h + p i 2 6 v − p i h 12 v ( p ′ i + q i ) ， b ˜ i = 2 v γ i − p i 2 3 v + p i q ′ i h 2 6 v + q i ， c ˜ i = − v γ i + p i 2 h + p i 2 6 v + p i h 12 v ( p ′ i + q i ) ， d ˜ i = f i + p i h 2 6 v f ′ i . 格式(3.7)的矩阵向量形式记为 A U = F ，这里 A = ( b ˜ 2 c ˜ 2 0 0 ⋯ 0 0 0 a ˜ 3 b ˜ 3 c ˜ 3 0 ⋯ 0 0 0 ⋮ ⋮ ⋮ ⋮ ⋱ ⋮ ⋮ ⋮ 0 0 0 0 ⋯ a ˜ n − 1 b ˜ n − 1 c ˜ n − 1 0 0 0 0 ⋯ 0 a ˜ n b ˜ n ) ，   U = ( u 2 u 3 ⋮ u n − 1 u n ) ，   F = ( d ˜ 2 − α a ˜ 2 d ˜ 3 ⋮ d ˜ n − 1 d ˜ n − β c ˜ n ) . 明显地， A ， F 都是 U 的函数，即方程组 A U = F 是非线性的。我们构造如下迭代格式 U k + 1 = A − 1 ( U k ) F ( U k ) ，   k = 0 ， 1 ， 2 ， ⋯ . (3.8) 进行求解，直到满足迭代终止条件 ‖ U k + ! − U k ‖ 2 / ‖ U k ‖ 2 ≤ 10 − 5 时，迭代终止。 3.2. 最佳参数e 2 的计算 根据3.1节的分析可知最佳参数 ε 2 = − 1 15 ⋅ u ( 4 ) ( x i ) / u ″ ( x i ) ，而 u ″ ( x i ) ， u ( 4 ) ( x i ) 是未知的，如果能给出最佳参数 ε i 2 的一个具有二阶精度的近似值，那么仍有 | s ″ ( x i ) − u ″ ( x i ) | = O ( h 4 ) 成立。如何给出 ε i 2 的一个具有二阶精度的近似值呢？ 首先，对方程(3.4)两边连续求导两次，得 u ( 4 ) ( x i ) = 1 v ( f ″ ( x i ) − p ( x i ) u ‴ ( x i ) − ( 2 p ′ ( x i ) + q ( x i ) ) u ″ ( x i )             − ( p ″ ( x i ) + 2 q ′ ( x i ) ) u ′ ( x i ) − q ″ ( x i ) u ( x i ) ) . (3.9) 将式(3.4)，(3.5)代入(3.9)得 u ( 4 ) ( x i ) = 1 v ( ( − p ″ ( x i ) + 3 p ( x i ) p ′ ( x i ) v + 2 p ( x i ) q ( x i ) v − p 3 ( x i ) v 2 − 2 q ′ ( x i ) ) u ′ ( x i )                     + ( 2 p ′ ( x i ) q ( x i ) v + p ( x i ) q ′ ( x i ) v − p 2 ( x i ) q ( x i ) v 2 + q 2 ( x i ) v − q ″ ( x i ) ) u ( x i )             + ( − 2 p ( x i ) v + p 2 ( x i ) v 2 − q ( x i ) v ) f ( x i ) + f ″ ( x i ) − f ′ ( x i ) p ( x i ) v ) . 不妨记作 u ( 4 ) ( x i ) = 1 v ( g 1 ( x i ) u ′ ( x i ) + g 2 ( x i ) u ( x i ) + g 3 ( x i ) f ( x i ) + g 4 ( x i ) ) ，其中 g 1 ( x i ) = − p ″ ( x i ) + 3 p ( x i ) p ′ ( x i ) v + 2 p ( x i ) q ( x i ) v − p 3 ( x i ) v 2 − 2 q ′ ( x i ) ， g 2 ( x i ) = 2 p ′ ( x i ) q ( x i ) v + p ( x i ) q ′ ( x i ) v − p 2 ( x i ) q ( x i ) v 2 + q 2 ( x i ) v − q ″ ( x i ) ， g 3 ( x i ) = − 2 p ( x i ) v + p 2 ( x i ) v 2 − q ( x i ) v ， g 4 ( x i ) = f ″ ( x i ) − f ′ ( x i ) p ( x i ) v . 根据RBF-FD公式(2.8)的截断误差，可知 s ″ ( x i ) − u ″ ( x i ) = ( 5 u ″ ( x i ) 4 ε 2 + u ( 4 ) ( x i ) 12 ) h 2 + O ( h 4 ) . 从而，当 ε i 2 = − 1 15 u ( 4 ) ( x i ) u ″ ( x i ) ≈ − 1 15 ( u ( x i + 1 ) − u ( x i − 1 ) ) g 1 ( x i ) + 2 h ( u ( x i ) g 2 ( x i ) + f ( x i ) g 3 ( x i ) + g 4 ( x i ) ) 2 h ( f ( x i ) − q ( x i ) u ( x i ) ) − p ( x i ) ( u ( x i + 1 ) − u ( x i − 1 ) ) . 时，有 s ″ ( x i ) = u ″ ( x i ) + O ( h 4 ) 成立。 Algorithm I：差分方程(3.7)的迭代求解过程： STEP 1：迭代格式(3.8)的初始值选择：利用二阶中心差分格式 { v ⋅ u i + 1 − 2 u i + u i − 1 h 2 + p i ⋅ u i + 1 − u i − 1 2 h + q i u i = f i ，   i = 2 ， ⋯ ， n ， u 1 = α ，   u n + 1 = β (3.10) 计算出一组具有 O ( h 2 ) 精度的近似解 { u i } i = 1 n + 1 。 STEP 2：以 { u i } i = 1 n + 1 作为格式(3.8)的初始值 U 0 进行迭代计算，直到满足终止条件 ‖ U k + ! − U k ‖ 2 / ‖ U k ‖ 2 ≤ 10 − 5 时，迭代终止。 3.3. 数值实验 例1：利用Algorithm I求解下列两点边值问题： { v u ″ − u ′ = − v π 2 sin ( π x ) − cos ( π x ) ，   0 < x < 1 u ( 0 ) = 0 ，     u ( 1 ) = 0. 其精确解为 u ( x ) = sin ( π x ) 。 下表分别给出了，当小粘性系数 v 取不同值时，本文构造的RBF-FD格式(3.7)的解的迭代次数(Iter)、误差( l 1 -error)、收敛阶(order)和计算时间(Time(s))，其中 l 1 -error = 1 n + 1 ∑ i = 1 n + 1 | u i − u ( x i ) | . 同时，表2中还列出了二阶中心差分格式(3.10)的解的误差、收敛阶及计算时间。 表2~表5分别给出了 v = 1 ， 0.1 ， 0.01 ， 0.001 时，本文构造的RBF-FD格式(3.7)在不同步长下解的误差 Table 2 The error， convergence order and calculation time of RBF-FD format (3.7) and central difference format (3.10) under different steps when v = RBF-FD格式 二阶中心差分格式 h Iter l 1 -error order Time(s) l 1 -error order Time(s) 1/5 3 0.0011 / 0.0017 0.0175 / 0.0001 1/10 2 7.8850e−05 3.8022 0.0018 0.0048 1.8662 0.0001 1/20 2 5.2323e−06 3.9136 0.0031 0.0013 1.8845 0.0001 1/40 2 3.3615e−07 3.9603 0.0085 3.2480e−04 2.0009 0.0001 1/80 2 2.1287e−08 3.9811 0.0311 8.2217e−05 1.9820 0.0001 1/160 2 1.3390e−09 3.9907 0.1402 2.0683e−05 1.9910 0.0002 1/320 1 8.3725e−11 3.9994 0.8365 5.1869e−06 1.9955 0.0002 表2. v = 1时RBF-FD格式(3.7)与中心差分格式(3.10)在不同步长下解的误差、收敛阶及计算时间 Table 3 The error， convergence order and calculation time of RBF-FD format (3.7) and central difference format (3.10) under different steps when v = 0. h Iter l 1 -error order Time(s) 1/5 9 0.0382 / 0.0014 1/10 7 0.0047 3.0228 0.0019 1/20 5 3.7369e−04 3.6527 0.0030 1/40 3 2.4336e−05 3.9407 0.0081 1/80 3 1.5434e−06 3.9789 0.0304 1/160 2 9.7117e−08 3.9902 0.1453 1/320 2 6.0897e−09 3.9953 0.8651 表3. v = 0.1时RBF-FD格式(3.7)与中心差分格式(3.10)在不同步长下解的误差、收敛阶及计算时间 Table 4 The error， convergence order and calculation time of RBF-FD format (3.7) and central difference format (3.10) under different steps when v = 0.0 h Iter l 1 -error order Time(s) 1/5 5 0.0072 / 0.0018 1/10 4 6.8856e−04 3.3863 0.0024 1/20 3 5.1999e−05 3.7270 0.0032 1/40 2 3.4797e−06 3.9014 0.0083 1/80 2 2.2279e−07 3.9652 0.0309 1/160 2 1.4054e−08 3.9866 0.1400 1/320 2 8.8175e−10 3.9945 0.8582 表4. v = 0.01时RBF-FD格式(3.7)与中心差分格式(3.10)在不同步长下解的误差、收敛阶及计算时间 Table 5 The error， convergence order and calculation time of RBF-FD format (3.7) and central difference format (3.10) under different steps when v = 0.00 h Iter l 1 -error order Time(s) 1/5 3 0.5132 / 0.0022 1/10 1 0.0476 3.4305 0.0018 1/20 1 0.0023 4.3713 0.0031 1/40 1 2.2760e−04 3.3371 0.0086 1/80 1 1.5507e−05 3.8755 0.0311 1/160 1 9.7868e−07 3.9859 0.1431 1/320 1 6.1358e−08 3.9955 0.8111 表5. v = 0.001时RBF-FD格式(3.7)与中心差分格式(3.10)在不同步长下解的误差、收敛阶及计算时间 ( l 1 -error)及收敛阶(order)。由数值结果可以看出，对于例1中的问题，本文构造的格式在 v = 1 ~ 0.001 时能够达到四阶收敛速度，与传统的基于三节点的中心差分格式(3.10)相比，收敛阶提高了2阶，而计算时间略有增加。但是在 v 小于0.001的粗网格情况下，RBF-FD格式的精度与收敛阶会有所下降。导致这一 问题的本质原因是，因为格式(3.7)的截断误差中含有 1 v 和 1 v 2 项，从而在步长 h 较大时，截断误差会随着粘性系数 v 的减小而增大，这就导致了当 v 取值较小，而网格较粗时，格式(3.7)的精度与收敛阶也会随之下降。