[petsc-users] passing solver options in fieldsplit

Luc Berger-Vergiat lb2653 at columbia.edu
Tue Nov 11 09:33:28 CST 2014


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


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20141111/5e409725/attachment.html>


More information about the petsc-users mailing list