Hello, I would like to solve nonlinear PDEs on a regular grid (DMDACreate2D, 2 dof per node) using: - MatFDColoring to compute the Jacobian matrix - The ASM preconditioner
Here is an overview of the code: ierr = DMGetMatrix(da,MATAIJ,&J); ierr = TSGetSNES(ts,&snes); ierr = DMGetColoring(da,IS_COLORING_GLOBAL,MATAIJ,&iscoloring); ierr = MatFDColoringCreate(J,iscoloring,&matfdcoloring); ierr = MatFDColoringSetFromOptions(matfdcoloring); ierr = ISColoringDestroy(&iscoloring); ierr = MatFDColoringSetFunction(matfdcoloring,(PetscErrorCode (*)(void))SNESTSFormFunction,ts); ierr = SNESSetJacobian(snes,J,J,SNESDefaultComputeJacobianColor,matfdcoloring); ierr = KSPCreate(PETSC_COMM_WORLD,&ksp); ierr = KSPSetOperators(ksp,J,J,DIFFERENT_NONZERO_PATTERN); ierr = KSPGetPC(ksp,&pc); ierr = PCSetType(pc,PCASM); ierr = PCASMSetOverlap(pc,1); ierr = KSPSetUp(ksp); ierr = SNESSetKSP(snes,ksp); ierr = TSSetFromOptions(ts); ierr = TSSolve(ts,u,&ftime); And I have the following error for overlap>0. [1]PETSC ERROR: ------------------------------------------------------------------------ [1]PETSC ERROR: Caught signal number 11 SEGV: Segmentation Violation, probably memory access out of range [1]PETSC ERROR: Try option -start_in_debugger or -on_error_attach_debugger [1]PETSC ERROR: or see http://www.mcs.anl.gov/petsc/petsc-as/documentation/faq.html#valgrind [1]PETSC ERROR: or try http://valgrind.org on GNU/linux and Apple Mac OS X to find memory corruption errors [1]PETSC ERROR: likely location of problem given in stack below [1]PETSC ERROR: --------------------- Stack Frames ------------------------------------ [1]PETSC ERROR: Note: The EXACT line numbers in the stack are not available, [1]PETSC ERROR: INSTEAD the line number of the start of the function [1]PETSC ERROR: is given. [1]PETSC ERROR: [1] MatIncreaseOverlap_MPIAIJ_Receive line 427 src/mat/impls/aij/mpi/mpiov.c [1]PETSC ERROR: [1] MatIncreaseOverlap_MPIAIJ_Once line 71 src/mat/impls/aij/mpi/mpiov.c [1]PETSC ERROR: [1] MatIncreaseOverlap_MPIAIJ line 22 src/mat/impls/aij/mpi/mpiov.c [1]PETSC ERROR: [1] MatIncreaseOverlap line 6543 src/mat/interface/matrix.c [1]PETSC ERROR: [1] PCSetUp_ASM line 155 src/ksp/pc/impls/asm/asm.c [1]PETSC ERROR: [1] PCSetUp line 797 src/ksp/pc/interface/precon.c [1]PETSC ERROR: [1] KSPSetUp line 184 src/ksp/ksp/interface/itfunc.c [1]PETSC ERROR: [1] KSPSolve line 331 src/ksp/ksp/interface/itfunc.c [1]PETSC ERROR: [1] SNES_KSPSolve line 3394 src/snes/interface/snes.c [1]PETSC ERROR: [1] SNESSolve_LS line 142 src/snes/impls/ls/ls.c [1]PETSC ERROR: [1] SNESSolve line 2647 src/snes/interface/snes.c [1]PETSC ERROR: [1] TSStep_Theta line 25 src/ts/impls/implicit/theta/theta.c [1]PETSC ERROR: [1] TSStep line 1768 src/ts/interface/ts.c [1]PETSC ERROR: [1] TSSolve line 1824 src/ts/interface/ts.c [1]PETSC ERROR: --------------------- Error Message ------------------------------------ The same error happens when I run the example /snes/examples/tutorials/ex32.c with the option -'pc_type asm'. How to properly set up the preconditioner in that case (dof > 1) ? Thanks, Laurent Berenguer PhD student, Universit? Lyon 1 -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120312/c127e437/attachment.htm>
