We are pleased to announce the release of FiPy 4.0 and FiPy 3.99. This pair 
of releases makes all solver suites have the same interpretation of 
tolerance and convergence. Further, it brings substantial performance 
improvements for the PETSc and Trilinos suites.

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 3.99 will be the last release that supports Python 2.7 or Pysparse; 
neither have been supported by their respective developers for many years 
and keeping them working in FiPy has been increasingly burdensome. 
Fortunately, the serial performance of PETSc and Trilinos are now on par 
with Pysparse and the parallel performance is substantially improved (see 
https://pages.nist.gov/fipy/en/stable/SOLVERS.html#performance-comparison).

## 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.

-- 
To unsubscribe from this group, send email to [email protected]

View this message at https://list.nist.gov/fipy
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].

Reply via email to