This Article 
 Bibliographic References 
 Add to: 
FiPy: Partial Differential Equations with Python
May/June 2009 (vol. 11 no. 3)
pp. 6-15
Jonathan E. Guyer, US National Institute of Standards and Technology
Daniel Wheeler, US National Institute of Standards and Technology
James A. Warren, US National Institute of Standards and Technology
Partial differential equations (PDEs) are ubiquitous to the mathematical description of physical phenomena. Typical examples describe the evolution of a field in time as a function of its value in space, such as in wave propagation or heat flow. Many existing PDE solver packages focus on the important, but arcane, task of actually numerically solving the linearized set of algebraic equations that result from the discretization of a set of PDEs, but the need for many researchers is often higher level than that. They have the physical knowledge to describe their model, and can apply differential calculus to obtain appropriate governing conditions, but when faced with rendering those governing equations on a computer, their skills (or time) are limited to explicit finite differences on uniform square grids. Of the PDE solver packages that focus on an appropriately high level, many are proprietary, expensive, and difficult to customize. Consequently, scientists spend considerable resources repeatedly developing limited tools for specific problems.

1. M. Tobis, "PyNSol: Objects as Scaffolding," Computing in Science &Eng., vol. 7, no. 4, 2005, pp. 84–91.
2. K.-A. Mardal et al., "Using Python to Solve Partial Differential Equations," Computing in Science &Eng., vol. 9, no. 3, 2007, pp. 48–51.
3. D. Josell, D. Wheeler, and T.P. Moffat, "Gold Superfill in Submicrometer Trenches: Experiment and Prediction," J. Electrochemical Soc., vol. 153, no. 1, 2006, pp. C11–C18.
4. W.J. Boettinger et al., "Computation of the Kirkendall Velocity and Displacement Fields in a One-Dimensional Binary Diffusion Couple with a Moving Interface," Proc. Royal Soc. A: Mathematical, vol. 463, 2007, pp. 3347–3373.
5. J. Mazur, "Numerical Simulation of Temperature Field in Soil Generated by Solar Radiation," J. Physique IV France, vol. 137, Nov. 2006, pp. 317–320.
6. J.W. Cahn and J.E. Hilliard, "Free Energy of a Nonuniform System. I. Interfacial Free Energy," J. Chemical Physics, vol. 28, no. 2, 1958, pp. 258–267.
7. J.W. Cahn, "Free Energy of a Nonuniform System. II. Thermodynamic Basis," J. Chemical Physics, vol. 30, no. 5, 1959, pp. 1121–1124.
8. J.A. Warren et al., "Extending Phase Field Models of Solidification to Polycrystalline Materials," Acta Materialia, vol. 51, no. 20, 2003, pp. 6035–6058.

Index Terms:
partial differential equations; Python; phase field; computing in science and engineering
Jonathan E. Guyer, Daniel Wheeler, James A. Warren, "FiPy: Partial Differential Equations with Python," Computing in Science and Engineering, vol. 11, no. 3, pp. 6-15, May-June 2009, doi:10.1109/MCSE.2009.52
Usage of this product signifies your acceptance of the Terms of Use.