42 #include "Galeri_Maps.h" 43 #include "Galeri_CrsMatrices.h" 44 #include "Galeri_Utils.h" 46 #include "Epetra_MpiComm.h" 49 #include "Epetra_SerialComm.h" 51 #include "Epetra_Map.h" 52 #include "Epetra_Vector.h" 53 #include "Epetra_CrsMatrix.h" 54 #include "Epetra_LinearProblem.h" 55 #include "Teuchos_ParameterList.hpp" 63 int main(
int argc,
char* argv[])
66 MPI_Init(&argc, &argv);
67 Epetra_MpiComm Comm(MPI_COMM_WORLD);
69 Epetra_SerialComm Comm;
79 Epetra_RowMatrix* Matrix = 0;
81 Teuchos::ParameterList GaleriList;
83 GaleriList.set(
"nx", 10 * Comm.NumProc());
84 GaleriList.set(
"ny", 10);
86 GaleriList.set(
"mx", Comm.NumProc());
87 GaleriList.set(
"my", 1);
91 #ifndef GALERI_TEST_USE_LONGLONG_GO 92 Map = CreateMap(
"Cartesian2D", Comm, GaleriList);
94 Map = CreateMap64(
"Cartesian2D", Comm, GaleriList);
96 Matrix = CreateCrsMatrix(
"Laplace2D", Map, GaleriList);
97 Epetra_Vector ExactSolution(*Map); ExactSolution.Random();
98 Epetra_Vector LHS(*Map); LHS.PutScalar(0.0);
99 Epetra_Vector RHS(*Map);
101 Matrix->Multiply(
false, ExactSolution, RHS);
103 Epetra_LinearProblem Problem(Matrix, &LHS, &RHS);
113 double ResidualNorm = ComputeNorm(Matrix, &LHS, &RHS);
115 if (Comm.MyPID() == 0)
116 cout << ResidualNorm << endl;
121 catch (Galeri::Exception& rhs)
123 if (Comm.MyPID() == 0)
125 cerr <<
"Caught exception: ";
134 return(EXIT_SUCCESS);
int main(int argc, char *argv[])