Skip to content

WikiStart

Jonathan Guyer edited this page Sep 26, 2014 · 1 revision

Table of Contents

The FiPy source code is now hosted at https://github.com/usnistgov/fipy

This site is no longer active

Overview

FiPy is an object oriented, partial differential equation (PDE) solver, written in Python , based on a standard finite volume approach. The framework has been developed in the Metallurgy Division 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 finite volume 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 treatments of polycrystalline, dendritic, and electrochemical phase transformations as well as a level set treatment of the electrodeposition process .

The primary homepage for FiPy is at http://www.ctcms.nist.gov/fipy.

To ask questions, please join FiPy's mailing list.

Other wiki pages:

 - Examples provided by FiPy users:
    [[TitleIndex(CookBook)]]
  - A wiki page about using '''FiPy''' in the classroom has been started at TeachingWithFiPy
  - A wiki page for publications that have used '''FiPy''' simulations or cited '''FiPy''' has been started at FiPyPublications
  - [wiki:inlining Discussion of C inlining]
  - Extensive document on using Python for scientific computing: http://amath.colorado.edu/faculty/fperez/tmp/py4science.pdf
  - Jim thinks multigrid is the key to keep '''FiPy''' current. [wiki:multigrid What do we have to do to get something working? What packages are out there and what have we reviewed?]
  - Discussion of installation issues [wiki:installation]
  - A discussion on a future syntax and mechanism for SimultaneousSolutions

This MatForge Trac site provides:

 * a public interface to the [http://subversion.tigris.org Subversion] repository holding the '''FiPy''' [source: source code]
 * a mechanism for filing and searching [report: bug reports and feature requests]
 * a collaborative TracWiki environment where '''FiPy''' users and developers can share their experience and their code

Download

 * Download '''FiPy''' [wiki:FiPyFiles releases and documentation]

Starting Points

 * [http://www.ctcms.nist.gov/fipy FiPy home page]
 * TeachingWithFiPy
 * TracGuide --  Built-in Documentation
 * [http://projects.edgewall.com/trac/ The Trac project] -- Trac Open Source Project
 * [http://projects.edgewall.com/trac/wiki/TracFaq Trac FAQ] -- Frequently Asked Questions
 * TracSupport --  Trac Support

For a complete list of local wiki pages, see TitleIndex.

Disclaimer

Any mention of commercial products within NIST web pages on !MatForge is for information only; it does not imply recommendation or endorsement by NIST.

Use of NIST Information

These World Wide Web pages are provided as a public service by the National Institute of Standards and Technology (NIST). With the exception of material marked as copyrighted, information presented on these pages is considered public information and may be distributed or copied. Use of appropriate byline/photo/image credits is requested.

Clone this wiki locally