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>
