1 #include "Epetra_ConfigDefs.h" 4 #include "Epetra_MpiComm.h" 6 #include "Epetra_SerialComm.h" 12 int main(
int argc,
char *argv[]){
15 MPI_Init(&argc, &argv);
16 Epetra_MpiComm Comm(MPI_COMM_WORLD);
18 Epetra_SerialComm Comm;
22 Teuchos::ParameterList Laplace_parameters;
23 Teuchos::ParameterList & mesh_sublist = Laplace_parameters.sublist(
"Mesh");
24 Teuchos::ParameterList & aztec_sublist = Laplace_parameters.sublist(
"Aztec");
25 Teuchos::ParameterList & amesos_sublist = Laplace_parameters.sublist(
"Amesos");
27 unsigned int nb_phys_groups = 4;
28 mesh_sublist.set(
"mesh_file",
"test2.msh");
29 mesh_sublist.set(
"boundary_file",
"nodes_to_boundaries_less_bumpy.txt");
30 mesh_sublist.set(
"nb_phys_groups",nb_phys_groups);
32 aztec_sublist.set(
"solver",
"cg");
33 aztec_sublist.set(
"precond",
"jacobi");
35 aztec_sublist.set(
"AZ_conv",
"noscaled");
36 aztec_sublist.set(
"AZ_tol", 1
e-6);
37 aztec_sublist.set(
"AZ_output", 0);
38 aztec_sublist.set(
"AZ_diagnostics", 0);
39 aztec_sublist.set(
"AZ_reorder", 1);
42 amesos_sublist.set(
"display",display);
43 amesos_sublist.set(
"solver_type",
"Mumps");
46 Teuchos::RCP<laplace> LaplaceO = Teuchos::rcp(
new laplace(Comm,Laplace_parameters.sublist(
"Mesh")));
47 Epetra_FECrsMatrix matrix(Copy,*LaplaceO->FEGraph);
48 Epetra_Vector lhs(*LaplaceO->StandardMap);
49 Epetra_FEVector rhs(*LaplaceO->StandardMap);
53 bc_indx[0] = 0; bc_indx[1] = 1;
54 bc_val[0] = 0.0; bc_val[1] = 1.0;
55 LaplaceO->solve_aztec(Laplace_parameters.sublist(
"Aztec"), matrix, lhs, rhs, &bc_indx[0], &bc_val[0]);
56 LaplaceO->print_solution(lhs,
"laplace_inner_to_outer_aztec.mtx");
58 bc_indx[0] = 2; bc_indx[1] = 3;
59 LaplaceO->solve_aztec(Laplace_parameters.sublist(
"Aztec"), matrix, lhs, rhs, &bc_indx[0], &bc_val[0]);
60 LaplaceO->print_solution(lhs,
"laplace_inlet_to_outlet_aztec.mtx");
int main(int argc, char *argv[])