> 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
