1D static Burgers equation solved by finite difference method 有限差分法求解一维稳态Burges方程

1D static Burgers equation solved by finite difference method 

有限差分法求解一维稳态Burges方程

一维稳态Burgers方程:

u \frac{\partial u}{\partial x} - \alpha \frac{\partial^2 u}{\partial x^2} = 0 \tag1

为二阶非线性方程,其中一个解释解(analytical solution)为:u(x) = \frac{-2 \alpha}{x}.

Question, 问题:用数值方法求解此方程。并验证方法的可靠性。

Method, 方法:

要用有限差分法求解此方程,先要把方程线性化(linearization),即把u(x)在 u_0(x)处展开有: u(x) = u_0 (x) + \delta u(x),而只保留 \delta u (x)一次项。可以证明u(x)与其一次展开的局部性质一致。(It is porved that u(x) has same local properties as its first order expansion.)

展开后的线性方程为:

u_0 \frac{\partial u_0}{\partial x} + u_0 \frac{\partial \delta u}{\partial x} + \delta u \frac{\partial u_0}{\partial x} - \alpha \frac{\partial^2 u }{\partial x^2} = 0 \tag2

再用有限差分法,

\frac{\partial f}{\partial x} = \frac{f(i+1) - f(i-1)}{2h} \ , \ \frac{\partial f^2}{\partial x^2} = \frac{f(i+1)-2f(i)+f(i-1)}{h^2}

得到\delta u (i)的算式:

\delta u (i) = \frac{-hu_0(i)(u_0(i+1)-u_0(i-1))-hu_0(i)(\delta u (i+1) - \delta u (i-1)) + 2\alpha (u_0(i+1) -2u_0(i)+u_0(i-1) ) +2\alpha (\delta u (i+1) + \delta u (i - 1))}{4\alpha + h (u_0(i+1) - u_0(i - 1))} \tag3

最后用

u^{k+1}_0 (i) = u_0^{k}(i) + \delta u^k(i) \tag4

求处u_0(x).

求解的程序需要嵌套两个循环,其中内循环计算等式(3) \delta u (i),外循环计算等式(4) u_0^{k+1}(i)。当内外循环各取100次后,计算结果如图1:


图1:曲线(1)为初始值(initial conditions),曲线(2)为计算的最终结果(final result),曲线(3)为解释解(analytical result)。

曲线(2)计算的最终结果与曲线(3)解释解非常吻合,计算结果正确可靠。

Conclusion, 结论:

此处证明了线性化加上有限差分法(linearization plus finite difference method)可以有效求解一维稳态非线性方程。有可能把此方法推广应用到求解其它非线性方程。

It is possible to use linearization plus finite difference method to solve other nonlinear equations, for this appoarch is proved to be correct and reliable.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。