Install the MUMPS module

This is an optional module that enables Chrono to use the MUMPS linear solver.

Read the introduction to modules for a technical background on the modularity of the Chrono project.

Chrono::Engine usually relies on its built-in solvers, whose good perfomance are guaranteed by leveraging the internal data structure. In fact, for a wide range of applications, these suffice.
However, for higher accuracy results, a direct solver could still be needed.

This module provides an interface to the third-party MUMPS solver.


The MKL module allows to plug the MUMPS solver into Chrono::Engine and provides two interface:

  • an interface for Chrono - namely chrono::ChSolverMumps<> - that is not intended to be used directly by the user.
    This is the interface that the user should plug into the Chrono environment.
  • an interface for the end-user - namely chrono::ChMumpsEngine - that allows to directly operate with Pardiso using the Chrono data classes (if the user would ever have this need).
    The demo_MUMPS_MumpsEngine.cpp shows its usage, but the average usare should not be interested in it.

Look at the API section of this module for a more in-depth discussion.



  • To build applications based on this unit:

Building instructions

  1. Install the MUMPS library (TODO)
  2. Repeat the instructions for the full installation, but when you see the CMake window,
    you must set ENABLE_MODULE_MUMPS as 'on'.
  3. Press 'Generate'
  4. Set the environmental variables (TODO)

How to use it