Hi I am using cell centered finite difference method for -div K (grad p) = f with Neumann boundary condtion.
I called SNESGetKSP(snes, &ksp); MatNullSpaceCreate(PETSC_COMM_WORLD, PETSC_TRUE, 0, PETSC_NULL, &nullsp); KSPSetNullSpace(ksp, nullsp); MatNullSpaceDestroy(&nullsp); to handle the null space. But I got the result like the following 0 SNES Function norm 3.512407365520e+02 Linear solve converged due to CONVERGED_RTOL iterations 16 1 SNES Function norm 6.615335308038e-03 Linear solve converged due to CONVERGED_RTOL iterations 20 2 SNES Function norm 3.979662741066e-08 I checked my numerical solution with analytical solution (p=x,y,z,cos(pi*x),cos(pi*y), cos(pi*z). These are the difference between the petsc result and analytical solution for -da_grid_x 5 -da_grid_y 5 -da_grid_z 100 i j k 1 1 0 petsc 0.499959 true 0.495 petsc-true 0.00495888 i j k 1 1 1 petsc 0.486626 true 0.485 petsc-true 0.00162554 i j k 1 1 2 petsc 0.475959 true 0.475 petsc-true 0.000958875 i j k 1 1 3 petsc 0.465673 true 0.465 petsc-true 0.000673159 I think I got the correct solution. I do not understand why snes took 2 iterations for a linear problem? Is it normal? -- Hailong -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20111208/16c40b4d/attachment.htm>
