From f7b8630d7051d3501a5b92c9ca8a715a4a627b19 Mon Sep 17 00:00:00 2001 From: guido Date: Fri, 7 Dec 2001 14:43:55 +0000 Subject: [PATCH] compute_mean_value takes BlockVector git-svn-id: https://svn.dealii.org/trunk@5325 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/deal.II/include/numerics/vectors.h | 10 ++-- deal.II/deal.II/source/numerics/vectors.cc | 60 ++++++++++++++++++---- 2 files changed, 54 insertions(+), 16 deletions(-) diff --git a/deal.II/deal.II/include/numerics/vectors.h b/deal.II/deal.II/include/numerics/vectors.h index dd2e555363..3b0a4bae0b 100644 --- a/deal.II/deal.II/include/numerics/vectors.h +++ b/deal.II/deal.II/include/numerics/vectors.h @@ -844,22 +844,22 @@ class VectorTools * Stokes with complete Dirichlet * boundaries for the velocities. */ - template + template static double compute_mean_value (const Mapping &mapping, const DoFHandler &dof, const Quadrature &quadrature, - Vector &v, + InVector &v, const unsigned int component); /** - * Calls the @p{integrate_difference} + * Calls the @p{compute_mean_value} * function, see above, with * @p{mapping=MappingQ1()}. */ - template + template static double compute_mean_value (const DoFHandler &dof, const Quadrature &quadrature, - Vector &v, + InVector &v, const unsigned int component); /** diff --git a/deal.II/deal.II/source/numerics/vectors.cc b/deal.II/deal.II/source/numerics/vectors.cc index c2f8c94d66..b2bbb2a092 100644 --- a/deal.II/deal.II/source/numerics/vectors.cc +++ b/deal.II/deal.II/source/numerics/vectors.cc @@ -1408,12 +1408,12 @@ VectorTools::integrate_difference (const DoFHandler &dof, -template +template double VectorTools::compute_mean_value (const Mapping &mapping, const DoFHandler &dof, const Quadrature &quadrature, - Vector &v, + InVector &v, const unsigned int component) { Assert (component < dof.get_fe().n_components(), @@ -1445,11 +1445,11 @@ VectorTools::compute_mean_value (const Mapping &mapping, }; -template +template double VectorTools::compute_mean_value (const DoFHandler &dof, const Quadrature &quadrature, - Vector &v, + InVector &v, const unsigned int component) { Assert (DEAL_II_COMPAT_MAPPING, ExcCompatibility("mapping")); @@ -1704,18 +1704,56 @@ void VectorTools::project_boundary_values (const DoFHandler const FunctionMap::type &, const Quadrature&, std::map &); + template -double VectorTools::compute_mean_value (const Mapping &, - const DoFHandler &, - const Quadrature &, - Vector &, +double VectorTools::compute_mean_value (const Mapping&, + const DoFHandler&, + const Quadrature&, + Vector&, const unsigned int); template -double VectorTools::compute_mean_value (const DoFHandler &, - const Quadrature &, - Vector &, +double VectorTools::compute_mean_value (const DoFHandler&, + const Quadrature&, + Vector&, + const unsigned int); + +template +double VectorTools::compute_mean_value (const Mapping&, + const DoFHandler&, + const Quadrature&, + BlockVector&, + const unsigned int); +template +double VectorTools::compute_mean_value (const DoFHandler&, + const Quadrature&, + BlockVector&, + const unsigned int); + +template +double VectorTools::compute_mean_value (const Mapping&, + const DoFHandler&, + const Quadrature&, + Vector&, + const unsigned int); +template +double VectorTools::compute_mean_value (const DoFHandler&, + const Quadrature&, + Vector&, const unsigned int); +template +double VectorTools::compute_mean_value (const Mapping&, + const DoFHandler&, + const Quadrature&, + BlockVector&, + const unsigned int); +template +double VectorTools::compute_mean_value (const DoFHandler&, + const Quadrature&, + BlockVector&, + const unsigned int); + + // the following two functions are not derived from a template in 1d // and thus need no explicit instantiation -- 2.39.5