convergence of BoomerAMG
Barry Smith
bsmith at mcs.anl.gov
Mon Nov 17 11:04:30 CST 2008
First run with
call KSPSetType(ksp,GMRES,ierr)
and see what difference that makes.
You can switch to petsc-dev http://www-unix.mcs.anl.gov/petsc/petsc-as/developers/index.html
if you are not currently using it. This with the config/configure.py
option --download-hypre will
use the latest version of hypre.
If none of this helps then run both cases printing the statistics and
send them to petsc-maint at mcs.anl.gov and
I'll take a look at them.
Barry
On Nov 17, 2008, at 6:04 AM, stijn vantieghem wrote:
> 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