Hello,

I have the same problem as in this post

The solution proposed in this post is switching the linear solver to MUMPS:

solve(a==L, u, bcs, solver_parameters={‘linear_solver’ : ‘mumps’})

The problem is that I am using C++ interface while the solution above is in Phython. How do I do the exact same thing in C++?

The dolfin is installed by apt-get in Debian 11. Output of /usr/bin/./dolfin-version is 2019.2.0.dev0. Below you will find listings of list_*() commands on my computer.

Thanks!

Kenneth

list_linear_algebra_backends()

Linear algebra backends | Description

Eigen | Template-based linear algebra library

PETSc | Powerful MPI parallel linear algebra library (default)

list_linear_solver_methods():

Solver method | Description

bicgstab | Biconjugate gradient stabilized method

cg | Conjugate gradient method

default | default linear solver

gmres | Generalized minimal residual method

minres | Minimal residual method

mumps | MUMPS (MUltifrontal Massively Parallel Sparse direct Solver)

petsc | PETSc built in LU solver

richardson | Richardson method

superlu | SuperLU

superlu_dist | Parallel SuperLU

tfqmr | Transpose-free quasi-minimal residual method

umfpack | UMFPACK (Unsymmetric MultiFrontal sparse LU factorization)

list_lu_solver_methods():

LU method | Description

default | default LU solver

mumps | MUMPS (MUltifrontal Massively Parallel Sparse direct Solver)

petsc | PETSc built in LU solver

superlu | SuperLU

superlu_dist | Parallel SuperLU

umfpack | UMFPACK (Unsymmetric MultiFrontal sparse LU factorization)