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

Andrew Spott andrew.spott at gmail.com
Tue May 15 13:44:27 CDT 2012


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


More information about the petsc-users mailing list