]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Forgot to check in one more file
authorkronbichler <kronbichler@0785d39b-7218-0410-832d-ea1e28bc413d>
Tue, 7 Oct 2008 05:37:34 +0000 (05:37 +0000)
committerkronbichler <kronbichler@0785d39b-7218-0410-832d-ea1e28bc413d>
Tue, 7 Oct 2008 05:37:34 +0000 (05:37 +0000)
git-svn-id: https://svn.dealii.org/trunk@17128 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/lac/include/lac/trilinos_vector.h

index 6d3079a85301ef46011acdc769dcf99cd7fcf082..1386d52fa0e748129d5d9aab9250c03886b9f1b6 100755 (executable)
@@ -18,6 +18,7 @@
 #include <lac/exceptions.h>
 #include <lac/vector.h>
 #include <lac/trilinos_vector_base.h>
+#include <lac/trilinos_sparse_matrix.h>
 
 #ifdef DEAL_II_USE_TRILINOS
 
@@ -336,6 +337,49 @@ namespace TrilinosWrappers
        Vector & 
          operator = (const ::dealii::Vector<Number> &v);
 
+                                      /**
+                                       * This reinit function is
+                                       * meant to be used for
+                                       * parallel calculations where
+                                       * some non-local data has to
+                                       * be used. The typical
+                                       * situation where one needs
+                                       * this function is the call of
+                                       * the
+                                       * FEValues<dim>::get_function_values
+                                       * function (or of some
+                                       * derivatives) in
+                                       * parallel. Since it is
+                                       * usually faster to retrieve
+                                       * the data in advance, this
+                                       * function can be called
+                                       * before the assembly forks
+                                       * out to the different
+                                       * processors. What this
+                                       * function does is the
+                                       * following: It takes the
+                                       * information in the columns
+                                       * of the given matrix and
+                                       * looks which data couples
+                                       * between the different
+                                       * processors. That data is
+                                       * then queried from the input
+                                       * vector. Note that you should
+                                       * not write to the resulting
+                                       * vector any more, since the
+                                       * some data can be stored
+                                       * several times on different
+                                       * processors, leading to
+                                       * unpredictable results. In
+                                       * particular, such a vector
+                                       * cannot be used for
+                                       * matrix-vector products as
+                                       * for example done during the
+                                       * solution of linear systems.
+                                       */
+       void do_data_exchange (const dealii::TrilinosWrappers::SparseMatrix &matrix,
+                              const Vector                                 &vector);
+
       private:
                                        /**
                                         * The Epetra map is used to map

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.