Thanks,
the option -help was quite useful and I got things to work fine with icntl_14 50.

Best,
Luc

On 11/11/2014 11:07 AM, Hong wrote:
Luc:
Run your code with option '-help |grep mumps', then you'll see what prefix should be used in your case with the mumps option
'-mat_mumps_icntl_14 30'.
You may try even larger icntl_14.

Hong

    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



Reply via email to