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>

Reply via email to