[Trilinos-Users] Question about inserting a row not owned by a processor.

Williams, Alan B william at sandia.gov
Thu Jun 17 15:01:15 MDT 2010


Siva,

Epetra_FEVector was written with the assumption that it is constructed with a non-overlapping, uniquely-owned-indices map. The GlobalAssemble operation uses import/export to send off-processor values to the 'owning' processor where 'owning' is defined by the non-overlapping map that was passed in at construction.
In order to relax the assumption that the constructor map is non-overlapping, we would probably have to re-work the import/export operations that occur in GlobalAssemble.

Alan


From: Siva Rajamanickam [mailto:srajama at sandia.gov]
Sent: Thursday, June 17, 2010 2:56 PM
To: Williams, Alan B
Cc: 'M. Scot Breitenfeld'; trilinos-users at software.sandia.gov
Subject: Re: [Trilinos-Users] Question about inserting a row not owned by a processor.

On a related note, I was using Epetra_FEVector and saw a behavior that I did not understand. I created a Epetra_Map just with the NumGlobalElements, then used it to create an Epetra_FEVector used sumIntoGlobalValues() and then used GlobalAssemble(). Everything worked as expected. I changed the Epetra_Map to a local replicated map by specifying NumMyElements == NumGlobalElements. Once I did this change my GlobalAssemble no longer works. Any ideas why this might be the case ?

Thanks
Siva

Williams, Alan B wrote:

On that note, I don't see a function that accesses an element in a

multi-vector, when globalLhs was Epetra_vector I could just use,



value = (*globalLhs_)[i];



do I have to extract the whole vector using

Epetra_MultiVector::ExtractView to access an element of the vector?



Thanks.







That's right. Note that Epetra_FEVector provides for assembling a multi-vector, with values being contributed from any processor. But once globalAssemble is called, and the underlying multi-vector is assembled, then you just have a regular multi-vector. i.e., at that point you can't retrieve off-processor values. At that point you have to use the import/export capabilities to re-distribute if you want values from another processor.



Alan





_______________________________________________

Trilinos-Users mailing list

Trilinos-Users at software.sandia.gov<mailto:Trilinos-Users at software.sandia.gov>

http://software.sandia.gov/mailman/listinfo/trilinos-users



-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://software.sandia.gov/pipermail/trilinos-users/attachments/20100617/9df1a5c8/attachment.html 


More information about the Trilinos-Users mailing list