Thanks very much for the stupid error and the advices. There should not have pcilu0 in call "PetscOptionsSetValue”.
Since I would like to create a shell pc (multicative and ...), I use PCCreate(). Kind reagards, > On 01 Nov 2015, at 17:18, Barry Smith <[email protected]> wrote: > > > You need to learn how to use the debugger to debug this type of crash. In > this case it is very simple just run the code in the debugger and when it > crashes type "where" and "up" and "list" to see where it crashed. Make sure > to use the debug version of the code. > >> On Nov 1, 2015, at 7:39 AM, Feng Xing <[email protected]> wrote: >> >> Hello everyone, >> >> I would like to look for help for a small problem. I am trying to create a >> Hypre ilu(0) preconditioned in Fortran with the following code, where the >> matrix A_mpi has been created. >> >> call PCCreate(MPI_COMM_WORLD, pcilu0, Ierr) >> CHKERRQ(Ierr) >> call PCSetOperators(pcilu0, A_mpi, A_mpi, Ierr) >> CHKERRQ(Ierr) >> call PCSetType(pcilu0, PCHYPRE, Ierr) >> CHKERRQ(Ierr) >> call PCHYPRESetType(pcilu0, 'euclid', Ierr) >> CHKERRQ(Ierr) >> call PetscOptionsSetValue(pcilu0, '-pc_hypre_euclid_levels', '0', Ierr) > > This is likely the problem since you are using totally the wrong first > argument for this function. > > Note also you would use KSPGetPC() and then set the PC and not use a > PCCreate() > >> CHKERRQ(Ierr) >> >> But, I got some segmentation errors. I tried to use valgrind, but it doesn’t >> report any errors. >> [0]PETSC ERROR: Caught signal number 11 SEGV: Segmentation Violation, >> probably memory access out of range >> [0]PETSC ERROR: Try option -start_in_debugger or -on_error_attach_debugger >> >> Thank you very much! >> >> Kind regards, >> Feng Xing >> Postdoc in France
