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

Vijay S. Mahadevan vijay.m at gmail.com
Fri Dec 3 13:53:32 CST 2010


> Galerkin coarse operators really need to be formed (not applied as a
> product) to make sense.  PCMG calls MatPtAP(), Galerkin coarse operators
> will not work unless this is implemented.  You want to provide the matrix
> yourself.

So this does require the fine grid matrix to be formed explicitly and
handed over to the top level KSP solver ? Since I start with a shell
matrix and can only provide action of the fine operator on a vector,
this does pose a problem. I will implement based on the shell matrix
for now and see at which point the requirements are stopping me.
Thanks for all the help Jed. I will post here again if I have more
questions.

Vijay

On Fri, Dec 3, 2010 at 1:27 PM, Jed Brown <jed at 59a2.org> wrote:
> On Fri, Dec 3, 2010 at 20:20, Vijay S. Mahadevan <vijay.m at gmail.com> wrote:
>>
>> This is fine and I am more than happy to hand these to Petsc. I do
>> have the restriction/prolongation matrices explicitly but only the
>> operators are matrix-free for now. So if I start off with a
>> matrix-free PC operator, how exactly do I provide the shell matrix
>> operators for all the other levels ?
>
> PCMGSetResidual, PCMGGetSmoother and set it to whatever type you want (maybe
> your custom one).
>
>>
>> I do not see any routine to enable this and my conclusion is that
>> petsc does find it using the fine grid operator at hand using R^T*A*R
>> transformation.
>
> Galerkin coarse operators really need to be formed (not applied as a
> product) to make sense.  PCMG calls MatPtAP(), Galerkin coarse operators
> will not work unless this is implemented.  You want to provide the matrix
> yourself.
> Jed


More information about the petsc-users mailing list