http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MatGetSubMatrix.html
 

On May 15, 2012, at 1:44 PM, Andrew Spott wrote:

> That would be ideal, but may be impractical... is it possible to redo the 
> distribution after the matrix is assembled?  How would I go about doing that?
> 
> On May 15, 2012 12:38 PM, "Shri" <abhyshr at mcs.anl.gov> wrote:
> By default, PETSc uses a row distribution with the first m rows on processor 
> 0, next m rows on processor 1, and so on.
> If the order is not important, then you could remove rows/columns from each 
> processor instead of removing the last n-m rows on the last processor. Thus, 
> the load balance would still be even.
> 
> Shri
> 
> I'm solving the schrodinger equation in a basis state method and looking at 
> adding the azimuthal quantum numbers (the m's) to my basis so I can look at 
> circularly polarized light.
> 
> However, when I do this, I'll need to do some sort of convergence study to 
> make sure I add enough of them.  The way my code is structured, it will 
> probably be easier to just remove rows and columns from a bigger matrix, 
> instead of adding them to a smaller matrix.  However, depending on the way I 
> structure the matrix, I could end up removing all the values (or a 
> significant portion of them) from a processor when I do that.
> 
> Speaking more on that, is the "PETSC_DECIDE" way of finding the local 
> distribution smart in any way? or does it just assume an even distribution of 
> values?  (I assume that it assumes a even distribution of values before the 
> assembly, but does it redistribute during assembly?)
> 
> Thanks,
> 
> -Andrew
> 
> On May 15, 2012, at 6:40 AM, Jed Brown wrote:
> 
> On Mon, May 14, 2012 at 10:39 PM, Andrew Spott <andrew.spott at gmail.com> 
> wrote:
> That is what I figure.
> 
> I'm curious though if you need to manually determine the local row 
> distribution after you do that.  (for example, say you completely remove all 
> the values from the local range of one processor? that processor wouldn't be 
> utilized unless you redistribute the matrix)
> 
> What sizes and method are we talking about? Usually additional (compact) 
> basis functions only make sense to add to one of a small number of processes.
> 
> 

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

Reply via email to