It is because of the dafault convergence tolerances. Try -ksp_rtol 1e-10 On Dec 8, 2011 10:12 AM, "Hailong Xiao" <xiaohl1986 at gmail.com> wrote:
> 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/d1a8b947/attachment.htm>
