[petsc-users] Convert mat SEQAIJ to MPIAIJ

Hong Zhang hzhang at mcs.anl.gov
Tue Sep 4 09:20:24 CDT 2012


Thomas:
Do you mean create a mpiaij matrix of order 2nx2n from two local nxn
matrices?
You might have to use MatSetValues() to do this.

Hong

>
> Thomas :
>
>> In my FETI-DP code, each rank creates a SEQAIJ matrix that represents the
>> discretization of the interior domain. Just for debugging, I would like to
>> join these sequential matrices to one global MPIAIJ matrix. This matrix has
>> no off diagonal nnzs and should be stored corresponding to the ranks
>> unknowns, thus, first all rows of the first rank and so on. What's the most
>> efficient way to do this? Is it possible to create this parallel matrix
>> just as a view of the sequential ones, so without copying the data? Thanks
>> for any advise.
>
>
>
> http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MatCreateMPIAIJConcatenateSeqAIJ.html
>
>  Note: entries in seqaij matrices are copied into a mpiaij matrix without
> inter-processor communication. Use petsc-3.3 for this function.
>
>
> The function does not do what I expect. For example, if we have two mpi
> task and each contains one local square matrix with n rows, I want to
> create a global square matrix with 2n rows. This function create a
> non-square matrix of size 2n x n.
>
> Thomas
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120904/54502ba0/attachment.html>


More information about the petsc-users mailing list