https://github.com/usnistgov/fipy/releases/tag/4.0
https://github.com/usnistgov/fipy/releases/tag/3.99
https://pages.nist.gov/fipy/en/stable
## FiPy 4.0
- Drops support for Pysparse, which required Python 2.7.
- Drops support for Python 2.7, which is years beyond end of life.
- Updates the packaging and installation of FiPy.
### Pulls
- Migrate to pyproject.toml (#1154)
- Fix links (#1152)
- Remove deprecated faceGradAverage (#1149)
- Drop Pysparse (#1145)
### Fixes
- #1137: setuptools.sandbox is deprecated
- #1110: Google search returns FiPy 3.4.4; not 3.4.5
- #1108: Legacy editable install is deprecated
- #1107: The test command is disabled and references to it are deprecated
- #1055: Update Scipy version in Nix build to remove test failure
- #1016: CONTACT link broken on pages.nist.gov
- #986: Redirect ctcms.nist.gov/fipy to pages.nist.gov/fipy
- #969: Get rid of bone-headed redirects for non-NIST websites
- #891: import warnings: syntax & deprecation
- #872: fipy.test() has setuptools failure in a directory with anything in it
- #803: Drop Python 2.7
- #677: local variable exitErr referenced before assignment in fipy.tests.test.test.run_tests()
- #189: switch from setuptools to distribute?
## FiPY 3.99
This release harmonizes the sparse Solvers:
- Uses consistent interpretation of Convergence criteria.
- Improves efficiency at building matrices.
- Supports more preconditioners.
- Logs solver status and performance.
- Greatly expands documentation of the configuration and performance of the supported Solvers.
- Changes default tolerance to 1e-5. This is adequate for most problems.
- Removes “pyamg” from FIPY_SOLVERS and --pyamg from the Command-line Flags. PyAMG is implemented as a preconditioner for SciPy, not as a solver suite in its own right.
### Pulls
- Reorganize Table of Contents (#1143)
- Link to proper CI for documentation (#1134)
- Improve URL check implementation (#1130) Thanks to @arpitjain099.
- Patch sphinx_readme (#1125)
- Resolve issues introduced by PETSc 3.23.0 (#1116)
- Generate root .rst files with sphinx_readme (#1105) Thanks to @obscurerichard.
- Update byte-code for Python 3.13 (#1095)
- Handle exporting anonymous conda environment (#1082)
- Fix representation of dotted variables (and other method calls) (#1074)
- Prevent setuptools 72.x (#1067)
- build(nix): update to using latest Nix master version (#1061)
- Harmonize solvers (#1030)
- Deprecate fipy.steppers in favor of steppyngstounes (#777)
### Fixes
- #1115: “Create Anaconda environment from environments” times out on nightly CI
- #1114: VTK tests broke with vtk-base=9.4.2
- #1087: Recent version of matplotlib won’t plot with colorbar. Thanks to @cgadal.
- #1069: Cannot dot CellVariables
- #1063: Nightly PETSc build unable to load libscotcherr-6.so
- #1009: Matplotlib 3.8 fails to plot irregular meshes
- #1002: Setting nx, ny, nz to non-positive integer should generate an error. Thanks to @sridhar-mani.
========================================================================
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 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 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 treatments of polycrystalline, dendritic, and
electrochemical phase transformations as well as a level set treatment of
the electrodeposition process.