FiPy: A Finite Volume PDE Solver Using Python
FiPy is an object oriented, partial differential equation (PDE) solver, written in Python, based on a standard finite volume (FV) approach. The framework has been developed in the Materials Science and Engineering Division (MSED) and Center for Theoretical and Computational Materials Science (CTCMS), in the Material Measurement Laboratory (MML) at the National Institute of Standards and Technology (NIST).
The solution of coupled sets of PDEs is ubiquitous to the numerical simulation of science problems. Numerous PDE solvers exist, using a variety of languages and numerical approaches. Many are proprietary, expensive and difficult to customize. As a result, scientists spend considerable resources repeatedly developing limited tools for specific problems. Our approach, combining the FV method and Python, provides a tool that is extensible, powerful and freely available. A significant advantage to Python is the existing suite of tools for array calculations, sparse matrices and data rendering.
The FiPy framework includes terms for transient diffusion, convection and standard sources, enabling the solution of arbitrary combinations of coupled elliptic, hyperbolic and parabolic PDEs. Currently implemented models include phase field [BoettingerReview:2002] [ChenReview:2002] [McFaddenReview:2002] treatments of polycrystalline, dendritic, and electrochemical phase transformations as well as a level set treatment of the electrodeposition process[NIST:damascene:2001].
If you use FiPy in your research, please cite: (bibtex) (endnote) (pdf)
J. E. Guyer, D. Wheeler & J. A. Warren, "FiPy: Partial Differential Equations with Python," Computing in Science & Engineering 11(3) pp. 6—15 (2009), doi:10.1109/MCSE.2009.52, http://www.ctcms.nist.gov/fipy
Documentation
About FiPy
start here
Installation
how to install FiPy on different platforms
FiPy Usage
how to use FiPy
Examples
examples of usage
FAQs
frequently asked questions (with answers!)
License
terms of use
Numerical Approach
background on numerical solutions to PDEs
FiPy Design
FilosoPhy of FiPy
FiPy API
reference for Python programmers
Credits
significant contributors
Publications
papers and talks about (or using) FiPy
Applications
Superconformal Electrodeposition
level set treatment of "Damascene" electrodeposition
Virtual Kinetics of Materials Laboratory
interactive graphical examples from Purdue University
FiPy@MatForge
Download
Source Code
wiki
Reporting Bugs
Indices and tables
Global Module Index
quick access to all modules
General Index
all functions, classes, terms
Glossary
the most important terms explained
Search Page
search this documentation
Complete Table of Contents
lists all sections and subsections
References
lists of source materials