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 <http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MATSOLVERMUMPS.html> 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


Reply via email to