[petsc-users] Convert mat SEQAIJ to MPIAIJ
Thomas Witkowski
thomas.witkowski at tu-dresden.de
Tue Sep 4 09:42:43 CDT 2012
Am 04.09.2012 16:20, schrieb Hong Zhang:
> Thomas:
> Do you mean create a mpiaij matrix of order 2nx2n from two local nxn
> matrices?
Yes.
> You might have to use MatSetValues() to do this.
I think, it will be faster and more efficient to create a MatShell to
wrap around the local matrices. If anybody has some other ideas, please
let me know.
Thomas
>
> 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/af9118aa/attachment-0001.html>
More information about the petsc-users
mailing list