[petsc-users] Is PCMG a generic PC object ?

Vijay S. Mahadevan vijay.m at gmail.com
Fri Dec 3 14:09:01 CST 2010


> If you want to use Galerkin coarse operators, then you have to assemble the
> fine-grid matrix.  This is an algorithmic issue, not a matter of PETSc's API
> or something like that.  If you can provide matrix-free residuals/smoothers,
> then you don't need to use the Galerkin procedure to build coarse operators.

Ah, I misunderstood your explanation earlier. If I do provide the
restriction/prolongation along with a fine-grid shell matrix and opt
to not use Galerkin MG, then how do I provide the coarse grid
operators to petsc ? I also just remembered from one of your earlier
posts that you mentioned the use of non-Galerkin coarse operators
requires a coarse mesh to be provided. Since my code does not use DMMG
at all but is rather based on an unstructured grid setting using
libMesh, I do not know how to proceed here.

And I dont quite get what a matrix-free residual is.. Wouldn´t
PCMGDefaultResidual compute the residual with just MatMult operation
defined (b-Ax) for every level ? Why do I need a custom residual
operator ?

On Fri, Dec 3, 2010 at 1:56 PM, Jed Brown <jed at 59a2.org> wrote:
> On Fri, Dec 3, 2010 at 20:53, Vijay S. Mahadevan <vijay.m at gmail.com> wrote:
>>
>> So this does require the fine grid matrix to be formed explicitly and
>> handed over to the top level KSP solver ?
>
> If you want to use Galerkin coarse operators, then you have to assemble the
> fine-grid matrix.  This is an algorithmic issue, not a matter of PETSc's API
> or something like that.  If you can provide matrix-free residuals/smoothers,
> then you don't need to use the Galerkin procedure to build coarse operators.
> Jed


More information about the petsc-users mailing list