===== FiPy ===== == Tested == FiPy 3.4.5 on * Fedora 39 * Python 3.12 A finite volume PDE solver in Python INSTALLED: 3.4.5 (latest) Fixes, available updates and patches can be found on the [[https://www.mail-archive.com/fipy%40nist.gov/index.html|Maillinglist]]. == Install: == Create a [[/programming/python/virtualenv|Python Virtualenvironment]]. mkvirtualenv --python=`which python3.12` fipy pip install --upgrade pip pip install --upgrade setuptools pip install numpy pip install matplotlib pip install ez_setup pip install fipy ==== Solvers available ==== === SciPY === === Gmsh === [[http://geuz.org/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 [[software: 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