Ipopt
Ipopt copied to clipboard
Add MPI communicator option to the MUMPS solver interface
This PR adds an MPI communicator option to the MUMPS solver interface. The motivation for this came from wanting to use MUMPS with MPI_COMM_SELF.
The project that I'm working on, internal to LLNL, runs in parallel, but runs MUMPS serially. In order to achieve this, we configure MUMPS with MPI, but set --disable-mpiinit as described here under "MUMPS Linear Solver".
We use Spack to install our third party libraries, including Ipopt and MUMPS. This means we are not using the recommended ThirdParty-Mumps. Figured I would share for awareness (our package.py is slightly different): https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/ipopt/package.py.
Before the changes in this PR, our tests were hanging when run with multiple MPI tasks.