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)