I am currently trying to solve some PDEs with FiPy. At page 56, the manual mentions (https://www.ctcms.nist.gov/fipy/download/fipy-3.0.pdf).

The largest stable timestep that can be taken for this explicit 1D diffusion problem is $∆t ≤ ∆x^ 2/(2D)$.

A few questions that might appear basic but I'm having a really hard time getting my head around:

  1. Why is that inequality? How does that scale for 2D and 3D problems?

  2. Shouldn't units come into play here? For example, if I converted by time-step from hours to minutes, then clearly the magnitude of the value would change, even though the actual time represented would remain the same? Or does the fact I am also scaling the Diffusivity (which depends both on the units of space and time) ensures the inequality remains sound?

  • 1
    $\begingroup$ Do you know what stability and convergence mean in the context of PDEs? Have you looked up von Neumann analysis? $\endgroup$
    – Kyle Kanos
    Apr 2, 2019 at 20:32
  • 1
    $\begingroup$ Would Computational Science be a better home for this question? $\endgroup$
    – Qmechanic
    Apr 2, 2019 at 20:42
  • $\begingroup$ @Qmechanic I don't think so. I am using a computer framework to (try to) solve this, but the questions are strictly related to be physics. If I had removed the preamble the question would still stand. $\endgroup$
    – DarioP
    Apr 2, 2019 at 20:47
  • 5
    $\begingroup$ @DarioP There's actually nothing about physics in here -- it's purely computational science. That inequality, and the ratio etc., all arise from numerical discretization of the problem. It's not inherent to the PDE itself. Maybe question 2 would be on topic here, because it has to do with units of a physical property. $\endgroup$
    – tpg2114
    Apr 2, 2019 at 21:46
  • $\begingroup$ As @kyle-kanos partially pointed out this is a problem with numerical stability for which von Neumann analysis can lead to the above inequality. Any book on numerical PDEs would have a number of ways to perform this analysis. $\endgroup$ Apr 3, 2019 at 13:41

1 Answer 1

  1. This comes from von Neumann stability analysis. You discretize the partial differential equation and look at the error equation, which is the difference between the exact solution to the finite difference approximation and the actual equation. You need the error to shrink in time, and if you assume that the error behaves like a fourier series, you can evaluate the growth of the error, which must have a magnitude less than one for stability. The page for von Neumann analysis on wikipedia can explain the exact process to follow for your question. In 2D or 3D it is more complicated, but as I recall it is possible in some cases. One thing to note is that von Neumann error analysis is developed for linear PDEs.
  2. Yes, your diffusivity should be on the RHS of the inequality and will scale with your units appropriately

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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