24int main(
int argc,
char *argv[])
27 MPI_Init(&argc, &argv);
28 Epetra_MpiComm Comm(MPI_COMM_WORLD);
30 Epetra_SerialComm Comm;
44 Epetra_CrsMatrix* readA;
47 Epetra_Vector* readxexact;
50 std::string matrix_file=
"bcsstm05_ns.rua";
53 Galeri::ReadHB(matrix_file.c_str(), Comm, readMap,
54 readA, readx, readb, readxexact);
58 std::cout <<
"Caught exception, maybe file name is incorrect" << std::endl;
71 Epetra_Map* mapPtr = 0;
72 if(readMap->GlobalIndicesInt())
73 mapPtr =
new Epetra_Map((
int) readMap->NumGlobalElements(), 0, Comm);
74 else if(readMap->GlobalIndicesLongLong())
75 mapPtr =
new Epetra_Map(readMap->NumGlobalElements(), 0, Comm);
79 Epetra_Map& map = *mapPtr;
82 Epetra_CrsMatrix A(Copy, map, 0);
84 const Epetra_Map &OriginalMap = readA->RowMatrixRowMap() ;
85 assert (OriginalMap.SameAs(*readMap));
86 Epetra_Export exporter(OriginalMap, map);
90 Epetra_Vector xexact(map);
93 x.Export(*readx, exporter, Add);
94 b.Export(*readb, exporter, Add);
95 xexact.Export(*readxexact, exporter, Add);
96 A.Export(*readA, exporter, Add);
108 Epetra_LinearProblem problem(&A,&x,&b);
118 std::string solverType =
"Klu";
119 Teuchos::RCP<Amesos_BaseSolver> solver = Teuchos::rcp( factory.Create(solverType, problem) );
122 int symRet = solver->SymbolicFactorization();
124 std::cout <<
"Processor "<< map.Comm().MyPID() <<
" : Symbolic factorization did not complete!" << std::endl;
128 int numRet = solver->NumericFactorization();
130 std::cout <<
"Processor "<< map.Comm().MyPID() <<
" : Numeric factorization did not complete!" << std::endl;
135 Comm.MinAll( &numRet, &minRet, 1 );
139 std::cout << std::endl <<
"End Result: TEST FAILED" << std::endl;
143 std::cout << std::endl <<
"End Result: TEST PASSED" << std::endl;
int main(int argc, char *argv[])