From: kronbichler Date: Tue, 7 Oct 2008 05:37:34 +0000 (+0000) Subject: Forgot to check in one more file X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8458d69ef2847db22c2c2fadba93a38e7893ac25;p=dealii-svn.git Forgot to check in one more file git-svn-id: https://svn.dealii.org/trunk@17128 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/lac/include/lac/trilinos_vector.h b/deal.II/lac/include/lac/trilinos_vector.h index 6d3079a853..1386d52fa0 100755 --- a/deal.II/lac/include/lac/trilinos_vector.h +++ b/deal.II/lac/include/lac/trilinos_vector.h @@ -18,6 +18,7 @@ #include #include #include +#include #ifdef DEAL_II_USE_TRILINOS @@ -336,6 +337,49 @@ namespace TrilinosWrappers Vector & operator = (const ::dealii::Vector &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::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