131int main(
int argc,
char *argv[])
134 MPI_Init(&argc,&argv);
140 Galeri::core::Workspace::setNumDimensions(3);
142 Galeri::grid::Loadable domain, boundary;
144 int numGlobalElementsX = 2 * comm.NumProc();
145 int numGlobalElementsY = 2;
146 int numGlobalElementsZ = 2;
148 int mx = comm.NumProc();
152 Galeri::grid::Generator::
153 getCubeWithHexs(comm, numGlobalElementsX, numGlobalElementsY, numGlobalElementsZ,
154 mx, my, mz, domain, boundary);
156 Epetra_Map matrixMap(domain.getNumGlobalVertices(), 0, comm);
162 Galeri::problem::ScalarLaplacian<Laplacian> problem(
"Hex", 1, 8);
164 problem.integrate(domain, A,
RHS);
168 problem.imposeDirichletBoundaryConditions(boundary, A,
RHS, LHS);
180 Teuchos::ParameterList list;
182 list.set(
"fact: level-of-fill", 1);
189 AztecOO solver(linearProblem);
190 solver.SetAztecOption(AZ_solver, AZ_cg);
191 solver.SetPrecOperator(Prec);
192 solver.Iterate(1550, 1e-9);
195 Galeri::viz::MEDIT::write(domain,
"sol", LHS);
198 problem.computeNorms(domain, LHS);
static double getElementLHS(const double &x, const double &y, const double &z, const double &phi_i, const double &phi_i_derx, const double &phi_i_dery, const double &phi_i_derz, const double &phi_j, const double &phi_j_derx, const double &phi_j_dery, const double &phi_j_derz)