> 
>  Presumbly when you call PCReset() it zeros out all the pointers. If you do 
> not set the operators on the finest level again then it will use the "outer" 
> operator on the smoothest level. Is this the problem?

This is not a problem but it should be a choice, right?  This app has an 
expensive nonlinear 'formFunction' but many apps will have fast matrix free 
apply-operator methods, in which case the current behavior with gamg is 
desired.  And having this choice being made by whether a PC is well integrated 
with PETSc (e.g., not hypre) is pretty awful semantics.

Is there an option that will make this happen or should I add one?  If so where 
should I add it? It should be in PC_MG I would think.

-pc_mg_levels_fine_use_op <false>
-pc_mg_levels_fine_use_preop <true>

Reply via email to