[petsc-users] Problems applying multigrid
Smith, Barry F.
bsmith at mcs.anl.gov
Wed Jan 8 14:31:24 CST 2020
Yeah, this is an annoying feature of DMDA and PCMG in PETSc. Some coarse grid ranges and particular parallel layouts won't work with geometric multigrid. You are using 314 on the coarse and 628 on the fine grid. Try changing the them by 1 and start with one process.
Barry
> On Jan 8, 2020, at 1:49 PM, Ellen Price <ellen.price at cfa.harvard.edu> wrote:
>
> Hi PETSc users!
>
> I was playing around with getting faster convergence for my code and decided to give multigrid a try. For some context, I am using the beuler timestepper, so the SNES/KSP/PC hierarchy is contained within that. The problem is defined on a regular grid, a DMDA in dimension 2 with 5 dofs. It has DM_BOUNDARY_GHOSTED boundaries.
>
> The way I understand it, with these options:
> -pc_type mg -pc_mg_galerkin both -pc_mg_levels 2
> I should be able to at least *try* multigrid on this problem at a basic level without changing anything else (please correct me if I'm wrong!), even if I don't immediately get good convergence.
>
> I know multigrid can be finicky (I've seen a lot of mailing list posts about it), but I've run into an error that might be internal, or at least not obvious. Here is a sample of the output:
>
> [12]PETSC ERROR: Arguments are incompatible
> [12]PETSC ERROR: Processor's coarse DMDA must lie over fine DMDA
> i_c 314 i_f 628 fine ghost range [499,628]
>
> Does anyone know what would cause this? A quick Google search just brought up the PETSc source code where the error is issued.
>
> Thanks,
> Ellen Price
More information about the petsc-users
mailing list