In theory you can do as you propose. In the context below uniform 
refinement" only means that the coordinates of the DMDA are ignored so each 
refinement. The interpolation is fine woth different refinements in the 
different coordinate directions.

  Barry


> On Mar 20, 2025, at 5:56 AM, Joe Alexandersen via petsc-users 
> <petsc-users@mcs.anl.gov> wrote:
> 
> 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