Rebecca: > Thanks for your kind reply. So if I set up the following: > > ? ? ? ?ierr = DAGetMatrix(DMMGGetDA(dmmg), MATAIJ, &jacobian);CHKERRQ(ierr); > ? ? ? ?KSP ? ? ksp; > ? ? ? ?ierr = SNESGetKSP(DMMGGetSNES(dmmg),&ksp);CHKERRQ(ierr); > ? ? ? ?ierr = > KSPSetOperators(ksp,jacobian,jacobian,SAME_NONZERO_PATTERN);CHKERRQ(ierr); > > ? ? ? ?ierr = DMMGSolve(dmmg);CHKERRQ(ierr); > > This will specify the nonzero pattern as the same? Yes.
>How could I check if I have set this up right? This is a user input. If you know the non-zero pattern will not change, then this flag tells petsc library to skip symbolic factorization and reuse previous matrix factor structure. I would suggest use DIFFERENT_NONZERO_PATTERN first. After the solver works well and you know the matrix structure should not change, then use SAME_NONZERO_PATTERN for optimization. Hong > On Aug 31, 2011, at 2:42 PM, Barry Smith wrote: > >> >> On Aug 31, 2011, at 4:40 PM, Xuefei (Rebecca) Yuan wrote: >> >>> Hello all, >>> >>> Is the default nonzero pattern for SuperLU_dist is SAME_NONZERO_PATTERN? >> >> ? There is no default nonzero pattern. You always must set it when you call >> KSPSetOperators() or in your SNES FormFunction. The PETSc SUPERLU_dist >> interface allows either pattern and should work correctly. >> >> >> ? ?Barry >> >>> >>> Thanks! >>> >>> Best, >>> >>> Rebecca >>> >> > >
