[petsc-users] Add unstructured grid capability to existing structured grid code

Danyang Su danyang.su at gmail.com
Wed Feb 14 12:47:14 CST 2018


Dear All,

I have a reactive transport code that was first developed using 
structured grid and parallelized using PETSc. Both sequential version 
(with or without PETSc) and parallel version work fine. Recently I have 
finished the unstructured grid capability for the sequential version. 
Next step work is to modify the necessary part to make the code 
parallelized using unstructured grid.

For the structured grid code, it follows the following steps.

!domain decomposition

DMDACreate3D()

DMDAGetInfo()

DMDAGetCorners()

!timeloop begins

!calculate matrix entry and rhs
...
Solve Ax=b using PETSc

DMGlobalToLocalBegin()
DMGlobalToLocalEnd()
...
!end of timeloop


So far as I know, the domain decomposition part need to be modified. I 
plan to use PETSc DMPlex class to do this job. Is this the best way to 
port the code?

DMPlexCreateFromFile()

DMPlexDistribute()

!timeloop begins

!calculate matrix entry and rhs
...
Solve Ax=b using PETSc

DMGlobalToLocalBegin()
DMGlobalToLocalEnd()
...
!end of timeloop

Thanks,

Danyang



More information about the petsc-users mailing list