Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

FiPy is a Finite Volume PDE solver written in Python

License

NotificationsYou must be signed in to change notification settings

usnistgov/fipy

Repository files navigation

TestsDocumentationnix
GitHubPyPICondaForgeBinder
gitterOpenHub

FiPy is an object oriented, partial differential equation (PDE)solver, written inPython, based on a standard finite volume(FV) approach. The framework has been developed in the Materials Scienceand Engineering Division (MSED) and Center for Theoretical andComputational Materials Science (CTCMS), in the Material MeasurementLaboratory (MML) at the National Institute of Standards and Technology(NIST).

The solution of coupled sets of PDEs is ubiquitous to the numericalsimulation of science problems. Numerous PDE solvers exist, using avariety of languages and numerical approaches. Many are proprietary,expensive and difficult to customize. As a result, scientists spendconsiderable resources repeatedly developing limited tools forspecific problems. Our approach, combining the FV method andPython,provides a tool that is extensible, powerful and freely available. Asignificant advantage toPython is the existing suite of tools forarray calculations, sparse matrices and data rendering.

TheFiPy framework includes terms for transient diffusion,convection and standard sources, enabling the solution of arbitrarycombinations of coupled elliptic, hyperbolic and parabolic PDEs. Currentlyimplemented models include phase field:cite:`BoettingerReview:2002`:cite:`ChenReview:2002`:cite:`McFaddenReview:2002` treatments of polycrystalline,dendritic, and electrochemical phase transformations, as well as drugeluting stents:cite:`Saylor:2011p2794`, reactive wetting:cite:`PhysRevE.82.051601`,photovoltaics:cite:`Hangarter:2011p2795` and a level set treatment of theelectrodeposition process:cite:`NIST:damascene:2001`.

The latest information aboutFiPy can be found athttp://www.ctcms.nist.gov/fipy/.

See the latest updates in theChange Log.

Even if you don't read manuals...

...please readInstallation,Using FiPy andFrequently Asked Questions, as wellasexamples.diffusion.mesh1D.

Download and Installation

Please refer toInstallation for details on download andinstallation.FiPy can be redistributed and/or modifiedfreely, provided that any derivative works bear some notice that theyare derived from it, and any modified versions bear some notice thatthey have been modified.

Support

We offer several modes to communicate with theFiPy developers andwith other users.

We welcome collaborative efforts on this project.

Conventions and Notation

FiPy is driven byPython script files than you can view or modify in anytext editor.FiPy sessions are invoked from a command-line shell, suchas:command:`tcsh` or:command:`bash`.

Throughout, text to be typed at the keyboard will appearlike this.Commands to be issued from an interactive shell will appear:

$ like this

where you would enter the text ("like this") following the shell prompt,denoted by "$".

Text blocks of the form:

>>> a = 3 * 4>>> a12>>> if a == 12:...     print "a is twelve"...a is twelve

are intended to indicate an interactive session in thePython interpreter.We will refer to these as "interactive sessions" or as "doctest blocks".The text ">>>" at the beginning of a line denotes theprimary prompt,calling for input of aPython command. The text "..." denotes thesecondary prompt, which calls for input that continues from the lineabove, when required byPython syntax. All remaining lines, which beginat the left margin, denote output from thePython interpreter. In allcases, the prompt is supplied by thePython interpreter and should not betyped by you.

🚩 Warning
Python is sensitive to indentation and care should be taken to entertext exactly as it appears in the examples.

When references are made to file system paths, it is assumed that thecurrent working directory is theFiPy distribution directory, referred toas the "base directory", such that:

examples/diffusion/steadyState/mesh1D.py

will correspond to,e.g.:

/some/where/FiPy-X.Y/examples/diffusion/steadyState/mesh1D.py

Paths will always be rendered using POSIX conventions (path elementsseparated by "/"). Any references of the form:

examples.diffusion.steadyState.mesh1D

are in thePython module notation and correspond to the equivalent POSIXpath given above.

We may at times use a

📝 Note
to indicate something that may be of interest

or a

🚩 Warning
to indicate something that could cause serious problems.

[8]ページ先頭

©2009-2025 Movatter.jp