Dear PETSC Users,

I have just updated to PETSc-3.5 my research code that uses PETSc for a while 
but I'm facing an astonishing difference between PETSc-3.4 to 3.5 versions when 
solving a very ill conditioned algebraic system with MUMPS (4.10.0 in both 
cases).

The only differences that arise in my fortran source code are the following:
Loma1-medale% diff ../version_3.5/solvEFL_MAN_SBIF.F 
../version_3.4/solvEFL_MAN_SBIF.F
336,337d335
<       CALL MatSetOption(MATGLOB,MAT_KEEP_NONZERO_PATTERN,
<      &       PETSC_TRUE,IER)
749,750c747,748
<       CALL KSPSetTolerances(KSP1,TOL,PETSC_DEFAULT_REAL,
<      &     PETSC_DEFAULT_REAL,PETSC_DEFAULT_INTEGER,IER)
---
>       CALL KSPSetTolerances(KSP1,TOL,PETSC_DEFAULT_DOUBLE_PRECISION,
>      &     PETSC_DEFAULT_DOUBLE_PRECISION,PETSC_DEFAULT_INTEGER,IER)
909c907,908
<           CALL KSPSetOperators(KSP1,MATGLOB,MATGLOB,IER)
---
>           CALL KSPSetOperators(KSP1,MATGLOB,MATGLOB,
>      &                         SAME_NONZERO_PATTERN,IER)

When I run the corresponding program versions on 128 cores of our cluster with 
the same input data and the following command line arguments:
-ksp_type preonly -pc_type lu -pc_factor_mat_solver_package mumps 
-mat_mumps_icntl_8 0

I get the following outputs:
a)  with PETSc-3.4p4:
        L2 norm of solution vector: 7.39640E-02,

b)  with PETSc-3.5p1:
        L2 norm of solution vector: 1.61325E-02

Do I have change something else in updating my code based on KSP from PETSc-3.4 
to 3.5 versions?
Do any default values in the PETSc-MUMPS interface have been changed from 
PETSc-3.4 to 3.5?
Any hints or suggestions are welcome to help me to recover the right results 
(obtained with PETSc-3.4).

Thank you very much.

Marc MEDALE.

Reply via email to