[Trilinos-Users] MatrixMarket to CrsMatrix
Brian Staber
brian.staber at u-pem.fr
Fri Oct 21 03:47:06 EDT 2016
Hello everyone,
I recently wrote a simple piece of code in order to read a sparse matrix and a rhs with EpetraExt. However, when solving the linear problem with AztecOO, I get the following errors:
AZ_extract_comm_info: Received elements must be stored after
all 95955 local elements
AZ_extract_comm_info: Received elements must be stored after
all 95955 local elements
Here is my code:
// Epetra includes
#include "Epetra_ConfigDefs.h"
#ifdef HAVE_MPI
#include "mpi.h"
#include "Epetra_MpiComm.h"
#else
#include "Epetra_SerialComm.h"
#endif
#include "Epetra_Map.h"
#include "Epetra_FECrsGraph.h"
#include "Epetra_FECrsMatrix.h"
#include "Epetra_CrsMatrix.h"
#include "Epetra_FEVector.h"
#include "Epetra_SerialDenseMatrix.h"
#include "Epetra_SerialDenseVector.h"
#include "Epetra_Time.h"
#include "Epetra_IntVector.h"
#include "Epetra_Export.h"
#include "Epetra_Import.h"
#include "Epetra_Time.h"
// AztecOO includes
#include "AztecOO.h"
// ML includes
#include "ml_MultiLevelPreconditioner.h"
#include "ml_epetra_utils.h"
// EpetraExt includes
#include "EpetraExt_RowMatrixOut.h"
#include "EpetraExt_MultiVectorOut.h"
#include "EpetraExt_MultiVectorIn.h"
#include "EpetraExt_CrsMatrixIn.h"
#include "EpetraExt_VectorIn.h"
int main(int argc, char *argv[]){
#ifdef HAVE_MPI
MPI_Init(&argc, &argv);
Epetra_MpiComm Comm(MPI_COMM_WORLD);
#else
Epetra_SerialComm Comm;
#endif
int MyPID = Comm.MyPID();
int NumProc = Comm.NumProc();
int root = 0;
char stiffness_File[] = "CRS_MATRIX.mxt";
char rhs_File[] = "RHS.mtx";
int CHECK_ERR=0;
Epetra_CrsMatrix *stiffness = NULL;
Epetra_MultiVector *rhs = NULL;
CHECK_ERR = EpetraExt::MatrixMarketFileToCrsMatrix(stiffness_File,Comm,stiffness,0,1);
CHECK_ERR = EpetraExt::MatrixMarketFileToMultiVector(rhs_File,stiffness->RowMap(),rhs);
Epetra_Vector lhs(stiffness->RowMap());
Epetra_LinearProblem problem(stiffness, &lhs, rhs);
AztecOO solver(problem);
solver.SetAztecOption(AZ_solver, AZ_gmres);
solver.SetAztecOption(AZ_precond, AZ_Jacobi);
solver.SetAztecOption(AZ_output,1);
solver.Iterate(800,1e-10);
#ifdef HAVE_MPI
MPI_Finalize();
#endif
}
Am I doing something wrong ?
Thanks a lot,
Brian.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://trilinos.org/pipermail/trilinos-users/attachments/20161021/81c47219/attachment.html>
More information about the Trilinos-Users
mailing list