[Trilinos-Users] Scalar Epetra_Maps and Vector Epetra_Maps and linear solves

Mitchell, John A jamitch at sandia.gov
Wed Mar 30 17:37:54 MDT 2011


Thanks Alan.  Yes - I think you have understood the question and I understand your answer.  I was concerned about a potential re-ordering during the translation from block-map to point-map.
John

From: Williams, Alan B
Sent: Wednesday, March 30, 2011 4:43 PM
To: Mitchell, John A; 'trilinos-users at software.sandia.gov'
Subject: RE: [Trilinos-Users] Scalar Epetra_Maps and Vector Epetra_Maps and linear solves

John,
If I understand what you said correctly, I think your usage of Epetra_Vector with the different map should be ok.
(I don't think the translation from the block-map to the point-map should cause re-ordering.)
Alan


From: trilinos-users-bounces at software.sandia.gov [mailto:trilinos-users-bounces at software.sandia.gov] On Behalf Of Mitchell, John A
Sent: Wednesday, March 30, 2011 11:35 AM
To: 'trilinos-users at software.sandia.gov'; Williams, Alan B
Subject: Re: [Trilinos-Users] Scalar Epetra_Maps and Vector Epetra_Maps and linear solves

Alan,

Thanks for your reply.

I was using OperatorRangeMap().  That is because the AZTEC linear problem requires that.

Yes - I have confirmed that if I use DomainMap() that I get the expected block map back but my issue relates to the linear solver constraints.

I switched over to Belos and created a linear problem - it does not have the constraint and or 'feature' related to the maps as described above.  I can create a matrix with a block map as the row map, and create my right hand side with the same block map and then solve the linear problem.

One more question:
Suppose I create a view into an Epetra_Vector with the OperatorRangeMap() but with data (double*) that was assigned using the RowMap used to construct the matrix.  Would that work?  My observation is that the OperatorRangeMap() has the correct length but I am not sure if the underlying GIDs have been moved around?

Thanks,
John




From: Williams, Alan B
Sent: Wednesday, March 30, 2011 10:59 AM
To: Mitchell, John A; 'trilinos-users at software.sandia.gov'
Subject: RE: [Trilinos-Users] Scalar Epetra_Maps and Vector Epetra_Maps and linear solves

John,
Which method to you use to obtain the domain-map from the vbr matrix?
If you use the method OperatorDomainMap(), you'll get the point-entry version of the map (with element sizes == 1). But if you use DomainMap(), you *should* get the correct block-map.
If not, I'll look into it deeper and see what's going wrong.
Alan


From: trilinos-users-bounces at software.sandia.gov [mailto:trilinos-users-bounces at software.sandia.gov] On Behalf Of Mitchell, John A
Sent: Tuesday, March 29, 2011 5:42 PM
To: 'trilinos-users at software.sandia.gov'
Subject: [Trilinos-Users] Scalar Epetra_Maps and Vector Epetra_Maps and linear solves

I need help / guidance on Epetra_BlockMaps, Epetra_FEVbrMatrix and linear solves.

I construct my matrix with an Epetra_BlockMap that has elements of length 3 - I am solving a problem that has 3 degrees of freedom per node.

I use 'BeginInsertGlobalValues' for each row and SubmitBlockEntry(k) where 'k' is a 3x3 block entry ( Epetra_SerialDenseMatrix)  for each column of the row;

I finish the row with EndSubmitEntries()

I finish all rows with FillComplete(rowMap,rowMap) where rowMap is the Epetra_BlockMap that has my owned rows and has elements of length 3.  I used this map to construct my matrix.  I was hoping that this version FillComplete would keep my rowMap as the domainMap and rangeMap but no such luck.

I construct my right hand side vector with 'rowMap'.  It's most logical to compute my rhs based upon the rowMap.  However, the domain and range of the matrix have Epetra_Maps that have element length=1.  These maps are incompatible with my rhs map.

How do I map data from my 'rowMap' to the 'domainMap' of the operator?

Thanks,
John

-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://software.sandia.gov/pipermail/trilinos-users/attachments/20110330/0efedcfd/attachment.html 


More information about the Trilinos-Users mailing list