The Mathematics of Diffusion, by John Crank. |
Crank died five years ago this week. Like Wilson Greatbatch, who I discussed in my last blog entry, Crank was one of those scientists who came of age serving in the military during World War Two (Tom Brokaw would call them members the “Greatest Generation”). Crank’s 2006 obituary in the British newspaper The Telegraph states:
John Crank was born on February 6 1916 at Hindley, Lancashire, the only son of a carpenter’s pattern-maker. He studied at Manchester University, where he gained his BSc and MSc. At Manchester he was a student of the physicist Lawrence Bragg, the youngest-ever winner of a Nobel prize, and of Douglas Hartree, a leading numerical analyst.Crank is best known for a numerical technique to solve equations like the diffusion equation, developed with Phyllis Nicolson and known as the Crank-Nicolson method. The algorithm has the advantage that it is numerically stable, which can be shown using von Neuman stability analysis. They published this method in a 1947 paper in the Proceedings of the Cambridge Philosophical Society
Crank was seconded to war work during the Second World War, in his case to work on ballistics. This was followed by employment as a mathematical physicist at Courtaulds Fundamental Research Laboratory from 1945 to 1957. He was then, from 1957 to 1981, professor of mathematics at Brunel University (initially Brunel College in Acton).
Crank published only a few research papers, but they were seminal. Even more influential were his books. His work at Courtaulds led him to write The Mathematics of Diffusion, a much-cited text that is still an inspiration for researchers who strive to understand how heat and mass can be transferred in crystalline and polymeric material. He subsequently produced Free and Moving Boundary Problems, which encompassed the analysis and numerical solution of a class of mathematical models that are fundamental to industrial processes such as crystal growth and food refrigeration.
Crank, J., and P. Nicolson (1947) “A Practical Method for Numerical Evaluation of Solutions of Partial Differential Equations of the Heat Conduction Type,” Proc. Camb. Phil. Soc., Volume 43, Pages 50–67.Rather than describe the Crank-Nicolson method, I will let the reader explore it in a new homework problem.
Section 4.8The citation is to my favorite book on computational methods: Numerical Recipes (of course, the link is to the FORTRAN 77 version, which is the edition that sits on my shelf).
Problem 24 ½ The numerical approximation for the diffusion equation, derived as part of Problem 24, has a key limitation: it is unstable if the time step is too large. This problem can be avoided using the Crank-Nicolson method. Replace the first time derivative in the diffusion equation with a finite difference, as was done in Problem 24. Next, replace the second space derivative with the finite difference approximation from Problem 24, but instead of evaluating the second derivative at time t, use the average of the second derivative evaluated at times t and t+Δt.
(a) Write down this numerical approximation to the diffusion equation, analogous to Eq. 4 in Problem 24.
(b) Explain why this expression is more difficult to compute than the expression given in the first two lines of Eq. 4. Hint: consider how you determine C(t+Δt) once you know C(t).
The difficulty you discover in part (b) is offset by the advantage that the Crank-Nicolson method is stable for any time step. For more information about the Crank-Nicolson method, stability, and other numerical issues, see Press et al. (1992).