[petsc-users] odd SNES behavior

Mark F. Adams mark.adams at columbia.edu
Thu Mar 7 10:08:23 CST 2013


> 
> 
>  So you could add PCMGSetUseTrue(PC) and -pc_mg_true  that would trigger setting the true (outer) operator inside the PCSetUp_MG() even if it was already set. You would still change/fix the current GAMG to always set the operators on the finest level using the pmat (which could be overwritten by the user with the PCMGSetUseTrue() or -pc_mg_true option.
> 
>  It may also make sense to move the use true flag and functionality up to the PC level (out of the subclasses) thus unifying its usage (or not)? PCSetUseTrue(), -pc_true.** 
> 

This seems like it should be in PC to me.  Some PCs will want to give finer grain control but this will work for many (e.g., me, for now).

I prefer the default to be !true so that the semantics match hypre, etc.  I can set it manually before GetOptions if we do not want this to be the default for everyone … although that would make -help not correct.

-pc_true is pretty ambiguous.  how about 

-pc_true_op <false>

?  or <true> if you prefer.



>  Suggestions to alternatives to "True" (that are concise yet descriptive) are also solicited.
> 
> 
>   Barry
> 
> ** note that in some complicated PCs there may be several different applications of the full (or part of the full) operator inside the application of the PC. Conceivably one may want to use True on some and not on others but we've never dealt with that.
> 
> 
> 
> 
> 
> 
> 
> 
> 



More information about the petsc-users mailing list