From 6c9b3b6b15fc852b74e8a25dfbd4296143164b2b Mon Sep 17 00:00:00 2001 From: bangerth Date: Tue, 2 Nov 2010 22:58:19 +0000 Subject: [PATCH] Revert changes back to r22586. git-svn-id: https://svn.dealii.org/trunk@22591 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/doc/news/changes.h | 9 -- deal.II/include/deal.II/fe/mapping.h | 52 +++---- deal.II/include/deal.II/hp/fe_values.h | 36 ++--- .../deal.II/numerics/vectors.templates.h | 23 ++-- deal.II/source/fe/fe_values.cc | 18 +-- deal.II/source/hp/fe_values.cc | 82 +++++------ deal.II/source/numerics/vectors.cc | 130 +++--------------- 7 files changed, 123 insertions(+), 227 deletions(-) diff --git a/deal.II/doc/news/changes.h b/deal.II/doc/news/changes.h index c6e2146b58..ea5e92646e 100644 --- a/deal.II/doc/news/changes.h +++ b/deal.II/doc/news/changes.h @@ -332,15 +332,6 @@ through DoFHandler::get_tria() and DoFHandler::get_fe(), respectively.

deal.II

    -
  1. New: The class hp::FEFaceValues and hp::FESubfaceValues were not - previously available for meshes that were embedded in a higher - dimensional space (i.e. if the codimension was greater than 1). This is - now fixed. As a consequence, the VectorTools::interpolate_boundary_values - function is now also available for such meshes. -
    - (WB, 2010/11/02) -

  2. -
  3. Fixed: The FEValuesExtractors::Vector class did not work when the dimension of the domain was not equal to the dimension of the space in which it is embedded. This is now fixed. diff --git a/deal.II/include/deal.II/fe/mapping.h b/deal.II/include/deal.II/fe/mapping.h index e833a04dce..4cc31d3ecc 100644 --- a/deal.II/include/deal.II/fe/mapping.h +++ b/deal.II/include/deal.II/fe/mapping.h @@ -126,7 +126,7 @@ enum MappingType * * A hint to implementators: no function except the two functions * @p update_once and @p update_each may add any flags. - * + * * For more information about the spacedim template parameter * check the documentation of FiniteElement or the one of * Triangulation. @@ -138,12 +138,12 @@ template class Mapping : public Subscriptor { public: - + /** * Virtual destructor. */ virtual ~Mapping (); - + /** * Transforms the point @p p on * the unit cell to the point @@ -154,7 +154,7 @@ class Mapping : public Subscriptor transform_unit_to_real_cell ( const typename Triangulation::cell_iterator &cell, const Point &p) const = 0; - + /** * Transforms the point @p p on * the real cell to the point @@ -165,7 +165,7 @@ class Mapping : public Subscriptor transform_real_to_unit_cell ( const typename Triangulation::cell_iterator &cell, const Point &p) const = 0; - + /** * Base class for internal data * of finite element and mapping @@ -219,7 +219,7 @@ class Mapping : public Subscriptor * @p first_cell to @p true. */ InternalDataBase (); - + /** * Virtual destructor for * derived classes @@ -231,7 +231,7 @@ class Mapping : public Subscriptor * by reinit. */ UpdateFlags update_flags; - + /** * Values computed by * constructor. @@ -286,7 +286,7 @@ class Mapping : public Subscriptor * the first cell. */ virtual void clear_first_cell (); - + /** * Return an estimate (in * bytes) or the memory @@ -302,14 +302,14 @@ class Mapping : public Subscriptor * if #update_volume_elements. */ std::vector volume_elements; - + /** * The positions of the * mapped (generalized) * support points. */ std::vector > support_point_values; - + /* * The Jacobian of the * transformation in the @@ -317,7 +317,7 @@ class Mapping : public Subscriptor * points. */ std::vector > support_point_gradients; - + /* * The inverse of the * Jacobian of the @@ -326,8 +326,8 @@ class Mapping : public Subscriptor * points. */ std::vector > support_point_inverse_gradients; - - + + private: /** * The value returned by @@ -335,7 +335,7 @@ class Mapping : public Subscriptor */ bool first_cell; }; - + /** * Transform a field of * vectors accorsing to @@ -360,7 +360,7 @@ class Mapping : public Subscriptor VectorSlice > > output, const InternalDataBase &internal, const MappingType type) const = 0; - + /** * @deprecated Use transform() instead. */ @@ -391,7 +391,7 @@ class Mapping : public Subscriptor /** * @deprecated Use transform() instead. */ - + void transform_contravariant (const VectorSlice > > intput, const unsigned int offset, @@ -405,7 +405,7 @@ class Mapping : public Subscriptor const Point& support_point_value( const unsigned int index, const typename Mapping::InternalDataBase &internal) const; - + /** * The Jacobian * matrix of the transformation @@ -415,7 +415,7 @@ class Mapping : public Subscriptor const Tensor<2,spacedim>& support_point_gradient( const unsigned int index, const typename Mapping::InternalDataBase &internal) const; - + /** * The inverse Jacobian * matrix of the transformation @@ -425,7 +425,7 @@ class Mapping : public Subscriptor const Tensor<2,spacedim>& support_point_inverse_gradient( const unsigned int index, const typename Mapping::InternalDataBase &internal) const; - + /** * Return a pointer to a copy of the * present object. The caller of this @@ -441,7 +441,7 @@ class Mapping : public Subscriptor */ virtual Mapping * clone () const = 0; - + /** * Returns whether the mapping preserves * vertex locations, i.e. whether the @@ -466,7 +466,7 @@ class Mapping : public Subscriptor DeclException0 (ExcInvalidData); private: - + /** * Indicate fields to be updated * in the constructor of @@ -479,7 +479,7 @@ class Mapping : public Subscriptor * See @ref UpdateFlagsEssay. */ virtual UpdateFlags update_once (const UpdateFlags) const = 0; - + /** * The same as update_once(), * but for the flags to be updated for @@ -507,7 +507,7 @@ class Mapping : public Subscriptor virtual InternalDataBase* get_face_data (const UpdateFlags flags, const Quadrature& quadrature) const = 0; - + /** * Prepare internal data * structure for transformation @@ -601,7 +601,7 @@ class Mapping : public Subscriptor const unsigned int face_no, const Quadrature &quadrature, InternalDataBase &internal, - std::vector > &quadrature_points, + std::vector > &quadrature_points, std::vector &JxW_values, std::vector > &boundary_form, std::vector > &normal_vectors) const = 0; @@ -615,7 +615,7 @@ class Mapping : public Subscriptor const unsigned int sub_no, const Quadrature &quadrature, InternalDataBase &internal, - std::vector > &quadrature_points, + std::vector > &quadrature_points, std::vector &JxW_values, std::vector > &boundary_form, std::vector > &normal_vectors) const = 0; @@ -682,7 +682,7 @@ Mapping::support_point_value( const typename Mapping::InternalDataBase& internal) const { AssertIndexRange(index, internal.support_point_values.size()); - return internal.support_point_values[index]; + return internal.support_point_values[index]; } diff --git a/deal.II/include/deal.II/hp/fe_values.h b/deal.II/include/deal.II/hp/fe_values.h index 308f9946b0..f39cbc0874 100644 --- a/deal.II/include/deal.II/hp/fe_values.h +++ b/deal.II/include/deal.II/hp/fe_values.h @@ -546,8 +546,8 @@ namespace hp * @ingroup hp hpcollection * @author Wolfgang Bangerth, 2003 */ - template - class FEFaceValues : public internal::hp::FEValuesBase > + template + class FEFaceValues : public internal::hp::FEValuesBase > { public: /** @@ -570,8 +570,8 @@ namespace hp * DoFHandler::get_fe() * function. */ - FEFaceValues (const hp::MappingCollection &mapping_collection, - const hp::FECollection &fe_collection, + FEFaceValues (const hp::MappingCollection &mapping_collection, + const hp::FECollection &fe_collection, const hp::QCollection &q_collection, const UpdateFlags update_flags); @@ -598,7 +598,7 @@ namespace hp * DoFHandler::get_fe() * function. */ - FEFaceValues (const hp::FECollection &fe_collection, + FEFaceValues (const hp::FECollection &fe_collection, const hp::QCollection &q_collection, const UpdateFlags update_flags); @@ -702,7 +702,7 @@ namespace hp * this argument is specified. */ void - reinit (const typename hp::DoFHandler::cell_iterator &cell, + reinit (const typename hp::DoFHandler::cell_iterator &cell, const unsigned int face_no, const unsigned int q_index = numbers::invalid_unsigned_int, const unsigned int mapping_index = numbers::invalid_unsigned_int, @@ -738,7 +738,7 @@ namespace hp * these last three arguments. */ void - reinit (const typename dealii::DoFHandler::cell_iterator &cell, + reinit (const typename dealii::DoFHandler::cell_iterator &cell, const unsigned int face_no, const unsigned int q_index = numbers::invalid_unsigned_int, const unsigned int mapping_index = numbers::invalid_unsigned_int, @@ -774,7 +774,7 @@ namespace hp * these last three arguments. */ void - reinit (const typename MGDoFHandler::cell_iterator &cell, + reinit (const typename MGDoFHandler::cell_iterator &cell, const unsigned int face_no, const unsigned int q_index = numbers::invalid_unsigned_int, const unsigned int mapping_index = numbers::invalid_unsigned_int, @@ -811,7 +811,7 @@ namespace hp * three arguments. */ void - reinit (const typename Triangulation::cell_iterator &cell, + reinit (const typename Triangulation::cell_iterator &cell, const unsigned int face_no, const unsigned int q_index = numbers::invalid_unsigned_int, const unsigned int mapping_index = numbers::invalid_unsigned_int, @@ -827,8 +827,8 @@ namespace hp * @ingroup hp hpcollection * @author Wolfgang Bangerth, 2003 */ - template - class FESubfaceValues : public internal::hp::FEValuesBase > + template + class FESubfaceValues : public internal::hp::FEValuesBase > { public: /** @@ -851,8 +851,8 @@ namespace hp * DoFHandler::get_fe() * function. */ - FESubfaceValues (const hp::MappingCollection &mapping_collection, - const hp::FECollection &fe_collection, + FESubfaceValues (const hp::MappingCollection &mapping_collection, + const hp::FECollection &fe_collection, const hp::QCollection &q_collection, const UpdateFlags update_flags); @@ -879,7 +879,7 @@ namespace hp * DoFHandler::get_fe() * function. */ - FESubfaceValues (const hp::FECollection &fe_collection, + FESubfaceValues (const hp::FECollection &fe_collection, const hp::QCollection &q_collection, const UpdateFlags update_flags); @@ -962,7 +962,7 @@ namespace hp * this argument is specified. */ void - reinit (const typename hp::DoFHandler::cell_iterator &cell, + reinit (const typename hp::DoFHandler::cell_iterator &cell, const unsigned int face_no, const unsigned int subface_no, const unsigned int q_index = numbers::invalid_unsigned_int, @@ -999,7 +999,7 @@ namespace hp * these last three arguments. */ void - reinit (const typename dealii::DoFHandler::cell_iterator &cell, + reinit (const typename dealii::DoFHandler::cell_iterator &cell, const unsigned int face_no, const unsigned int subface_no, const unsigned int q_index = numbers::invalid_unsigned_int, @@ -1036,7 +1036,7 @@ namespace hp * these last three arguments. */ void - reinit (const typename MGDoFHandler::cell_iterator &cell, + reinit (const typename MGDoFHandler::cell_iterator &cell, const unsigned int face_no, const unsigned int subface_no, const unsigned int q_index = numbers::invalid_unsigned_int, @@ -1074,7 +1074,7 @@ namespace hp * three arguments. */ void - reinit (const typename Triangulation::cell_iterator &cell, + reinit (const typename Triangulation::cell_iterator &cell, const unsigned int face_no, const unsigned int subface_no, const unsigned int q_index = numbers::invalid_unsigned_int, diff --git a/deal.II/include/deal.II/numerics/vectors.templates.h b/deal.II/include/deal.II/numerics/vectors.templates.h index b27f75adf4..e0494237be 100644 --- a/deal.II/include/deal.II/numerics/vectors.templates.h +++ b/deal.II/include/deal.II/numerics/vectors.templates.h @@ -1353,7 +1353,6 @@ interpolate_boundary_values (const Mapping const std::vector &component_mask_) { const unsigned int dim=DH::dimension; - const unsigned int spacedim=DH::space_dimension; Assert ((component_mask_.size() == 0) || (component_mask_.size() == dof.get_fe().n_components()), @@ -1374,7 +1373,7 @@ interpolate_boundary_values (const Mapping const unsigned int n_components = DoFTools::n_components(dof); const bool fe_is_system = (n_components != 1); - for (typename FunctionMap::type::const_iterator i=function_map.begin(); + for (typename FunctionMap::type::const_iterator i=function_map.begin(); i!=function_map.end(); ++i) Assert (n_components == i->second->n_components, ExcDimensionMismatch(n_components, i->second->n_components)); @@ -1392,7 +1391,7 @@ interpolate_boundary_values (const Mapping std::vector face_dofs; face_dofs.reserve (DoFTools::max_dofs_per_face(dof)); - std::vector > dof_locations; + std::vector > dof_locations; dof_locations.reserve (DoFTools::max_dofs_per_face(dof)); // array to store the values of @@ -1412,11 +1411,11 @@ interpolate_boundary_values (const Mapping // the interpolation points of all // finite elements that may ever be // in use - hp::FECollection finite_elements (dof.get_fe()); + hp::FECollection finite_elements (dof.get_fe()); hp::QCollection q_collection; for (unsigned int f=0; f &fe = finite_elements[f]; + const FiniteElement &fe = finite_elements[f]; // generate a quadrature rule // on the face from the unit @@ -1484,9 +1483,9 @@ interpolate_boundary_values (const Mapping // hp::FEFaceValues object that we // can use to evaluate the boundary // values at - hp::MappingCollection mapping_collection (mapping); - hp::FEFaceValues x_fe_values (mapping_collection, finite_elements, q_collection, - update_quadrature_points); + hp::MappingCollection mapping_collection (mapping); + hp::FEFaceValues x_fe_values (mapping_collection, finite_elements, q_collection, + update_quadrature_points); typename DH::active_cell_iterator cell = dof.begin_active(), endc = dof.end(); @@ -1495,7 +1494,7 @@ interpolate_boundary_values (const Mapping for (unsigned int face_no = 0; face_no < GeometryInfo::faces_per_cell; ++face_no) { - const FiniteElement &fe = cell->get_fe(); + const FiniteElement &fe = cell->get_fe(); // we can presently deal only with // primitive elements for boundary @@ -1527,14 +1526,14 @@ interpolate_boundary_values (const Mapping { // face is of the right component x_fe_values.reinit(cell, face_no); - const FEFaceValues &fe_values = x_fe_values.get_present_fe_values(); + const FEFaceValues &fe_values = x_fe_values.get_present_fe_values(); // get indices, physical location and // boundary values of dofs on this // face face_dofs.resize (fe.dofs_per_face); face->get_dof_indices (face_dofs, cell->active_fe_index()); - const std::vector > &dof_locations + const std::vector > &dof_locations = fe_values.get_quadrature_points (); if (fe_is_system) @@ -1998,7 +1997,7 @@ VectorTools::project_boundary_values (const Mapping &mappin && ! excluded_dofs[dof_to_boundary_mapping[i]]) { Assert(numbers::is_finite(boundary_projection(dof_to_boundary_mapping[i])), ExcNumberNotFinite()); - + // this dof is on one of the // interesting boundary parts // diff --git a/deal.II/source/fe/fe_values.cc b/deal.II/source/fe/fe_values.cc index a041ebd390..e89b8a4911 100644 --- a/deal.II/source/fe/fe_values.cc +++ b/deal.II/source/fe/fe_values.cc @@ -3607,7 +3607,7 @@ FEFaceValues::FEFaceValues (const FiniteElement &fe, FEFaceValuesBase (quadrature.size(), fe.dofs_per_cell, update_flags, - StaticMappingQ1::mapping, + StaticMappingQ1::mapping, fe, quadrature) { Assert (DEAL_II_COMPAT_MAPPING, ExcCompatibility("mapping")); @@ -4158,14 +4158,14 @@ template class FEValuesBase; template class FEValues; template class FEValuesBase:: CellIterator::cell_iterator>; -template class FEValuesBase:: - CellIterator::cell_iterator>; - -#if deal_II_dimension == 2 -template class FEFaceValuesBase; -template class FEFaceValues; -template class FESubfaceValues; -#endif +//template class FEValuesBase:: +// CellIterator::cell_iterator>; + +// #if deal_II_dimension == 2 +// template class FEFaceValuesBase; +// template class FEFaceValues; +// template class FESubfaceValues; +// #endif #endif diff --git a/deal.II/source/hp/fe_values.cc b/deal.II/source/hp/fe_values.cc index 372d4b97c0..c4b67767e9 100644 --- a/deal.II/source/hp/fe_values.cc +++ b/deal.II/source/hp/fe_values.cc @@ -309,33 +309,33 @@ namespace hp // -------------------------- FEFaceValues ------------------------- - template - FEFaceValues::FEFaceValues (const hp::MappingCollection &mapping, - const hp::FECollection &fe_collection, + template + FEFaceValues::FEFaceValues (const hp::MappingCollection &mapping, + const hp::FECollection &fe_collection, const hp::QCollection &q_collection, const UpdateFlags update_flags) : - internal::hp::FEValuesBase > (mapping, + internal::hp::FEValuesBase > (mapping, fe_collection, q_collection, update_flags) {} - template - FEFaceValues::FEFaceValues (const hp::FECollection &fe_collection, + template + FEFaceValues::FEFaceValues (const hp::FECollection &fe_collection, const hp::QCollection &q_collection, const UpdateFlags update_flags) : - internal::hp::FEValuesBase > (fe_collection, + internal::hp::FEValuesBase > (fe_collection, q_collection, update_flags) {} - template + template void - FEFaceValues::reinit (const typename hp::DoFHandler::cell_iterator &cell, + FEFaceValues::reinit (const typename hp::DoFHandler::cell_iterator &cell, const unsigned int face_no, const unsigned int q_index, const unsigned int mapping_index, @@ -384,9 +384,9 @@ namespace hp - template + template void - FEFaceValues::reinit (const typename dealii::DoFHandler::cell_iterator &cell, + FEFaceValues::reinit (const typename dealii::DoFHandler::cell_iterator &cell, const unsigned int face_no, const unsigned int q_index, const unsigned int mapping_index, @@ -425,9 +425,9 @@ namespace hp - template + template void - FEFaceValues::reinit (const typename MGDoFHandler::cell_iterator &cell, + FEFaceValues::reinit (const typename MGDoFHandler::cell_iterator &cell, const unsigned int face_no, const unsigned int q_index, const unsigned int mapping_index, @@ -466,9 +466,9 @@ namespace hp - template + template void - FEFaceValues::reinit (const typename Triangulation::cell_iterator &cell, + FEFaceValues::reinit (const typename Triangulation::cell_iterator &cell, const unsigned int face_no, const unsigned int q_index, const unsigned int mapping_index, @@ -509,33 +509,33 @@ namespace hp // -------------------------- FESubfaceValues ------------------------- - template - FESubfaceValues::FESubfaceValues (const hp::MappingCollection &mapping, - const hp::FECollection &fe_collection, + template + FESubfaceValues::FESubfaceValues (const hp::MappingCollection &mapping, + const hp::FECollection &fe_collection, const hp::QCollection &q_collection, const UpdateFlags update_flags) : - internal::hp::FEValuesBase > (mapping, + internal::hp::FEValuesBase > (mapping, fe_collection, q_collection, update_flags) {} - template - FESubfaceValues::FESubfaceValues (const hp::FECollection &fe_collection, + template + FESubfaceValues::FESubfaceValues (const hp::FECollection &fe_collection, const hp::QCollection &q_collection, const UpdateFlags update_flags) : - internal::hp::FEValuesBase > (fe_collection, + internal::hp::FEValuesBase > (fe_collection, q_collection, update_flags) {} - template + template void - FESubfaceValues::reinit (const typename hp::DoFHandler::cell_iterator &cell, + FESubfaceValues::reinit (const typename hp::DoFHandler::cell_iterator &cell, const unsigned int face_no, const unsigned int subface_no, const unsigned int q_index, @@ -585,9 +585,9 @@ namespace hp - template + template void - FESubfaceValues::reinit (const typename dealii::DoFHandler::cell_iterator &cell, + FESubfaceValues::reinit (const typename dealii::DoFHandler::cell_iterator &cell, const unsigned int face_no, const unsigned int subface_no, const unsigned int q_index, @@ -627,9 +627,9 @@ namespace hp - template + template void - FESubfaceValues::reinit (const typename MGDoFHandler::cell_iterator &cell, + FESubfaceValues::reinit (const typename MGDoFHandler::cell_iterator &cell, const unsigned int face_no, const unsigned int subface_no, const unsigned int q_index, @@ -669,9 +669,9 @@ namespace hp - template + template void - FESubfaceValues::reinit (const typename Triangulation::cell_iterator &cell, + FESubfaceValues::reinit (const typename Triangulation::cell_iterator &cell, const unsigned int face_no, const unsigned int subface_no, const unsigned int q_index, @@ -746,12 +746,13 @@ namespace internal { template class FEValuesBase >; -#if deal_II_dimension == 2 - template class FEValuesBase >; - template class FEValuesBase >; -#endif +// not yet implemented: +// #if deal_II_dimension == 2 +// template class FEValuesBase >; +// template class FEValuesBase >; +// #endif } } @@ -759,10 +760,11 @@ namespace hp { template class FEValues; -#if deal_II_dimension == 2 - template class FEFaceValues; - template class FESubfaceValues; -#endif +// not yet implemented: +//#if deal_II_dimension == 2 +// template class FEFaceValues; +// template class FESubfaceValues; +//#endif } #endif diff --git a/deal.II/source/numerics/vectors.cc b/deal.II/source/numerics/vectors.cc index c30a9f4c51..c0bf0b59f7 100644 --- a/deal.II/source/numerics/vectors.cc +++ b/deal.II/source/numerics/vectors.cc @@ -206,101 +206,6 @@ void VectorTools::interpolate_boundary_values ( ConstraintMatrix &, const std::vector &); -#if deal_II_dimension < 3 -template -void VectorTools::interpolate_boundary_values ( - const DoFHandler &, - const unsigned char, - const Function &, - std::map &, - const std::vector &); - -template -void VectorTools::interpolate_boundary_values ( - const hp::DoFHandler &, - const unsigned char, - const Function &, - std::map &, - const std::vector &); - -template -void VectorTools::interpolate_boundary_values ( - const MGDoFHandler &, - const unsigned char, - const Function &, - std::map &, - const std::vector &); - -template -void VectorTools::interpolate_boundary_values ( - const DoFHandler &, - const unsigned char, - const Function &, - ConstraintMatrix &, - const std::vector &); - -template -void VectorTools::interpolate_boundary_values ( - const hp::DoFHandler &, - const unsigned char, - const Function &, - ConstraintMatrix &, - const std::vector &); - -template -void VectorTools::interpolate_boundary_values ( - const MGDoFHandler &, - const unsigned char, - const Function &, - ConstraintMatrix &, - const std::vector &); - -template -void VectorTools::interpolate_boundary_values ( - const Mapping &, - const DoFHandler &, - const FunctionMap::type &, - ConstraintMatrix &, - const std::vector &); - -template -void VectorTools::interpolate_boundary_values ( - const Mapping &, - const hp::DoFHandler &, - const FunctionMap::type &, - ConstraintMatrix &, - const std::vector &); - -template -void VectorTools::interpolate_boundary_values ( - const Mapping &, - const MGDoFHandler &, - const FunctionMap::type &, - ConstraintMatrix &, - const std::vector &); - -template -void VectorTools::interpolate_boundary_values ( - const DoFHandler &, - const FunctionMap::type &, - ConstraintMatrix &, - const std::vector &); - -template -void VectorTools::interpolate_boundary_values ( - const hp::DoFHandler &, - const FunctionMap::type &, - ConstraintMatrix &, - const std::vector &); - -template -void VectorTools::interpolate_boundary_values ( - const MGDoFHandler &, - const FunctionMap::type &, - ConstraintMatrix &, - const std::vector &); -#endif - template void VectorTools::project_boundary_values (const Mapping &, @@ -361,6 +266,22 @@ VectorTools::compute_no_normal_flux_constraints (const DoFHandler +// (const Mapping<1> &, +// const DoFHandler<1> &, +// const unsigned char, +// const Function<1> &, +// std::map &, +// const std::vector &); +// #endif + +// the following two functions are not derived from a template in 1d +// and thus need no explicit instantiation +//#if deal_II_dimension > 1 template void VectorTools::interpolate_boundary_values (const Mapping &, @@ -378,24 +299,7 @@ void VectorTools::interpolate_boundary_values std::map &, const std::vector &); -#if deal_II_dimension < 3 -template -void VectorTools::interpolate_boundary_values -(const Mapping &, - const DoFHandler &, - const FunctionMap::type &, - std::map &, - const std::vector &); - -template -void VectorTools::interpolate_boundary_values -(const Mapping &, - const DoFHandler &, - const unsigned char, - const Function &, - std::map &, - const std::vector &); -#endif +//#endif template -- 2.39.5