We are pleased to announce the availability of Version 1.1 of FiPy at
<http://www.ctcms.nist.gov/fipy/>.
This release represents a significant improvement in memory
efficiency and is recommended for all users.
It's only a .1 version upgrade because it should still be compatible
with all scripts from version 1.0.
We look forward to hearing your thoughts.
All FiPy users, regardless of experience, should read through the
examples in Chapter 7 of the new manual. We have focused considerable
attention on making the diffusion examples a general tutorial on
using FiPy and we believe that everyone will benefit from the review
(we certainly found writing them to be an instructive experience).
For those doing phase field modeling, we've added several new
examples to Chapter 9 to ease the transition from phase/simple to the
more complicated cases that are actually interesting.
We'd also like to take this opportunity to announce that FiPy
development has moved to a Subversion repository and Trac software
management system at the NSF-sponsored Materials Digital Library
Pathway:
<http://matdl-osi.org/fipy>
Many of you are probably wondering why this matters to you.
Subversion and Trac should significantly ease our development
process, which should ultimately benefit FiPy's users. The goal of
the MatDL project is to provide collaborative tools for materials
science researchers and code developers. We plan to explore using
tools such as the TracWiki to develop a collection of shared codes
and experiences. More to come...
-------
The most significant changes since |FiPy| 1.0 are:
- Memory efficiency has been improved in a number of ways, but most
significantly by:
* not caching all intermediate ``Variable`` values.
* introducing ``UniformGrid`` classes that calculate geometric
arrays on the fly.
Details of these improvements are presented in |EFFICIENCY-txt|.
- Installation on Windows has been made considerably easier by
constructing executable installers for |FiPy| and its
dependencies. Instructions for Windows installation can be found in
|WINDOWS-INSTALLATION-txt|.
- The arithmetic for ``Variable`` subclasses now works, and returns
sensible answers. For example, ``VectorCellVariable * CellVariable``
returns a ``VectorCellVariable``.
- ``PeriodicGrid`` meshes have been implemented. Currently, however,
there and no examples of their use in the manual.
- Many of the examples have been completely rewritten
* A basic 1D diffusion problem now serves as a general tutorial for
setting up any problem in |FiPy|.
* Several more phase field examples have been added that should
make it
clearer how to get from the simple 1D case to the more elaborate
multicomponent, multidimensional, and anisotropic models.
* The "Superfill" examples have been substantially improved with
better
functionality and documentation.
* An example of fluid flow with the classic Stokes moving lid has
been
added.
- A clear distinction has been made between solving an equation via
`solve()`
and iterating an non-linear equation to solution via `sweep()`. An
extensive
explanation of the concepts involved has been added to |the FAQ|.
- Added a `MultiViewer` class that automatically groups several viewers
together if the variables couldn't be displayed by a single viewer.
- The abbreviated syntax ``from fipy import Class`` or ``from fipy
import *``
promised in version 1.0 actually works now. The examples all still
use the
fully qualified names.
--
Jonathan E. Guyer, PhD
Metallurgy Division
National Institute of Standards and Technology
<http://www.metallurgy.nist.gov/>