@@ -1844,7 +1844,10 @@ void BEMProblem<dim>::compute_gradients(const TrilinosWrappers::MPI::Vector &glo
18441844 SolverGMRES<TrilinosWrappers::MPI ::Vector > solver (solver_control,
18451845 SolverGMRES<TrilinosWrappers::MPI ::Vector >::AdditionalData (1000 ));
18461846
1847- solver.solve (vector_gradients_matrix, vector_gradients_solution, vector_gradients_rhs, PreconditionIdentity ());
1847+ TrilinosWrappers::PreconditionAMG mass_prec;
1848+ mass_prec.initialize (vector_gradients_matrix);
1849+
1850+ solver.solve (vector_gradients_matrix, vector_gradients_solution, vector_gradients_rhs, mass_prec);
18481851
18491852 vector_constraints.distribute (vector_gradients_solution);
18501853}
@@ -1974,7 +1977,10 @@ void BEMProblem<dim>::compute_surface_gradients(const TrilinosWrappers::MPI::Vec
19741977 SolverGMRES<TrilinosWrappers::MPI ::Vector > solver (solver_control,
19751978 SolverGMRES<TrilinosWrappers::MPI ::Vector >::AdditionalData (1000 ));
19761979
1977- solver.solve (vector_surface_gradients_matrix, vector_surface_gradients_solution, vector_surface_gradients_rhs, PreconditionIdentity ());
1980+ TrilinosWrappers::PreconditionAMG mass_prec;
1981+ mass_prec.initialize (vector_surface_gradients_matrix);
1982+
1983+ solver.solve (vector_surface_gradients_matrix, vector_surface_gradients_solution, vector_surface_gradients_rhs, mass_prec);
19781984
19791985 vector_constraints.distribute (vector_surface_gradients_solution);
19801986
@@ -2068,8 +2074,11 @@ void BEMProblem<dim>::compute_normals()
20682074
20692075 SolverGMRES<TrilinosWrappers::MPI ::Vector > solver (solver_control,
20702076 SolverGMRES<TrilinosWrappers::MPI ::Vector >::AdditionalData (1000 ));
2077+ TrilinosWrappers::PreconditionAMG mass_prec;
2078+ mass_prec.initialize (vector_normals_matrix);
2079+
20712080
2072- solver.solve (vector_normals_matrix, vector_normals_solution, vector_normals_rhs, PreconditionIdentity () );
2081+ solver.solve (vector_normals_matrix, vector_normals_solution, vector_normals_rhs, mass_prec );
20732082
20742083 vector_constraints.distribute (vector_normals_solution);
20752084
0 commit comments