]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Parameter for right preconditioning
authorguido <guido@0785d39b-7218-0410-832d-ea1e28bc413d>
Thu, 8 Nov 2001 08:30:57 +0000 (08:30 +0000)
committerguido <guido@0785d39b-7218-0410-832d-ea1e28bc413d>
Thu, 8 Nov 2001 08:30:57 +0000 (08:30 +0000)
git-svn-id: https://svn.dealii.org/trunk@5183 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/lac/include/lac/solver_gmres.h

index 8c78df9250e30b5293c375497a1e3c886d757790..0071e5efae3b7dab58b34d0c43e70617f4675549 100644 (file)
@@ -88,12 +88,16 @@ class SolverGMRES : public Solver<VECTOR>
     {
                                         /**
                                          * Constructor. By default,
-                                         * set the number of temporary
-                                         * vectors to 30.
+                                         * set the number of
+                                         * temporary vectors to 30
+                                         * and preconditioning from
+                                         * left..
                                          */
-       AdditionalData(const unsigned int max_n_tmp_vectors = 30)
+       AdditionalData(const unsigned int max_n_tmp_vectors = 30,
+                      bool right_preconditioning = false)
                        :
-                       max_n_tmp_vectors(max_n_tmp_vectors)
+                       max_n_tmp_vectors(max_n_tmp_vectors),
+                       right_preconditioning(right_preconditioning)
          {};
        
                                         /**
@@ -101,6 +105,10 @@ class SolverGMRES : public Solver<VECTOR>
                                          * tmp vectors.
                                          */
        unsigned int    max_n_tmp_vectors;
+                                          /**
+                                           * Flag for right preconditioning.
+                                           */
+         bool right_preconditioning;
     };
     
                                     /**
@@ -270,7 +278,7 @@ unsigned int dim = 0;
                                   // left or a right preconditioner. at
                                   // present, left is default, but both
                                   // ways are implemented
-  const bool left_precondition = true;
+  const bool left_precondition = ! additional_data.right_preconditioning;
 
                                   // define two aliases
   VECTOR &v = *tmp_vectors[0];

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.