0
$\begingroup$

Consider, $$ u_t = uu_{xx}$$ to be solved on $t > 0,$ $0 \leq x \leq 1$ with $u(0,t) = u(1,t)$ and $u_x(0,t) = u_x(1,t).$ Given $u(x,0) = \phi(x)$ where $\phi$ is as smooth as needed:

What restrictions on $\phi(x)$ are needed in order to be able to obtain a convergent finite difference scheme? Why?

Given such a $\phi,$ construct a convergent FD scheme.

My thoughts: The only consideration I can think of for $\phi(x)$ might be that $\phi(x) \geq 0$ for all $x.$ Otherwise, the PDE would be unstable due to a negative coefficient in front of $u_{xx}.$ However, I feel like there is more to this part.

Supposing that we are given an appropriate $\phi,$ my naive guess at a FD scheme would be, $$ \frac{u_i^{n+1} - u_i^n}{\Delta t} = u_i^n \bigg( \frac{u_{i+1}^n - 2u_i^n + u_{i-1}^n}{\Delta x^2} \bigg).$$

Does anyone know off the top of their head if this is a seriously flawed guess? I haven't thought too long about how I would show stability for a nonlinear scheme.

Any suggestions/help would be appreciated, thanks!

2 Answers 2

1

To enforce positivity, you could also use that $(\ln(u))_t=u_{xx}$, which would discretize in the Euler forward scheme you used as $$ \frac{\ln(u_i^{n+1})-\ln(u_i^n)}{Δt} =\frac{u^n_{i+1}−2u^n_i+u^n_{i−1}}{Δx^2} \\~\\\iff u_i^{n+1}=u_i^n·\exp\left(\frac{Δt}{Δx^2}(u^n_{i+1}−2u^n_i+u^n_{i−1})\right). $$


Or substitute $u=e^v$, $u_t=e^vv_t$, $u_x=e^vv_x$, $u_{xx}=e^vv_{xx}+e^vv_x^2$ which gives the PDE for the exponent $v$ $$ v_t=e^v(v_{xx}+v_x^2) $$ which discretizes in the simple Euler forward scheme as $$ v_i^{n+1}=v_i^n+\frac{Δt}{Δx^2}·e^{v_i^n}·\left((v^n_{i+1}−2v^n_i+v^n_{i−1})+\tfrac14(v^n_{i+1}−v^n_{i−1})^2\right) $$

1

Here are some hints. Write $s = \Delta t/\Delta x^2$ and rewrite the scheme as

$$ u^{n+1}_j = (1 - 2u^n_j s)u^n_j + su^n_j(u^n_{j+1} + u^n_{j-1}).$$

A nonlinear scheme like this is stable if it is monotone and if all the coefficients sum to $1$ or less. Monotone means the coefficients are positive. So you need $u^n_j \geq 0$, as you suspected, and you need to choose $\Delta t$ so that

$$1 - 2u^n_j s \geq 0.$$

For this, you would need some a priori estimates on how large $u^n_j$ can be. Use the maximum principle for this.

  • 0
    Great answer, thanks!2017-01-16