[petsc-users] SAMRAI and Petsc

Pitts, Todd Alan tapitts at sandia.gov
Fri Apr 27 15:22:25 CDT 2012


All,

I have been working with SAMRAI and Petsc to develop an implicit hyperbolic solver.  Both packages seem very well done -- I am new to both, however.  The basic physics problem is the solution to the linear wave equation  (or rather something very close to it).  I am using SAMRAI to track the mesh and Petsc to solve the resulting implicit time stepping problem.  I am giving the MPIcomm object from SAMRAI to Petsc but have noticed that SAMRAI distributes the processors across the domain seemingly randomly.  Petsc on the other hand distributes them sequentially for a matrix.  In other words, SAMRAI might give processors with adjacent rank numbers nonadjacent patches while Petsc always assigns the FIRST n rows to the rank 0 process (where n is the number of rows requested by the rank 0 process), the NEXT m rows to the rank 1 process, etc.  This means that a nice, diagonally banded matrix is no longer banded  (because we have reordered the rows according to the SAMRAI domain decomposition).  Naturally, the solution to the linear problem is the same.  However, I am concerned that I have lost the apparent diagonal structure of the matrix.   Is this a problem for the linear solvers?  I know that Petsc is used for implicit problems together with various meshing codes -- this is a common thing.  I would like to use the library in its intended fashion -- is the proper thing to do to simply fill the rows you own and forget the fact that the structure is no longer banded?  Am I missing something?

Thanks in advance for any help you might offer,

Todd

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120427/e6abea45/attachment.htm>


More information about the petsc-users mailing list