[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