From a99bcd1740e3d96a8cc3ed82c109c590a7687952 Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Mon, 3 Aug 1998 11:35:41 +0000 Subject: [PATCH] Move the iterative solver classes and helpers from the indepenant MIA library to the lac library. The reason is missing support of MIA and a structure which hardly seems designed but rather hacked together... git-svn-id: https://svn.dealii.org/trunk@470 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/deal.II/source/numerics/base.cc | 15 +++++---------- deal.II/deal.II/source/numerics/vectors.cc | 22 ++++++++-------------- 2 files changed, 13 insertions(+), 24 deletions(-) diff --git a/deal.II/deal.II/source/numerics/base.cc b/deal.II/deal.II/source/numerics/base.cc index 626ba82f76..c50d89c7e2 100644 --- a/deal.II/deal.II/source/numerics/base.cc +++ b/deal.II/deal.II/source/numerics/base.cc @@ -10,10 +10,8 @@ #include #include #include - -#include "../../../mia/control.h" -#include "../../../mia/vectormemory.h" -#include "../../../mia/cg.h" +#include +#include #include #include @@ -134,15 +132,12 @@ template void ProblemBase::solve () { Assert ((tria!=0) && (dof_handler!=0), ExcNoTriaSelected()); - int max_iter = 4000; - double tolerance = 1.e-16; - - Control control1(max_iter,tolerance); + SolverControl control(4000, 1e-16); PrimitiveVectorMemory memory(right_hand_side.size()); - CG cg(control1,memory); + SolverCG cg(control,memory); // solve - cg (system_matrix, solution, right_hand_side); + cg.solve (system_matrix, solution, right_hand_side); // distribute solution constraints.distribute (solution); }; diff --git a/deal.II/deal.II/source/numerics/vectors.cc b/deal.II/deal.II/source/numerics/vectors.cc index 7f097ba96e..70a5d364ac 100644 --- a/deal.II/deal.II/source/numerics/vectors.cc +++ b/deal.II/deal.II/source/numerics/vectors.cc @@ -14,10 +14,8 @@ #include #include #include - -#include "../../../mia/control.h" -#include "../../../mia/vectormemory.h" -#include "../../../mia/cg.h" +#include +#include #include #include @@ -167,14 +165,12 @@ void VectorTools::project (const DoFHandler &dof, MatrixTools::apply_boundary_values (boundary_values, mass_matrix, vec, tmp); - int max_iter = 1000; - double tolerance = 1.e-16; - Control control1(max_iter,tolerance); + SolverControl control(1000,1e-16); PrimitiveVectorMemory memory(tmp.size()); - CG cg(control1,memory); + SolverCG cg(control,memory); // solve - cg (mass_matrix, vec, tmp); + cg.solve (mass_matrix, vec, tmp); // distribute solution constraints.distribute (vec); @@ -323,14 +319,12 @@ VectorTools::project_boundary_values (const DoFHandler &dof, dVector boundary_projection (rhs.size()); - int max_iter = 1000; - double tolerance = 1.e-16; - Control control1(max_iter,tolerance); + SolverControl control(1000, 1e-16); PrimitiveVectorMemory memory(rhs.size()); - CG cg(control1,memory); + SolverCG cg(control,memory); // solve - cg (mass_matrix, boundary_projection, rhs); + cg.solve (mass_matrix, boundary_projection, rhs); // fill in boundary values for (unsigned int i=0; i