root/trunk/README.txt

Revision 2794, 6.9 kB (checked in by guyer, 2 months ago)

testing

  • Property svn:mime-type set to text/x-rst
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1========
2Overview
3========
4
5|FiPy| is an object oriented, partial differential equation (PDE) solver,
6written in Python_ |citePython|, based on a standard finite volume (FV)
7approach.  The framework has been developed in the `Metallurgy Division`_
8and Center for Theoretical and Computational Materials Science (CTCMS_), in
9the Materials Science and Engineering Laboratory (MSEL_) at the National
10Institute of Standards and Technology (NIST_).
11
12The solution of coupled sets of PDEs is ubiquitous to the numerical
13simulation of science problems.  Numerous PDE solvers exist, using a
14variety of languages and numerical approaches. Many are proprietary,
15expensive and difficult to customize.  As a result, scientists spend
16considerable resources repeatedly developing limited tools for
17specific problems.  Our approach, combining the FV method and Python_,
18provides a tool that is extensible, powerful and freely available. A
19significant advantage to Python_ is the existing suite of tools for
20array calculations, sparse matrices and data rendering.
21
22The |FiPy| framework includes terms for transient diffusion, convection and
23standard sources, enabling the solution of arbitrary combinations of
24coupled elliptic, hyperbolic and parabolic PDEs.  Currently implemented
25models include phase field |citePhaseField| treatments of polycrystalline,
26dendritic, and electrochemical phase transformations as well as a level set
27treatment of the electrodeposition process |citeCEAC|.
28
29.. raw:: html
30 
31   <!--
32
33The latest information about |FiPy| can be found at
34http://www.ctcms.nist.gov/fipy/.
35
36.. raw:: html
37 
38   -->
39
40---------------------------------
41Even if you don't read manuals...
42---------------------------------
43
44...please read |INSTALLATION-txt| and |the FAQ|.
45
46-----------------------------------
47What's new in version |VERSION|
48-----------------------------------
49
50The significant changes since version 1.1 are:
51
52- ``--inline`` automatically generates C code from ``Variable`` expressions.
53
54- |FiPy| has been updated to use the Python_ NumPy_ module. |FiPy| no
55  longer works with the older Numeric_ module.
56
57.. _NumPy: http://www.nist.gov/cgi-bin/exit_nist.cgi?url=http://www.scipy.org/NumPy
58.. _Numeric:  http://www.nist.gov/cgi-bin/exit_nist.cgi?url=http://sourceforge.net/project/showfiles.php?group_id=1369&package_id=1351
59
60-------------------------
61Download and Installation
62-------------------------
63
64Please refer to |INSTALLATION-txt| for details on download and
65installation. |FiPy| can be redistributed and/or modified
66freely, provided that any derivative works bear some notice that they
67are derived from it, and any modified versions bear some notice that
68they have been modified.
69
70-------
71Support
72-------
73
74You can communicate with the |FiPy| developers and with other users via our
75`mailing list`_ and we welcome you to use the `tracking
76system`_ for bugs, support requests, feature requests and
77patch submissions |citeMailingTracking|. We welcome collaborative efforts on this project.
78
79|FiPy| is a member of MatForge_, a project of the `Materials Digital Library
80Pathway`_. This National Science Foundation funded service provides
81management of our public source code repository, our bug tracking system, and
82a "wiki" space for public contributions of code snippets, discussions, and
83tutorials.
84
85------------------------
86Conventions and Notation
87------------------------
88
89|FiPy| is driven by Python_ script files than you can view or modify in any
90text editor.  |FiPy| sessions are invoked from a command-line shell, such
91as ``tcsh`` or ``bash``.
92
93Throughout, text to be typed at the keyboard will appear ``like this``.
94Commands to be issued from an interactive shell will appear::
95
96    $ like this
97
98where you would enter the text ("``like this``") following the shell prompt,
99denoted by "``$``".
100
101Text blocks of the form::
102
103    >>> a = 3 * 4
104    >>> a
105    12
106    >>> if a == 12:
107    ...     print "a is twelve"
108    ...
109    a is twelve
110
111are intended to indicate an interactive session in the Python_ interpreter.
112We will refer to these as "interactive sessions" or as "doctest blocks".
113The text "``>>>``" at the beginning of a line denotes the *primary prompt*,
114calling for input of a Python_ command.  The text "``...``" denotes the
115*secondary prompt*, which calls for input that continues from the line
116above, when required by Python_ syntax.  All remaining lines, which begin
117at the left margin, denote output from the Python_ interpreter.  In all
118cases, the prompt is supplied by the Python_ interpreter and should not be
119typed by you.
120
121.. warning::
122
123   Python_ is sensitive to indentation and care should be taken to enter
124   text exactly as it appears in the examples.
125
126When references are made to file system paths, it is assumed that the
127current working directory is the |FiPy| distribution directory, refered to
128as the "base directory", such that::
129
130    examples/diffusion/steadyState/mesh1D/input.py
131
132will correspond to, *e.g.*::
133
134    /some/where/FiPy-1.0/examples/diffusion/steadyState/mesh1D/input.py
135
136Paths will always be rendered using POSIX conventions (path elements
137separated by "``/``").  Any references of the form::
138
139    examples.diffusion.steadyState.mesh1D.input
140
141are in the Python_ module notation and correspond to the equivalent POSIX
142path given above.
143
144We may at times use a
145
146.. note::
147
148   to indicate something that may be of interest
149
150or a
151
152.. warning::
153
154   to indicate something that could cause serious problems.
155
156.. _MSEL:                 http://www.msel.nist.gov/
157.. _CTCMS:                http://www.ctcms.nist.gov/
158.. _Metallurgy Division:  http://www.metallurgy.nist.gov/
159.. _NIST:                 http://www.nist.gov/
160.. _Python:               http://www.nist.gov/cgi-bin/exit_nist.cgi?url=http://www.python.org/
161.. _Subversion:           http://www.nist.gov/cgi-bin/exit_nist.cgi?url=http://matforge.org/fipy/browser
162.. _compressed archive:   http://www.ctcms.nist.gov/fipy/download/FiPy-1.1.tar.gz
163.. _tracking system:      http://www.nist.gov/cgi-bin/exit_nist.cgi?url=http://matforge.org/fipy/report
164.. _mailing list:         http://www.ctcms.nist.gov/fipy/mail.html
165.. _Sourceforge:          http://www.nist.gov/cgi-bin/exit_nist.cgi?url=http://www.sourceforge.net/projects/fipy
166.. _Materials Digital Library Pathway: http://www.nist.gov/cgi-bin/exit_nist.cgi?url=http://matdl.org
167.. _MatForge:             http://www.nist.gov/cgi-bin/exit_nist.cgi?url=http://matforge.org/
168
169.. include:: utils/include.txt
170.. include:: documentation/VERSION.txt
171
172.. |FiPy| replace:: |htmlFiPy| |latexFiPy|
173.. |INSTALLATION-txt| replace:: |htmlINSTALL| |latexINSTALL|
174.. |EFFICIENCY-txt| replace:: |htmlEFFICIENCY| |latexEFFICIENCY|
175.. |the FAQ| replace:: |htmlFAQ| |latexFAQ|
176.. |WINDOWS-INSTALLATION-txt| replace:: |htmlWINDOWS-INSTALLATION| |latexWINDOWS-INSTALLATION|
177
178.. |citePython| raw:: latex
179
180   \cite{Python}
181
182.. |citePhaseField| raw:: latex
183
184   \cite{BoettingerReview:2002,ChenReview:2002,McFaddenReview:2002}
185
186.. |citeCEAC| raw:: latex
187
188   \cite{NIST:damascene:2001}
189
190.. |citeMailingTracking| raw:: latex
191
192   \cite{FiPyMailingList,FiPyBugTracker}
193
Note: See TracBrowser for help on using the browser.