[petsc-users] Troubles updating my code from PETSc-3.4 to 3.5 Using MUMPS for KSPSolve()

Marc MEDALE marc.medale at univ-amu.fr
Thu Dec 11 04:38:27 CST 2014


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.


More information about the petsc-users mailing list