[Trilinos-Users] Parallel Epetra_LinearProblem

John Mitchell jamitch at sandia.gov
Thu Jun 10 09:39:36 MDT 2010


Hi,

I am having trouble getting past the "CheckInput" stage for a 
Epetra_LinearProblem.  In serial the problem runs fine, but in parallel 
I fail 'CheckInput'.

I successfully constructed and filled a graph checking all error flags 
-- no failures or warnings.

Similarly, I successfully constructed an Epetra_RowMatrix with the above 
graph and then filled it checking all error flags -- no failures or 
warnings.

The last step is to create an Epetra_LinearProblem.

Epetra_RowMatrix *mPtr = ...
Epetra_LinearProblem linProblem;
linProblem.SetOperator(mPtr);
linProblem.AssertSymmetric();

When I constructed both the Epetra_CrsGraph and Epetra_FEVbrMatrix I 
used the following maps.
    const Epetra_BlockMap& rowMap  = jacobian->getRowMap();
    const Epetra_BlockMap& colMap  = jacobian->getColMap();

Now, I created the RHS and LHS Epetra_Vectors : (this is simplified to 
emphasize the maps I used)
    double *u = ...;
    double *f = ...;
    Epetra_Vector rhs(View,rowMap,f);
    Epetra_Vector lhs(View,colMap,u);
    linProblem.SetRHS(&rhs);
    linProblem.SetLHS(&lhs);
    BOOST_CHECK(0==linProblem.CheckInput());

I am failing the last check at the bottom with the error flag = -5?

I thought that I was very careful to use the proper maps.  When I run 
this in serial it runs correctly.  But when I run it in parallel it 
fails the last error flag check? 

Any thoughts/suggestions would be much appreciated.

Thanks,
John






More information about the Trilinos-Users mailing list