[petsc-dev] sor smoothers

Barry Smith bsmith at mcs.anl.gov
Mon Sep 9 15:42:04 CDT 2013


On Sep 9, 2013, at 3:14 PM, Jed Brown <jedbrown at mcs.anl.gov> wrote:

> Barry Smith <bsmith at mcs.anl.gov> writes:
>>   How about fixing this? Agreed we should not be requiring people to
>>   use MatShell to do this stuff but it sounds you want to work around
>>   a current design flaw with PCMG by using PCMGSetResidual. Why not
>>   fix the design flaw?
> 
> What is the "correct" way to compute coarse operators when the user
> wants part Galerkin and part rediscretization?  The user's
> (non-Galerkin) matrix assembly function has both Mat slots, and they'll
> need to know which one to ignore when PCMG configuration says to make
> one or the other Galerkin.

   I don't buy this as being a difficult as you make out. We could allow the user to indicate which "slot" they want to be used with a PCMG Galerkin computed and then they know the other one is the one they provide their own operator for. 

   I don't care if PCMGSetResidual stays around for now but I do not think we should "point to it" as a standard way for people to do things; I think we should improve how the two slots are used with PCMG, it really has never been thought about at all and whenever possible I think using the two slots appropriately is better than PCMGSetResidual and will solve most of the "use" cases.

   Barry

> 
> I don't know what is really a good interface for this.  PCMGSetResidual
> doesn't seem that inconvenient to me.  (Sure, it's not as nicely
> recursive and nestable as you might like in an idealized world, but
> matrix-free MG implementations for real problems usually have lots of
> constraints anyway.)




More information about the petsc-dev mailing list