[Trilinos-Users] [EXTERNAL] Basic Epetra map usage

Dave Makhija makhijad at colorado.edu
Fri Mar 2 02:12:59 MST 2012

This worked for KLU. A quick search of the source code turned up this in

  //! If true, the Amesos class should reindex the matrix to standard
indexing (i.e. 0-n-1)
  //! at present, only Amesos_Klu supports this option.
  bool Reindex_ ;

Is adding this functionality to MUMPS or SuperLU-Dist on your radar? It
would be nice for debugging purposes. If not, we mainly use Aztec for large
simulations anyway.

Thanks for the help,


On Thu, Mar 1, 2012 at 10:49 PM, Heroux, Michael A <maherou at sandia.gov>wrote:

>  Dave,
>  Although it is not well documented, the underlying solvers that Amesos
> supports require contiguous indexing.  Amesos helps with this by providing
> a Reindex parameter.  You should be able to fix your problem with something
> similar to this:
>  amesosList.set(Reindex,true);
>  Where amesosList is your list of parameters used to select solver
> parameters in the Amesos factory:
> Teuchos::ParameterList amesosList;
>  All native Trilinos solvers work with noncontiguous maps, so it is only
> Amesos that has this issue. Also, my guess is that there is an error code
> being returned in the symbolic factorization phase that complains about the
> map not being contiguous.
>  Please see if this helps.
>  Mike
>   From: Dave Makhija <makhijad at colorado.edu>
> Date: Thu, 1 Mar 2012 14:09:24 -0700
> To: <trilinos-users at software.sandia.gov>
> Subject: [EXTERNAL] [Trilinos-Users] Basic Epetra map usage
>  Hi all,
>  I am revising a finite element code and have a basic question on how to
> properly use the Epetra_Map class in order to solve linear systems with
> Amesos and Aztec. Do the map global elements have to span the index base to
> the total number of elements?
>  Take this problem for example. Three degrees of freedom numbered 0, 1,
> and 2. I can fill the stiffness matrix and the force vector and solve the
> system.
> Now consider the same system if degree of freedom 1 is constrained.
> Instead of trying to eliminate the row and column for degree of freedom 1 I
> am making an Epetra_Map of two elements with global element IDs of 0 and 2.
> I have verified that the assembly process works correctly by dumping the
> matrix to a Matlab file. It does, however, pad the constrained degree of
> freedom row/column with zeros. That is, it gives all zeros in the
> row/column for degree of freedom 1 and the correct values in the remaining
> matrix.
>  A linear solve will work with:
> Amesos UMFPACK in serial
> Aztec GMRES in serial
> Aztec GMRES in parallel
>  A linear solve will give "terminate called after throwing an instance of
> 'int'" with:
> Amesos UMFPACK, SUPERLU-DIST, and MUMPS in parallel
>  So, do I have to re-number my degrees of freedom such that the global
> element IDs in this case becomes 0 and 1? Was I just lucky that Aztec and
> serial Amesos was able to solve the linear system? Or is there no problem
> with the 0, 2 numbering scheme and I have a bug somewhere else in the code?
>  Thank you,
>  Dave
> _______________________________________________ Trilinos-Users mailing
> list 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/20120302/e22224fa/attachment.html 

More information about the Trilinos-Users mailing list