Issue No. 03 - May/June (2009 vol. 11)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MCSE.2009.52
Jonathan E. Guyer , US National Institute of Standards and Technology
James A. Warren , US National Institute of Standards and Technology
Daniel Wheeler , 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.
partial differential equations; Python; phase field; computing in science and engineering
Jonathan E. Guyer, James A. Warren, Daniel Wheeler, "FiPy: Partial Differential Equations with Python", Computing in Science & Engineering, vol. 11, no. , pp. 6-15, May/June 2009, doi:10.1109/MCSE.2009.52