I've been trying to find a finite difference scheme for the 1D partial differential equation as follows:

$\frac{\partial F}{\partial t}=\frac{\partial}{\partial x} (( \frac{\partial F}{\partial x})^k)$

However I have not found any material on how to construct one for a non-linear function such as this one. I have tried a few methods however without knowledge of how the steps in space occur in a function such as this I am unsure of their accuracy. Any comment on the stability of such a scheme would also be very useful.


  • 1
    $\begingroup$ What are the boundary/initial conditions? $\endgroup$ – Yuriy S Nov 14 '18 at 17:52
  • $\begingroup$ Any Neumann, Dirichlet or other boundary conditions are good! They would all be useful in understanding how it works. $\endgroup$ – user536082 Nov 14 '18 at 17:57

This is how I would try to solve it numerically (mind, I haven't worked with problems like that).

Differentiate w.r.t. $x$:

$$\frac{\partial}{\partial x}\frac{\partial F}{\partial t}=\frac{\partial^2}{\partial x^2} \left(\left( \frac{\partial F}{\partial x}\right)^k \right)$$

Change the order of the derivatives on the l.h.s. and introduce a new function:

$$\frac{\partial F}{\partial x}=G$$

Now we are solving:

$$\frac{\partial G}{\partial t}=\frac{\partial^2}{\partial x^2} G^k$$

This could be done with the usual second order finite difference scheme.

Suppose we get a numerical solution $G(x,t) \approx G_{nm}$, where the indices are for time and space grid points.

Now we need to solve:

$$\frac{\partial F}{\partial x}=G$$

This is again, a very standard problem for any first order finite difference scheme. In an explicit way, for example:

$$\frac{F_{n,m+1}-F_{n,m}}{\Delta x}=G_{n,m}$$

Important note: the boundary/initial conditions might change this scheme a little. We should be careful not to lose some solutions or introduce spurious ones, because we have taken an extra $x$ derivative.

  • $\begingroup$ Thanks that is useful, I can see how I would copmute a forwards step in space using this scheme, however how would I obtain values for F in future times? $\endgroup$ – user536082 Nov 14 '18 at 19:08
  • $\begingroup$ @user536082, but you already know them from solving for $G$? Notice that the index $n$ doesn't change... $\endgroup$ – Yuriy S Nov 14 '18 at 19:09
  • $\begingroup$ Ah I think I understand, just to make sure the n index is the time correct? $\endgroup$ – user536082 Nov 14 '18 at 19:13
  • $\begingroup$ @user536082, yes, it's the time $\endgroup$ – Yuriy S Nov 14 '18 at 19:14
  • $\begingroup$ I'm sorry I thought I understood, but I am still stuck, could you outline a little more how I could get an expression for $$F_{n+1,m}$$ using only information from the timeperiod n. I may be missing something very obvious as I can't see how this is possible based on the previous. $\endgroup$ – user536082 Nov 14 '18 at 20:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.