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