Burgers' equation / Finite difference method

928 Views Asked by At

Let's consider the Burgers' equation: $$u_t(x,t)+u(x,t).u_x(x,t)=\epsilon.u_{xx}(x,t) \; , \; x\in \mathbb{R} \; ,\;t>0$$ And with the following initial condition: $$u(x,0)=1_{\{x<0\}}(x)$$ I want to solve it using (Matlab, C, ... or any software) numerically and have a graphe of the solution.

the problem is that the problem is not linear, so can the finite diffrence method work in this case ?

1

There are 1 best solutions below

2
On

Why would a finite difference method not work? It can even be applied to the non-linear Navier-Stokes equations in multiple dimensions. Non-linearity is not an impediment even with time-implicit schemes as a system of non-linear difference equations can be solved iteratively.

As a starting point, a simple explicit discretization is

$$\frac{u_j^{n+1} - u_j^n}{\Delta t} + u_j^n \frac{u_{j}^n- u_{j-1}^n}{\Delta x} =\epsilon \frac{u_{j+1}^n- 2u_j^n + u_{j-1}^n}{(\Delta x)^2} $$

There are many variations, both explicit and implicit, including leap frog, Lax-Wendroff, etc. They have different properties in terms of accuracy, stability and efficiency.

An internet search with keywords "Burger's equation" and "finite difference method" will provide many references.