You are currently browsing the category archive for the ‘Numerical method for nonlinear PDE’ category.

Consider thin film equation:

h_t + \nabla\cdot(h^3\nabla\Delta^2 h) =0.

Standard 2nd order finite difference discretization with Newton’s method for the nonlinear system gives us a linear system in each iteration.

[I-\Delta t (J_x-J_y-J_m)]c = b,

where J_* is the Jacobian matrix for the x,y and mix derivative terms. To solve it using ADI, we make the following approximation :

[I-\Delta t (J_x-J_y-J_m)] \sim [I-\Delta t J_x][I-\Delta t J_y] + O(\Delta t).

As a result, we are able to decouple the whole system into many smaller ones, and is much easier to solve.

The remaining question is, how to improve the approximation to make it more accurate ? Numerical simulation suggests that such kind of decouple procedure do improve the performance. The running time is reduced roughly by 10. However, the number of Newton’s iteration increases significantly. That’s mainly because the approximation matrix is in some sense a first order approximation to the Newton’s matrix. Hence the convergent rate is reduced to linearly instead of quadratically in usual Newton’s method.

Advertisements

In general, time dependent PDE can be expressed as

h_t + f(h) = 0.

It can be discretized in time by the so-called \theta method :

\frac{h^{n+1}-h^n}{\Delta t} + (1-\theta) f^{n+1} + \theta f^n = 0.

Therefore, after discretizing in space, we have a nonlinear system of equations to solve :

h^{n+1} + (1-\theta) \Delta t f^{n+1} = h^n - \theta\Delta t f^n.

To solve it, we apply the Newton’s method. At first, we linearize h^{n+1} about a guess of the solution by assuming h^{n+1} = h^* + c, where h^* is a guess and c is the correction. Then we express the nonlinear part using Taylor’s expansion

f^{n+1}=f(h^{n+1})=f(h^*+c)=f(h^*)+J_f(h^*)\cdot c = f^*+J_f^* \cdot c,

where J_fis the Jacobian matrix for function f and J_f^*=J_f(h^*). Finally, we obtain a system of linear equations for the correction term

( I + (1-\theta) \Delta t J_f^* ) c = -h^* - (1-\theta)\Delta t f^* + h^n - \theta\Delta t f^n.

So, from time step t=t^n to t=t^{n+1},we need to keep correcting the guess solution until the correction term is small enough.