]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
small changes and corrections
authorhartmann <hartmann@0785d39b-7218-0410-832d-ea1e28bc413d>
Tue, 11 May 1999 16:12:21 +0000 (16:12 +0000)
committerhartmann <hartmann@0785d39b-7218-0410-832d-ea1e28bc413d>
Tue, 11 May 1999 16:12:21 +0000 (16:12 +0000)
git-svn-id: https://svn.dealii.org/trunk@1319 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/lac/include/lac/solver_selector.h

index 9d31ef82d8ca9086639378ce7717a1ac3a144dc8..994d2eb8c02a1be21026f701a8a7191ad96832b6 100644 (file)
@@ -114,28 +114,28 @@ class SolverSelector
                                      * info see the #Solver# class.
                                      */
     void set_data(const typename SolverRichardson<Matrix,Vector>
-                 ::AdditionalData &data) { richardson_data=data; };
+                 ::AdditionalData &data);
 
                                     /**
                                      * Set the additional data. For more
                                      * info see the #Solver# class.
                                      */
     void set_data(const typename SolverCG<Matrix,Vector>
-                 ::AdditionalData &data) { cg_data=data; };
+                 ::AdditionalData &data);
 
                                     /**
                                      * Set the additional data. For more
                                      * info see the #Solver# class.
                                      */
     void set_data(const typename SolverBicgstab<Matrix,Vector>
-                 ::AdditionalData &data) { bicgstab_data=data; }
+                 ::AdditionalData &data); 
 
                                     /**
                                      * Set the additional data. For more
                                      * info see the #Solver# class.
                                      */
     void set_data(const typename SolverGMRES<Matrix,Vector>
-                 ::AdditionalData &data) { gmres_data=data; };
+                 ::AdditionalData &data);
 
                                     /**
                                      * Get the names of all implemented
@@ -223,22 +223,26 @@ SolverSelector<Matrix, Vector>::solve(const Matrix &A,
 {
   if (solver_name=="richardson")
     {
-      SolverRichardson<Matrix,Vector> solver(*control,*vector_memory);
+      SolverRichardson<Matrix,Vector> solver(*control,*vector_memory,
+                                            richardson_data);
       return solver.solve(A,x,b,precond);
     }       
   else if (solver_name=="cg")
     {
-      SolverCG<Matrix,Vector> solver(*control,*vector_memory);
+      SolverCG<Matrix,Vector> solver(*control,*vector_memory,
+                                    cg_data);
       return solver.solve(A,x,b,precond);
     }
   else if (solver_name=="bicgstab")
     {
-      SolverBicgstab<Matrix,Vector> solver(*control,*vector_memory);
+      SolverBicgstab<Matrix,Vector> solver(*control,*vector_memory,
+                                          bicgstab_data);
       return solver.solve(A,x,b,precond);
     }
   else if (solver_name=="gmres")
     {
-      SolverGMRES<Matrix,Vector> solver(*control,*vector_memory,100);
+      SolverGMRES<Matrix,Vector> solver(*control,*vector_memory,
+                                       gmres_data);
       return solver.solve(A,x,b,precond);
     }
   else
@@ -256,6 +260,40 @@ string SolverSelector<Matrix, Vector>::get_solver_names()
 };
 
 
+
+template <class Matrix, class Vector>
+void SolverSelector<Matrix, Vector>::set_data(
+  const typename SolverGMRES<Matrix,Vector>::AdditionalData &data)
+{ 
+  gmres_data=data; 
+}
+
+
+template <class Matrix, class Vector>
+void SolverSelector<Matrix, Vector>::set_data(
+  const typename SolverRichardson<Matrix,Vector>::AdditionalData &data)
+{ 
+  richardson_data=data; 
+}
+
+
+template <class Matrix, class Vector>
+void SolverSelector<Matrix, Vector>::set_data(
+  const typename SolverCG<Matrix,Vector>::AdditionalData &data) 
+{ 
+  cg_data=data; 
+}
+
+
+template <class Matrix, class Vector>
+void SolverSelector<Matrix, Vector>::set_data(
+  const typename SolverBicgstab<Matrix,Vector>::AdditionalData &data) 
+{ 
+  bicgstab_data=data; 
+};
+
+
+
 /*----------------------------   solver_selector.h     ---------------------------*/
 /* end of #ifndef __solver_selector_H */
 #endif

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.