FiPy

Tested

FiPy 3.4.2.1 on

  • Fedora 32
  • Python 3.7

A finite volume PDE solver in Python

INSTALLED: 3.4.2.1       (latest)

Fixes, available updates and patches can be found on the Maillinglist.

Install:

Create a Python Virtualenvironment.

The installation requires future to be present (stupid setup.py).

pip install future
pip install fipy

Solvers available

SciPY

pysparse DEPRECATED

Fast sparse matrix library for Python (only Python 2.7)

INSTALLED: 1.1       (Ubuntu 12.04 python-sparse)
LATEST:    1.3-dev   (unavailable)
requirement: numpy

Gmsh

Gmsh is an automatic 3D finite element mesh generator (primarily Delaunay) with build-in CAD and post-processing facilities. Its design goal is to provide a simple mesh tool for academic test cases with parametric input and up to date visualization capabilities.

Gmsh is built around four modules: geometry, mesh, solver and post-processing. The specification of any input to these modules is done either interactively using the graphical user interface or in ASCII text files using GMSh's own scripting language.

INSTALLED: 4.15       (Fedora 30 gmsh)

PyTrilinos

See also Trilinos in the software category.

Functionality needed for FiPy:

Non-MPI Trilinos

Requirement: numpy

cmake \
   -D CMAKE_INSTALL_PREFIX:PATH=$VIRTUAL_ENV \
   -D CMAKE_C_COMPILER=$(which gcc) \
   -D CMAKE_CXX_COMPILER=$(which c++) \
   -D CMAKE_Fortran_COMPILER=$(which gfortran) \
   -D CMAKE_CXX_FLAGS="-std=c++11" \
   -D CMAKE_BUILD_TYPE:STRING=RELEASE \
   \
   -D Trilinos_ENABLE_ALL_OPTIONAL_PACKAGES:BOOL=ON \
   -D Trilinos_ENABLE_PyTrilinos:BOOL=ON \
   -D BUILD_SHARED_LIBS:BOOL=ON \
   \
   -D Trilinos_ENABLE_OpenMP:BOOL=ON \
   -D TPL_ENABLE_MPI:BOOL=OFF \
   \
   /usr/net/src/trilinos/12.18.1-Source-pytrilinos-f30
MPI Trilinos

Requirements: numpy, mpi4py, petsc, hdf5py

  module load mpi/openmpi-x86_64
  module load parmetis/4.0.3
  module load hdf5/1.12.1-system-mpi
 cmake \
   -D CMAKE_C_COMPILER=$(which mpicc) \
   -D CMAKE_CXX_COMPILER=$(which mpiCC) \
   -D CMAKE_Fortran_COMPILER=$(which mpif90) \
   -D Trilinos_ENABLE_CXX11:BOOL=ON 
   -D CMAKE_BUILD_TYPE:STRING=RELEASE \
   -D Trilinos_ENABLE_PyTrilinos:BOOL=ON \
   -D BUILD_SHARED_LIBS:BOOL=ON \
   -D Trilinos_ENABLE_ALL_OPTIONAL_PACKAGES:BOOL=ON \
   -D TPL_ENABLE_MPI:BOOL=ON \
   -D Trilinos_ENABLE_TESTS:BOOL=ON \
   -D DART_TESTING_TIMEOUT:STRING=600 \
   -D CMAKE_INSTALL_PREFIX:PATH=$VIRTUAL_ENV  \
   -D PyTrilinos_DOCSTRINGS=OFF  \
   -D SWIG_DIR=$VIRTUAL_ENV/share/swig/3.0.10 \
   -D SWIG_VERSION="3.0.10" \
   -D SWIG_EXECUTABLE=$VIRTUAL_ENV/bin/swig \
    /usr/net/src/trilinos/13.4.0
Log In