[petsc-users] About the interpolation and restriction matrix for cell-centered multigrid.

Jed Brown jed at jedbrown.org
Tue Mar 24 10:22:33 CDT 2020


Mark Adams <mfadams at lbl.gov> writes:

> Good question. It does look like there is Q1:
>
> src/dm/impls/da/da.c:-  ctype - DMDA_Q1 and DMDA_Q0 are currently the only
> supported forms
>
> And in looking at a cell centered
> example src/snes/examples/tutorials/ex20.c, it looks like only DMDA_Q1
> works. I get an error when I set it to DMDA_Q0 (DMDA_Q1 is the default).
> This is puzzling, Q0 is natural in cell centered.

The comments in those examples are kinda wrong -- they never told the DM
it was cell-centered so it uses a multigrid that isn't compatible with
the boundary conditions.  The interpolation is Q1 on the dual grid, not
conservative Q1 on cells.

> I am not familiar with DMDA and I don't understand why, from ex20, that you
> have an odd number of points on a cell centered grid and an even number for
> vertex centered (eg, ex14). I would think that it should be the opposite.

The example is bad.


More information about the petsc-users mailing list