Contents | Chosen scheme | Discretisation | Operators |
The
numerical model used to program the resolution of the Burgers'
equation is a generalised Crank-Nicholson scheme.
The
model is obtained by the discretization of the conservative
formulation of the Burger's viscous equation:
.
This
discretization includes a mass operator for the term depending on the
time and a four point upwind discretization of the convective term.
With
the equation and the different operators, we obtain the following
discretisation:
(3)
which can be written in:
(4)
Matrix
formulation
The matrix formulation of the discretisation is:
for u positive:
(5)
for u negative:
(6)
Boundary
conditions
The discretisation introduces problems at the boundaries of the domain, when j = 1, 2 or j = k-1, k (limit of the points). The new discretisation in the limits depends on the type of boundary conditions, rigid or free.
The rigid conditions impose the value of u at the extremities of the domain. The solution does not depend on the values outside the domain, so the new scheme is written:
for j = 1,2
for j = k-1,k
The free conditions impose that the flux at the extremities is null. We can then introduce four fictive cells at the extremities of the domain (two for each side), so the new scheme at the limits is:
for j = 1,2
for j = k-1,k
Precision
The truncation error for the scheme (4) is of the form of O(dt2,dx2). This proves that the scheme is a dispersive one, when the viscosity is very small. This point will be discussed in the section Scheme comparison.
Parameters
q and delta
The rule of the parameters q and delta is to generate specific schemes from the generalised discretisation and they establish the stability conditions for the scheme.
The solutions are stable when
.
Different values of delta and q conduce to different schemes:
delta |
q |
scheme |
---|---|---|
0 |
0 |
CN finite differences |
0.1667 |
0 |
CN finite elements |
0.12 |
0 |
CN mass operator |
0 |
0.5 |
CN 4 points upwind |
The last rule of the parameters is to reduce the dispersive oscillation and therefore to construct low-dispersion schemes.
To write the numerical scheme, the following operators were needed: mass operator, four point upwind discretisation operator and the operator for the viscous term. This section details the definition of each operator.
Mass
operator:
This operator is a tridiagonal matrix.
4-points
upwind discretisation
This operator depends on the sign of u.
These two operators conduct to a pentadiagonal matrix.
viscous
term
(tridiagonal matrix)