From a090abccf6d30ff3a29a7666ed8c3c82d783cd1c Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Wed, 25 May 2016 13:00:31 -0500 Subject: [PATCH] Add a missing argument to a function. --- include/deal.II/fe/fe_tools.h | 14 +++++++++++++- source/fe/fe_tools.cc | 6 ++++-- source/fe/fe_tools.inst.in | 3 ++- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/include/deal.II/fe/fe_tools.h b/include/deal.II/fe/fe_tools.h index 9dba8de61e..dec736768a 100644 --- a/include/deal.II/fe/fe_tools.h +++ b/include/deal.II/fe/fe_tools.h @@ -1021,6 +1021,17 @@ namespace FETools * that the pointers indicate the elements to be composed, and the * arguments @p N1, @p N2, ... the multiplicities. Null pointers * indicate that an argument is to be skipped. + * + * If @p do_tensor_product is true, the number of components (and + * thus the size of the ComponentMask objects) is the sum over the + * product of the number of components in each of the finite + * elements times the corresponding multiplicity. Otherwise the + * number of components is taken from the first finite element with + * non-zero multiplicity, and all other elements with non-zero + * multiplicities need to have the same number of vector components. + * + * See the documentation of namespace FETools::Compositing for more + * information about the @p do_tensor_product argument. */ template std::vector @@ -1033,7 +1044,8 @@ namespace FETools const FiniteElement *fe4=NULL, const unsigned int N4=0, const FiniteElement *fe5=NULL, - const unsigned int N5=0); + const unsigned int N5=0, + const bool do_tensor_product = true); /** * For a given (composite) @p finite_element build @p diff --git a/source/fe/fe_tools.cc b/source/fe/fe_tools.cc index 4c5922b101..95cd4080c0 100644 --- a/source/fe/fe_tools.cc +++ b/source/fe/fe_tools.cc @@ -538,7 +538,8 @@ namespace FETools const FiniteElement *fe4, const unsigned int N4, const FiniteElement *fe5, - const unsigned int N5) + const unsigned int N5, + const bool do_tensor_product) { std::vector*> fe_list; std::vector multiplicities; @@ -558,7 +559,8 @@ namespace FETools fe_list.push_back (fe5); multiplicities.push_back (N5); - return compute_nonzero_components (fe_list, multiplicities); + return compute_nonzero_components (fe_list, multiplicities, + do_tensor_product); } template diff --git a/source/fe/fe_tools.inst.in b/source/fe/fe_tools.inst.in index c45db19213..b87a95e25f 100644 --- a/source/fe/fe_tools.inst.in +++ b/source/fe/fe_tools.inst.in @@ -75,7 +75,8 @@ for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : SPACE_DIMENSIONS const FiniteElement *fe4, const unsigned int N4, const FiniteElement *fe5, - const unsigned int N5); + const unsigned int N5, + const bool); template void -- 2.39.5