]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Fixed an error in vector declaration that prevented non-local elements from being...
authorkronbichler <kronbichler@0785d39b-7218-0410-832d-ea1e28bc413d>
Thu, 18 Sep 2008 16:50:52 +0000 (16:50 +0000)
committerkronbichler <kronbichler@0785d39b-7218-0410-832d-ea1e28bc413d>
Thu, 18 Sep 2008 16:50:52 +0000 (16:50 +0000)
git-svn-id: https://svn.dealii.org/trunk@16852 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/lac/source/trilinos_sparse_matrix.cc
deal.II/lac/source/trilinos_vector.cc
deal.II/lac/source/trilinos_vector_base.cc

index 7f2513239efd6e988e00b01be21bb9225fd3126a..48a6b382cb077f6a7ae804d7cff71fbfddcbeea2 100755 (executable)
@@ -400,6 +400,8 @@ namespace TrilinosWrappers
     ierr = matrix->OptimizeStorage ();
     AssertThrow (ierr == 0, ExcTrilinosError(ierr));
 
+    last_action = Zero;
+
     compressed = true;
   }
 
index 1eebe8e5a9d7beb31fb3b5a1d72a93786bc6849c..c6ef3310cf97e7b846d59707983a021ef0e6994f 100755 (executable)
@@ -38,7 +38,7 @@ namespace TrilinosWrappers
 #endif
     {
       last_action = Zero;
-      vector = std::auto_ptr<Epetra_FEVector> (new Epetra_FEVector(map));
+      vector = std::auto_ptr<Epetra_FEVector> (new Epetra_FEVector(map,false));
     }
 
 
@@ -48,7 +48,7 @@ namespace TrilinosWrappers
                    map (InputMap)
     {
       last_action = Zero;
-      vector = std::auto_ptr<Epetra_FEVector> (new Epetra_FEVector(map));
+      vector = std::auto_ptr<Epetra_FEVector> (new Epetra_FEVector(map,false));
     }
   
 
@@ -94,8 +94,9 @@ namespace TrilinosWrappers
     {
       vector.reset();
       map = input_map;
+      (void)fast;
       
-      vector = std::auto_ptr<Epetra_FEVector> (new Epetra_FEVector(map,!fast));
+      vector = std::auto_ptr<Epetra_FEVector> (new Epetra_FEVector(map,false));
       last_action = Zero;
     }
 
@@ -119,7 +120,7 @@ namespace TrilinosWrappers
          if (map.SameAs(v.vector->Map()) == false)
            map = Epetra_Map(v.vector->GlobalLength(),0,v.vector->Comm());
 
-         vector = std::auto_ptr<Epetra_FEVector> (new Epetra_FEVector(map,!fast));
+         vector = std::auto_ptr<Epetra_FEVector> (new Epetra_FEVector(map,false));
          last_action = Zero;
        }
 
@@ -253,7 +254,7 @@ namespace TrilinosWrappers
   {
     last_action = Zero;
     vector = std::auto_ptr<Epetra_FEVector>
-                     (new Epetra_FEVector(map,true));
+                     (new Epetra_FEVector(map,false));
   }
 
 
@@ -290,7 +291,7 @@ namespace TrilinosWrappers
 
     last_action = Zero;
 
-    vector = std::auto_ptr<Epetra_FEVector> (new Epetra_FEVector (map,true));
+    vector = std::auto_ptr<Epetra_FEVector> (new Epetra_FEVector (map,false));
   }
 
 
@@ -309,7 +310,8 @@ namespace TrilinosWrappers
 
     last_action = Zero;
 
-    vector = std::auto_ptr<Epetra_FEVector> (new Epetra_FEVector (map, !fast));
+    (void)fast;
+    vector = std::auto_ptr<Epetra_FEVector> (new Epetra_FEVector (map, false));
   }
 
 
@@ -332,7 +334,7 @@ namespace TrilinosWrappers
        if (map.SameAs(v.vector->Map()) == false)
          map = Epetra_LocalMap (v.vector->GlobalLength(),0,v.vector->Comm());
 
-       vector = std::auto_ptr<Epetra_FEVector> (new Epetra_FEVector(map,!fast));
+       vector = std::auto_ptr<Epetra_FEVector> (new Epetra_FEVector(map,false));
        last_action = Zero;
       }
 
index 6f2fd67d23f89a507a4445f4115a87fcc92eb7a6..da638f208546eeda5040344628747057d60d3344 100644 (file)
@@ -110,6 +110,7 @@ namespace TrilinosWrappers
                                 // what we did last to the vector.
     const int ierr = vector->GlobalAssemble(last_action);
     AssertThrow (ierr == 0, ExcTrilinosError(ierr));
+    last_action = Zero;
   
     compressed = true;
   }
@@ -124,6 +125,8 @@ namespace TrilinosWrappers
            ExcMessage("The given value is not finite but either "
                       "infinite or Not A Number (NaN)"));
 
+    compress();
+
     const int ierr = vector->PutScalar(s);
 
     AssertThrow (ierr == 0, ExcTrilinosError(ierr));

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.