[petsc-users] Modifying the structure of a matrix.

Andrew Spott andrew.spott at gmail.com
Tue May 15 13:19:34 CDT 2012


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/aeab303a/attachment.htm>


More information about the petsc-users mailing list