[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