convergence of BoomerAMG

stijn vantieghem stvtiegh at ulb.ac.be
Mon Nov 17 06:04:48 CST 2008


Dear PETSc team

I'm using PETSC with HYPRE's BoomerAMG to solve a pressure Poisson  
equation in an incompressible Navier-Stokes solver. When working on a  
64x129x64-grid, it converges reasonbly well on 8 (1 bi-quad-core)  
processors, However, when changing. to 16 (2 bi-quad-core) procs,  
BoomerAMG is hardly able to converge. Below, you find an excerpt of my  
code with all the flags I'm using . Have you any suggestions to  
overcome this problem?
Thanks in advance

Sincerely yours
Stijn Vantieghem

  	! KSP parameters
          call KSPCreate(PETSC_COMM_WORLD,ksp,ierr)
          call KSPSetType(ksp,KSPRICHARDSON,ierr)
          call KSPSetOperators(ksp,M,M,DIFFERENT_NONZERO_PATTERN,ierr)

          call KSPGetPC(ksp,pc,ierr)
          call PCSetType(pc,PCHYPRE,ierr)
          call PCHYPRESetType(pc,"boomeramg",ierr)

          ! HYPRE Options
          call PetscOptionsSetValue("- 
pc_hypre_boomeramg_print_statistics","2",ierr)

          call PetscOptionsSetValue("- 
pc_hypre_boomeramg_tol",trim(co),ierr)
          call PetscOptionsSetValue("- 
pc_hypre_boomeramg_max_iter","25",ierr)
          call PetscOptionsSetValue("- 
pc_hypre_boomeramg_min_iter","2",ierr)

          call PetscOptionsSetValue("- 
pc_hypre_boomeramg_grid_sweeps_down","2",ierr)
          call PetscOptionsSetValue("- 
pc_hypre_boomeramg_grid_sweeps_up","2",ierr)
          call PetscOptionsSetValue("- 
pc_hypre_boomeramg_grid_sweeps_coarse","1",ierr)

          call PetscOptionsSetValue("- 
pc_hypre_boomeramg_relax_type_down","SOR/Jacobi",ierr)
          call PetscOptionsSetValue("- 
pc_hypre_boomeramg_relax_type_up","SOR/Jacobi",ierr)
          call PetscOptionsSetValue("- 
pc_hypre_boomeramg_relax_type_coarse","Jacobi",ierr)

          call PetscOptionsSetValue("- 
pc_hypre_boomeramg_relax_weight_all","1.0",ierr)
          call PetscOptionsSetValue("- 
pc_hypre_boomeramg_outer_relax_weight_all","1.0",ierr)

          call PetscOptionsSetValue("- 
pc_hypre_boomeramg_grid_sweeps_all","1",ierr)
          call PetscOptionsSetValue("- 
pc_hypre_boomeramg_max_row_sum","1.0",ierr)
          call PetscOptionsSetValue("- 
pc_hypre_boomeramg_max_levels","25",ierr)
          ! call PetscOptionsSetValue("- 
pc_hypre_boomeramg_nodal_coarsen",PETSC_NULL_CHARACTER,ierr)

          call KSPSetTolerances(ksp,1.0e-10_WP,1.0e-6_WP,1.0e15_WP, 
1,ierr)
          call KSPSetFromOptions(ksp,ierr)




More information about the petsc-users mailing list