[petsc-users] Using DMDA for a block-structured grid approach

Srikanth Sathyanarayana srcs at mpcdf.mpg.de
Mon Jun 26 10:44:37 CDT 2023


Dear PETSc developers,


I am currently working on a Gyrokinetic code where I essentially have to 
implement a block structured grid approach in one of the subdomains of 
the phase space coordinates. I have attached one such example in the x - 
v_parallel subdomains where I go from a full grid to a grid based on 4 
blocks (divided along x direction) which is still Cartesian but 
misaligned across blocks (the grid is a very coarse representation). So 
the idea is to basically create a library for the existing solver and 
try to implement the block structured grid approach which mainly 
involves some sort of interpolation between the blocks to align the points.


I came up with an idea to implement this using DMDA. I looked into the 
old threads where you have suggested using DMComposite in order to 
tackle such problems although a clear path for the interpolation between 
the DM's was not clarified. Nonetheless, my main questions were:

1. Do you still suggest using DMComposite to approach this problem.

2. Is there a way to use DMDA where the user provides the allocation? My 
main problem is that I am not allowed to change the solvers data structure

3. I looked into VecCreateMPIWithArray for the user provided allocation, 
however I am not very sure if this Vector can be used with the DMDA 
operations.


Overall, I request you to please let me know what you think of this 
approach (using DMDA) and I would be grateful if you could suggest me 
any alternatives.


Thanks and regards,

Srikanth
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Screenshot from 2023-06-26 17-24-32.png
Type: image/png
Size: 39427 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20230626/43817754/attachment-0001.png>


More information about the petsc-users mailing list