Skip to main content
U.S. flag

An official website of the United States government

Official websites use .gov
A .gov website belongs to an official government organization in the United States.

Secure .gov websites use HTTPS
A lock ( ) or https:// means you’ve safely connected to the .gov website. Share sensitive information only on official, secure websites.

FiPy: PDEs in Python



Jonathan E. Guyer, Daniel Wheeler, James A. Warren


Partial differential equations (PDEs) are ubiquitous to the mathematical description of physical phenomena. They describe the relationships between functions of more than one independent variable and partial derivatives with respect to those variables. Typical examples in the physical sciences describe the evolution of a field in time as a function of its value in space, such as in wave propagation or heat flow. There is a plethora of numerical PDE solvers, and FiPy <> will not be the last addition to that collection. 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. The need for many researchers, in our experience, is 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. A search of the internet turns up a multitude of codes with promising names and abstracts, but they are generally unapproachable by those who don't already know the answer to the question they are asking. As a result, scientists spend considerable resources repeatedly developing limited tools for specific problems.
Computing in Science & Engineering


partial differential equations, computational materials science, numerical methods, scripting


Guyer, J. , Wheeler, D. and Warren, J. (2009), FiPy: PDEs in Python, Computing in Science & Engineering, [online], (Accessed May 19, 2024)


If you have any questions about this publication or are having problems accessing it, please contact

Created February 23, 2009, Updated June 2, 2021