[petsc-users] Equivalent of DMGetRefineLevel and DMGetCoarsenLevel for FAS

Smith, Barry F. bsmith at mcs.anl.gov
Tue Jul 10 16:15:07 CDT 2018


   Hm, you could always hunt through your list of auxiliary DMS to find something of the same size?

> On Jul 10, 2018, at 4:10 PM, zakaryah <zakaryah at gmail.com> wrote:
> 
> I'm trying to incorporate auxiliary fields (in a DMDA) in a problem in nonlinear elasticity, in a way which is compatible with multi-grid techniques.  The advice I got previously was to use DMCoarsenHookAdd and DMRefineHookAdd.  I finally managed to make sense of the example that Jed pointed out (SNES ex48.c), which was helpful.  However, I thought that since the same coarsening and refinement would be used repeatedly, I could just keep everything around at all times, like example KSP ex42.c, using DMRefineHierarchy.  I managed to get that working with grid sequencing.  However, I can't seem to generalize to FAS, because in my FormFunction routine, I need to be able to determine which of the auxiliary DMs from the hierarchy corresponds to the current scale.  With grid sequencing, I could use DMGetRefineLevel.  Is it possible to do something similar with FAS?  Is it completely stupid to try to do it this way?  Thanks for any help.



More information about the petsc-users mailing list