Dear PETSc developers,

We are working with a code that uses regular meshes (DMDA) and geometric 
multigrid. We would like to go from uniform coarsening/refinement to 
semi-coarsening/refinement, due to anisotropy in our underlying equations. We 
have tried to figure out if we can do this using built-in functions of PETSc, 
but it is unclear to us whether we can get it done relatively easily.

It seems that we can go from the coarsest grid and refine differently in each 
direction using DMDASetRefinementFactor and then use DMRefine to define the 
finer levels. However, from the doc page for DMCreateInterpolation, it states 
that it only works for "uniform refinement" which to me seems to indicate it 
will not work with different refinement in each direction. But on the other 
hand, it states that it should work if using DMRefine, which I assume used the 
information from DMDASetRefinementFactor upon creation?

So our questions are: is there are feasible and relatively simple way to do 
semi-coarsening/refinement of DMDAs for geometric multigrid hierarchies? Would 
the above work?

Thanks in advance!

Sincerely,
Joe Alexandersen
University of Southern Denmark

Reply via email to