Hi, I am using Petsc to solver a multiphysics problem and I have the
following issue.
I partition my problem by declaring two fields:
-ksp_type gmres -pc_type fieldsplit -pc_fieldsplit_type schur
-pc_fieldsplit_schur_factorization_type full
-pc_fieldsplit_schur_precondition selfp -pc_fieldsplit_0_fields 2,3
-pc_fieldsplit_1_fields 0,1
I want to solve the matrix representing field 0 with mumps so I pass the
following following arguments:
-fieldsplit_0_ksp_type preonly -fieldsplit_0_pc_type lu
-fieldsplit_0_pc_factor_mat_solver_package mumps
When I do this I get an error from mumps: INFO(1)=-9, INFO(2)=12532.
This means that mumps main internal real workarray is too small and
12532 are missing. To try to mitigate this I need to want to set mumps
ICNTL(14)=30 (by default it is 20).
Reading Petsc documentation I find that I have to pass the following
argument to my program:
-mat_mumps_icntl_14 30
which does work fine when I work without fieldsplit but not when I use
field split.
I also tried:
-fieldsplit_0_mat_mumps_icntl_14 30
which does not work any better.
Any idea how I should pass the icntl_14 information to mumps in this case?
--
Best,
Luc