Skip to content

Config for building PETSc with MPI and multiple MPI versions

I am building PETSc with --with-mpi-dir=MY_MPI_INSTALL following the instructions in the README.

The configuration is not complete though, as building external-solver with Allwmake does not include the MPI headers required by PETSc headers and I have to manually add an include entry for my MPI installation in petsc4foam/Make/options. With that, everything builds correctly, but it's not what I expect.

Also, the built lib goes into FOAM_MODULE_LIBBIN/$WM_OPTIONS and not into FOAM_MODULE_LIBBIN/$WM_OPTIONS/$FOAM_MPI. This prevents from using multiple MPI versions with the same OpenFOAM build, unless we play with FOAM_MODULE_LIBBIN to get there.

Questions:

  1. am I correct in building PETSc with a specific MPI or does petsc4foam rely on PStream?
  2. in case I'm doing right, how should I better handle the multiple MPI configuration?
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information