Skip to content

Commit 56b6401

Browse files
Merge pull request #38 from nicola-giuliani/mmp
Mmp
2 parents 9b8845f + c0d3dcb commit 56b6401

2 files changed

Lines changed: 19 additions & 10 deletions

File tree

source/bem_fma.cc

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3328,22 +3328,22 @@ void BEMFMA<dim>::generate_octree_blocking()
33283328

33293329
if (dim == 3)
33303330
{
3331-
children[0] = new OctreeBlock<dim>(level, jj, pMin , delta);
3332-
children[1] = new OctreeBlock<dim>(level, jj, pMin+Point<dim>(delta ,0., 0.), delta);
3331+
children[0] = new OctreeBlock<dim>(level, jj, pMin, delta);
3332+
children[1] = new OctreeBlock<dim>(level, jj, pMin+Point<dim>(delta,0., 0.), delta);
33333333
children[2] = new OctreeBlock<dim>(level, jj, pMin+Point<dim>(delta,delta, 0.), delta);
3334-
children[3] = new OctreeBlock<dim>(level, jj, pMin+Point<dim>(0. ,delta, 0.), delta);
3335-
children[4] = new OctreeBlock<dim>(level, jj, pMin+Point<dim>(0. , 0.,delta), delta);
3334+
children[3] = new OctreeBlock<dim>(level, jj, pMin+Point<dim>(0.,delta, 0.), delta);
3335+
children[4] = new OctreeBlock<dim>(level, jj, pMin+Point<dim>(0., 0.,delta), delta);
33363336
children[5] = new OctreeBlock<dim>(level, jj, pMin+Point<dim>(delta, 0.,delta), delta);
33373337
children[6] = new OctreeBlock<dim>(level, jj, pMin+Point<dim>(delta,delta,delta), delta);
33383338
children[7] = new OctreeBlock<dim>(level, jj, pMin+Point<dim>( 0.,delta,delta), delta);
33393339
}
33403340

33413341
if (dim == 2)
33423342
{
3343-
children[0] = new OctreeBlock<dim>(level, jj, pMin , delta);
3344-
children[1] = new OctreeBlock<dim>(level, jj, pMin+Point<dim>(delta ,0.), delta);
3343+
children[0] = new OctreeBlock<dim>(level, jj, pMin, delta);
3344+
children[1] = new OctreeBlock<dim>(level, jj, pMin+Point<dim>(delta,0.), delta);
33453345
children[2] = new OctreeBlock<dim>(level, jj, pMin+Point<dim>(delta,delta), delta);
3346-
children[3] = new OctreeBlock<dim>(level, jj, pMin+Point<dim>(0. ,delta), delta);
3346+
children[3] = new OctreeBlock<dim>(level, jj, pMin+Point<dim>(0.,delta), delta);
33473347

33483348
}
33493349

source/bem_problem.cc

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)