From 4dfb6be61e119303559722ecfc53edd2b6f43a96 Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Tue, 6 Oct 2015 17:47:24 -0500 Subject: [PATCH] Remove a whole lot of uses of MappingQ1. Rather, directly use MappingQGeneric, given that MappingQ1 is now simply a shell to MappingQGeneric to preserve the name. --- include/deal.II/fe/mapping_q.h | 6 ++-- include/deal.II/fe/mapping_q1.h | 2 +- include/deal.II/fe/mapping_q1_eulerian.h | 4 +-- include/deal.II/fe/mapping_q_generic.h | 4 +++ include/deal.II/matrix_free/matrix_free.h | 18 ++++------- .../numerics/derivative_approximation.h | 6 ++-- include/deal.II/numerics/error_estimator.h | 8 ++--- include/deal.II/numerics/matrix_tools.h | 10 +++--- include/deal.II/numerics/vector_tools.h | 32 +++++++++---------- source/fe/fe_q_bubbles.cc | 6 ++-- source/fe/fe_tools.cc | 12 +++---- source/fe/mapping_q.cc | 4 +-- source/fe/mapping_q1.cc | 3 +- source/fe/mapping_q1_eulerian.cc | 11 ++++--- source/fe/mapping_q_generic.cc | 11 +++++++ source/grid/grid_tools.cc | 10 +++--- source/hp/mapping_collection.cc | 4 +-- source/numerics/data_out_rotation.cc | 5 +-- source/numerics/point_value_history.cc | 4 +-- tests/bits/find_cell_10.cc | 2 +- tests/bits/find_cell_10a.cc | 2 +- 21 files changed, 85 insertions(+), 79 deletions(-) diff --git a/include/deal.II/fe/mapping_q.h b/include/deal.II/fe/mapping_q.h index 32eb88545d..8c44597f28 100644 --- a/include/deal.II/fe/mapping_q.h +++ b/include/deal.II/fe/mapping_q.h @@ -211,7 +211,7 @@ protected: * as the MappingQ1 class. Consequently, it inherits from * MappingQ1::InternalData, rather than from Mapping::InternalDataBase. */ - class InternalData : public MappingQ1::InternalData + class InternalData : public MappingQGeneric::InternalData { public: /** @@ -237,7 +237,7 @@ protected: * A pointer to a structure to store the information for the pure * $Q_1$ mapping that is, by default, used on all interior cells. */ - std_cxx11::unique_ptr::InternalData> mapping_q1_data; + std_cxx11::unique_ptr::InternalData> mapping_q1_data; }; protected: @@ -313,7 +313,7 @@ protected: * our own Q1 mapping here, rather than simply resorting to * StaticMappingQ1::mapping. */ - std_cxx11::unique_ptr > q1_mapping; + std_cxx11::unique_ptr > q1_mapping; /** * Declare other MappingQ classes friends. diff --git a/include/deal.II/fe/mapping_q1.h b/include/deal.II/fe/mapping_q1.h index 90180f21e8..459a154204 100644 --- a/include/deal.II/fe/mapping_q1.h +++ b/include/deal.II/fe/mapping_q1.h @@ -81,7 +81,7 @@ public: template struct StaticMappingQ1 { - static MappingQ1 mapping; + static MappingQGeneric mapping; }; diff --git a/include/deal.II/fe/mapping_q1_eulerian.h b/include/deal.II/fe/mapping_q1_eulerian.h index af7dc1771b..796a1bd85c 100644 --- a/include/deal.II/fe/mapping_q1_eulerian.h +++ b/include/deal.II/fe/mapping_q1_eulerian.h @@ -27,7 +27,7 @@ DEAL_II_NAMESPACE_OPEN /*@{*/ /** - * Eulerian mapping of general unit cells by d-linear shape functions. Each + * Eulerian mapping of general unit cells by $d$-linear shape functions. Each * cell is thus shifted in space by values given to the mapping through a * finite element field. * @@ -83,7 +83,7 @@ DEAL_II_NAMESPACE_OPEN * @author Michael Stadler, 2001 */ template , int spacedim=dim > -class MappingQ1Eulerian : public MappingQ1 +class MappingQ1Eulerian : public MappingQGeneric { public: diff --git a/include/deal.II/fe/mapping_q_generic.h b/include/deal.II/fe/mapping_q_generic.h index 923b4e9e8e..d02844fb7b 100644 --- a/include/deal.II/fe/mapping_q_generic.h +++ b/include/deal.II/fe/mapping_q_generic.h @@ -106,6 +106,10 @@ public: */ MappingQGeneric (const MappingQGeneric &mapping); + // for documentation, see the Mapping base class + virtual + Mapping *clone () const; + /** * Return the degree of the mapping, i.e. the value which was passed to the * constructor. diff --git a/include/deal.II/matrix_free/matrix_free.h b/include/deal.II/matrix_free/matrix_free.h index e4929e663f..af6ee41f6b 100644 --- a/include/deal.II/matrix_free/matrix_free.h +++ b/include/deal.II/matrix_free/matrix_free.h @@ -312,8 +312,7 @@ public: const AdditionalData additional_data = AdditionalData()); /** - * Initializes the data structures. Same as above, but with mapping @p - * MappingQ1. + * Initializes the data structures. Same as above, but using a $Q_1$ mapping. */ template void reinit (const DH &dof_handler, @@ -368,8 +367,7 @@ public: const AdditionalData additional_data = AdditionalData()); /** - * Initializes the data structures. Same as above, but with mapping @p - * MappingQ1. + * Initializes the data structures. Same as above, but using a $Q_1$ mapping. */ template void reinit (const std::vector &dof_handler, @@ -392,8 +390,7 @@ public: const AdditionalData additional_data = AdditionalData()); /** - * Initializes the data structures. Same as above, but with mapping @p - * MappingQ1. + * Initializes the data structures. Same as above, but using a $Q_1$ mapping. */ template void reinit (const std::vector &dof_handler, @@ -1472,7 +1469,6 @@ reinit(const DH &dof_handler, const Quad &quad, const typename MatrixFree::AdditionalData additional_data) { - MappingQ1 mapping; std::vector dof_handlers; std::vector constraints; std::vector quads; @@ -1484,7 +1480,7 @@ reinit(const DH &dof_handler, std::vector locally_owned_sets = internal::MatrixFree::extract_locally_owned_index_sets (dof_handlers, additional_data.level_mg_handler); - reinit(mapping, dof_handlers,constraints, locally_owned_sets, quads, + reinit(StaticMappingQ1::mapping, dof_handlers,constraints, locally_owned_sets, quads, additional_data); } @@ -1524,11 +1520,10 @@ reinit(const std::vector &dof_handler, const std::vector &quad, const typename MatrixFree::AdditionalData additional_data) { - MappingQ1 mapping; std::vector locally_owned_set = internal::MatrixFree::extract_locally_owned_index_sets (dof_handler, additional_data.level_mg_handler); - reinit(mapping, dof_handler,constraint,locally_owned_set, + reinit(StaticMappingQ1::mapping, dof_handler,constraint,locally_owned_set, static_cast >&>(quad), additional_data); } @@ -1543,13 +1538,12 @@ reinit(const std::vector &dof_handler, const Quad &quad, const typename MatrixFree::AdditionalData additional_data) { - MappingQ1 mapping; std::vector quads; quads.push_back(quad); std::vector locally_owned_set = internal::MatrixFree::extract_locally_owned_index_sets (dof_handler, additional_data.level_mg_handler); - reinit(mapping, dof_handler,constraint,locally_owned_set, quads, + reinit(StaticMappingQ1::mapping, dof_handler,constraint,locally_owned_set, quads, additional_data); } diff --git a/include/deal.II/numerics/derivative_approximation.h b/include/deal.II/numerics/derivative_approximation.h index 356ef57150..d3c55ec25e 100644 --- a/include/deal.II/numerics/derivative_approximation.h +++ b/include/deal.II/numerics/derivative_approximation.h @@ -188,7 +188,7 @@ namespace DerivativeApproximation /** * Calls the @p interpolate function, see above, with - * mapping=MappingQ1@(). + * mapping=MappingQGeneric@(1). */ template class DH, class InputVector, int spacedim> void @@ -224,7 +224,7 @@ namespace DerivativeApproximation /** * Calls the @p interpolate function, see above, with - * mapping=MappingQ1@(). + * mapping=MappingQGeneric@(1). */ template class DH, class InputVector, int spacedim> void @@ -260,7 +260,7 @@ namespace DerivativeApproximation const unsigned int component = 0); /** - * Same as above, with mapping=MappingQ1@(). + * Same as above, with mapping=MappingQGeneric@(1). */ template void diff --git a/include/deal.II/numerics/error_estimator.h b/include/deal.II/numerics/error_estimator.h index d79b29e80b..b14bb33c73 100644 --- a/include/deal.II/numerics/error_estimator.h +++ b/include/deal.II/numerics/error_estimator.h @@ -341,7 +341,7 @@ public: /** * Calls the @p estimate function, see above, with - * mapping=MappingQ1@(). + * mapping=MappingQGeneric@(1). */ template static void estimate (const DH &dof, @@ -385,7 +385,7 @@ public: /** * Calls the @p estimate function, see above, with - * mapping=MappingQ1@(). + * mapping=MappingQGeneric@(1). */ template static void estimate (const DH &dof, @@ -578,7 +578,7 @@ public: /** * Calls the @p estimate function, see above, with - * mapping=MappingQ1<1>(). + * mapping=MappingQGeneric1<1>(). */ template static void estimate (const DH &dof, @@ -620,7 +620,7 @@ public: /** * Calls the @p estimate function, see above, with - * mapping=MappingQ1<1>(). + * mapping=MappingQGeneric1<1>(). */ template static void estimate (const DH &dof, diff --git a/include/deal.II/numerics/matrix_tools.h b/include/deal.II/numerics/matrix_tools.h index 7c4ad805a6..028af5862d 100644 --- a/include/deal.II/numerics/matrix_tools.h +++ b/include/deal.II/numerics/matrix_tools.h @@ -242,7 +242,7 @@ namespace MatrixCreator /** * Calls the create_mass_matrix() function, see above, with - * mapping=MappingQ1@(). + * mapping=MappingQGeneric@(1). */ template void create_mass_matrix (const DoFHandler &dof, @@ -279,7 +279,7 @@ namespace MatrixCreator /** * Calls the create_mass_matrix() function, see above, with - * mapping=MappingQ1@(). + * mapping=MappingQGeneric@(1). */ template void create_mass_matrix (const DoFHandler &dof, @@ -373,7 +373,7 @@ namespace MatrixCreator /** * Calls the create_boundary_mass_matrix() function, see above, with - * mapping=MappingQ1@(). + * mapping=MappingQGeneric@(1). */ template void create_boundary_mass_matrix (const DoFHandler &dof, @@ -438,7 +438,7 @@ namespace MatrixCreator /** * Calls the create_laplace_matrix() function, see above, with - * mapping=MappingQ1@(). + * mapping=MappingQGeneric@(1). */ template void create_laplace_matrix (const DoFHandler &dof, @@ -474,7 +474,7 @@ namespace MatrixCreator /** * Calls the create_laplace_matrix() function, see above, with - * mapping=MappingQ1@(). + * mapping=MappingQGeneric@(1). */ template void create_laplace_matrix (const DoFHandler &dof, diff --git a/include/deal.II/numerics/vector_tools.h b/include/deal.II/numerics/vector_tools.h index db9f9fe235..7a8fa5fb06 100644 --- a/include/deal.II/numerics/vector_tools.h +++ b/include/deal.II/numerics/vector_tools.h @@ -413,7 +413,7 @@ namespace VectorTools /** * Calls the @p interpolate() function above with - * mapping=MappingQ1@@(). + * mapping=MappingQGeneric1@@(). */ template void interpolate (const DH &dof, @@ -605,7 +605,7 @@ namespace VectorTools /** * Calls the project() function above, with - * mapping=MappingQ1@(). + * mapping=MappingQGeneric@(1). */ template void project (const DoFHandler &dof, @@ -741,7 +741,7 @@ namespace VectorTools /** * Calls the other interpolate_boundary_values() function, see above, with - * mapping=MappingQ1@(). The same comments apply as for the + * mapping=MappingQGeneric@(1). The same comments apply as for the * previous function, in particular about the use of the component mask and * the requires size of the function object. * @@ -759,7 +759,7 @@ namespace VectorTools /** * Calls the other interpolate_boundary_values() function, see above, with - * mapping=MappingQ1@(). The same comments apply as for the + * mapping=MappingQGeneric@(1). The same comments apply as for the * previous function, in particular about the use of the component mask and * the requires size of the function object. */ @@ -862,7 +862,7 @@ namespace VectorTools /** * Calls the other interpolate_boundary_values() function, see above, with - * mapping=MappingQ1@(). The same comments apply as for the + * mapping=MappingQGeneric@(1). The same comments apply as for the * previous function, in particular about the use of the component mask and * the requires size of the function object. * @@ -882,7 +882,7 @@ namespace VectorTools /** * Calls the other interpolate_boundary_values() function, see above, with - * mapping=MappingQ1@(). The same comments apply as for the + * mapping=MappingQGeneric@(1). The same comments apply as for the * previous function, in particular about the use of the component mask and * the requires size of the function object. * @@ -953,7 +953,7 @@ namespace VectorTools /** * Calls the project_boundary_values() function, see above, with - * mapping=MappingQ1@(). + * mapping=MappingQGeneric@(1). */ template void project_boundary_values (const DoFHandler &dof, @@ -975,7 +975,7 @@ namespace VectorTools /** * Calls the project_boundary_values() function, see above, with - * mapping=MappingQ1@(). + * mapping=MappingQGeneric@(1). */ template void project_boundary_values (const hp::DoFHandler &dof, @@ -1032,7 +1032,7 @@ namespace VectorTools /** * Calls the project_boundary_values() function, see above, with - * mapping=MappingQ1@(). + * mapping=MappingQGeneric@(1). * * @ingroup constraints */ @@ -1604,7 +1604,7 @@ namespace VectorTools /** * Calls the create_right_hand_side() function, see above, with - * mapping=MappingQ1@(). + * mapping=MappingQGeneric@(1). */ template void create_right_hand_side (const DoFHandler &dof, @@ -1647,7 +1647,7 @@ namespace VectorTools /** * Calls the create_point_source_vector() function, see above, with - * mapping=MappingQ1@(). + * mapping=MappingQGeneric@(1). */ template void create_point_source_vector(const DoFHandler &dof, @@ -1700,7 +1700,7 @@ namespace VectorTools /** * Calls the create_point_source_vector() function for vector-valued finite - * elements, see above, with mapping=MappingQ1@(). + * elements, see above, with mapping=MappingQGeneric@(1). */ template void create_point_source_vector(const DoFHandler &dof, @@ -1749,7 +1749,7 @@ namespace VectorTools /** * Calls the create_boundary_right_hand_side() function, see above, with - * mapping=MappingQ1@(). + * mapping=MappingQGeneric@(1). * * @see * @ref GlossBoundaryIndicator "Glossary entry on boundary indicators" @@ -1916,7 +1916,7 @@ namespace VectorTools /** * Calls the integrate_difference() function, see above, with - * mapping=MappingQ1@(). + * mapping=MappingQGeneric@(1). */ template void integrate_difference (const DoFHandler &dof, @@ -1944,7 +1944,7 @@ namespace VectorTools /** * Calls the integrate_difference() function, see above, with - * mapping=MappingQ1@(). + * mapping=MappingQGeneric@(1). */ template void integrate_difference (const hp::DoFHandler &dof, @@ -2335,7 +2335,7 @@ namespace VectorTools /** * Calls the other compute_mean_value() function, see above, with - * mapping=MappingQ1@(). + * mapping=MappingQGeneric@(1). */ template double compute_mean_value (const DoFHandler &dof, diff --git a/source/fe/fe_q_bubbles.cc b/source/fe/fe_q_bubbles.cc index 05b0cdf130..73056608de 100644 --- a/source/fe/fe_q_bubbles.cc +++ b/source/fe/fe_q_bubbles.cc @@ -1,7 +1,7 @@ // --------------------------------------------------------------------- // $Id$ // -// Copyright (C) 2012 - 2013 by the deal.II authors +// Copyright (C) 2012 - 2013, 2015 by the deal.II authors // // This file is part of the deal.II library. // @@ -53,8 +53,6 @@ namespace FE_Q_Bubbles_Helper const unsigned int degree = fe.degree; // Initialize quadrature formula on fine cells - MappingQ1 mapping; - std_cxx11::unique_ptr > q_fine; Quadrature<1> q_dummy(std::vector >(1), std::vector (1,1.)); switch (dim) @@ -109,7 +107,7 @@ namespace FE_Q_Bubbles_Helper DoFHandler dh(tr); dh.distribute_dofs(fe); - FEValues fine (mapping, fe, *q_fine, + FEValues fine (StaticMappingQ1::mapping, fe, *q_fine, update_quadrature_points | update_JxW_values | update_values); diff --git a/source/fe/fe_tools.cc b/source/fe/fe_tools.cc index ea8d480397..f13f1b39cc 100644 --- a/source/fe/fe_tools.cc +++ b/source/fe/fe_tools.cc @@ -785,12 +785,11 @@ namespace FETools tria.begin_active()->set_refine_flag (RefinementCase(ref_case)); tria.execute_coarsening_and_refinement (); - MappingQ1 mapping; const unsigned int degree = fe.degree; QGauss q_fine (degree+1); const unsigned int nq = q_fine.size(); - FEValues fine (mapping, fe, q_fine, + FEValues fine (fe, q_fine, update_quadrature_points | update_JxW_values | update_values); @@ -839,7 +838,7 @@ namespace FETools q_points_coarse[i](j) = q_points_fine[i](j); const Quadrature q_coarse (q_points_coarse, fine.get_JxW_values ()); - FEValues coarse (mapping, fe, q_coarse, update_values); + FEValues coarse (fe, q_coarse, update_values); coarse.reinit (tria.begin (0)); @@ -1124,7 +1123,6 @@ namespace FETools // prepare FEValues, quadrature etc on // coarse cell - MappingQ1 mapping; QGauss q_fine(degree+1); const unsigned int nq = q_fine.size(); @@ -1135,7 +1133,7 @@ namespace FETools Triangulation tr; GridGenerator::hyper_cube (tr, 0, 1); - FEValues coarse (mapping, fe, q_fine, + FEValues coarse (fe, q_fine, update_JxW_values | update_values); typename Triangulation::cell_iterator coarse_cell @@ -1193,7 +1191,7 @@ namespace FETools tr.begin_active()->set_refine_flag(RefinementCase(ref_case)); tr.execute_coarsening_and_refinement(); - FEValues fine (mapping, fe, q_fine, + FEValues fine (StaticMappingQ1::mapping, fe, q_fine, update_quadrature_points | update_JxW_values | update_values); @@ -1219,7 +1217,7 @@ namespace FETools q_points_coarse[q](j) = q_points_fine[q](j); Quadrature q_coarse (q_points_coarse, fine.get_JxW_values()); - FEValues coarse (mapping, fe, q_coarse, update_values); + FEValues coarse (StaticMappingQ1::mapping, fe, q_coarse, update_values); coarse.reinit(coarse_cell); // Build RHS diff --git a/source/fe/mapping_q.cc b/source/fe/mapping_q.cc index ed051a5ad4..7236647f74 100644 --- a/source/fe/mapping_q.cc +++ b/source/fe/mapping_q.cc @@ -70,7 +70,7 @@ MappingQ::MappingQ (const unsigned int degree, (dim != spacedim)), // create a Q1 mapping for use on interior cells (if necessary) // or to create a good initial guess in transform_real_to_unit_cell() - q1_mapping (new MappingQ1()) + q1_mapping (new MappingQGeneric(1)) {} @@ -82,7 +82,7 @@ MappingQ::MappingQ (const MappingQ &mapping) use_mapping_q_on_all_cells (mapping.use_mapping_q_on_all_cells), // clone the Q1 mapping for use on interior cells (if necessary) // or to create a good initial guess in transform_real_to_unit_cell() - q1_mapping (mapping.q1_mapping->clone()) + q1_mapping (dynamic_cast*>(mapping.q1_mapping->clone())) {} diff --git a/source/fe/mapping_q1.cc b/source/fe/mapping_q1.cc index e61f37e339..fdbda6f56e 100644 --- a/source/fe/mapping_q1.cc +++ b/source/fe/mapping_q1.cc @@ -59,7 +59,8 @@ MappingQ1::clone () const template -MappingQ1 StaticMappingQ1::mapping; +MappingQGeneric +StaticMappingQ1::mapping = MappingQGeneric(1); diff --git a/source/fe/mapping_q1_eulerian.cc b/source/fe/mapping_q1_eulerian.cc index 08dedcf024..35919e3493 100644 --- a/source/fe/mapping_q1_eulerian.cc +++ b/source/fe/mapping_q1_eulerian.cc @@ -33,6 +33,7 @@ MappingQ1Eulerian:: MappingQ1Eulerian (const EulerVectorType &euler_transform_vectors, const DoFHandler &shiftmap_dof_handler) : + MappingQGeneric(1), euler_transform_vectors(&euler_transform_vectors), shiftmap_dof_handler(&shiftmap_dof_handler) {} @@ -128,11 +129,11 @@ fill_fe_values (const typename Triangulation::cell_iterator &cell, // call the function of the base class, but ignoring // any potentially detected cell similarity between // the current and the previous cell - MappingQ1::fill_fe_values (cell, - CellSimilarity::invalid_next_cell, - quadrature, - internal_data, - output_data); + MappingQGeneric::fill_fe_values (cell, + CellSimilarity::invalid_next_cell, + quadrature, + internal_data, + output_data); // also return the updated flag since any detected // similarity wasn't based on the mapped field, but // the original vertices which are meaningless diff --git a/source/fe/mapping_q_generic.cc b/source/fe/mapping_q_generic.cc index 5a99c5827a..b2cf9d06bb 100644 --- a/source/fe/mapping_q_generic.cc +++ b/source/fe/mapping_q_generic.cc @@ -1013,6 +1013,17 @@ MappingQGeneric::MappingQGeneric (const MappingQGeneric +Mapping * +MappingQGeneric::clone () const +{ + return new MappingQGeneric(*this); +} + + + + template unsigned int MappingQGeneric::get_degree() const diff --git a/source/grid/grid_tools.cc b/source/grid/grid_tools.cc index 71f0dadbeb..d4077480e7 100644 --- a/source/grid/grid_tools.cc +++ b/source/grid/grid_tools.cc @@ -668,10 +668,8 @@ namespace GridTools Triangulation &triangulation, const Function *coefficient) { - // first provide everything that is - // needed for solving a Laplace + // first provide everything that is needed for solving a Laplace // equation. - MappingQ1 mapping_q1; FE_Q q1(1); DoFHandler dof_handler(triangulation); @@ -690,7 +688,7 @@ namespace GridTools QGauss quadrature(4); - MatrixCreator::create_laplace_matrix(mapping_q1, dof_handler, quadrature, S,coefficient); + MatrixCreator::create_laplace_matrix(StaticMappingQ1::mapping, dof_handler, quadrature, S, coefficient); // set up the boundary values for // the laplace problem @@ -1337,7 +1335,7 @@ next_cell: best_cell = std::make_pair(*cell, p_cell); } } - catch (typename MappingQ1::ExcTransformationFailed &) + catch (typename MappingQGeneric::ExcTransformationFailed &) { // ok, the transformation // failed presumably @@ -1463,7 +1461,7 @@ next_cell: best_cell = std::make_pair(*cell, p_cell); } } - catch (typename MappingQ1::ExcTransformationFailed &) + catch (typename MappingQGeneric::ExcTransformationFailed &) { // ok, the transformation // failed presumably diff --git a/source/hp/mapping_collection.cc b/source/hp/mapping_collection.cc index 0c4536ad99..b1bc5f0cd8 100644 --- a/source/hp/mapping_collection.cc +++ b/source/hp/mapping_collection.cc @@ -1,6 +1,6 @@ // --------------------------------------------------------------------- // -// Copyright (C) 2003 - 2014 by the deal.II authors +// Copyright (C) 2003 - 2015 by the deal.II authors // // This file is part of the deal.II library. // @@ -93,7 +93,7 @@ namespace hp * this function is called. */ template - MappingQ1 & + MappingQGeneric & get_static_mapping_q1() { static MappingQ1 mapping; diff --git a/source/numerics/data_out_rotation.cc b/source/numerics/data_out_rotation.cc index b643365b80..701f8c058a 100644 --- a/source/numerics/data_out_rotation.cc +++ b/source/numerics/data_out_rotation.cc @@ -453,11 +453,12 @@ void DataOutRotation::build_patches (const unsigned int n_patches_per_ci else n_postprocessor_outputs[dataset] = 0; - const MappingQ1 mapping; internal::DataOutRotation::ParallelData thread_data (n_datasets, n_subdivisions, n_patches_per_circle, - n_postprocessor_outputs, mapping, this->get_finite_elements(), + n_postprocessor_outputs, + StaticMappingQ1::mapping, + this->get_finite_elements(), update_flags); std::vector > new_patches (n_patches_per_circle); diff --git a/source/numerics/point_value_history.cc b/source/numerics/point_value_history.cc index 4894478158..018ca17ce9 100644 --- a/source/numerics/point_value_history.cc +++ b/source/numerics/point_value_history.cc @@ -647,7 +647,7 @@ void PointValueHistory // we now have a point to query, // need to know what cell it is in Point requested_location = point->requested_location; - typename DoFHandler::active_cell_iterator cell = GridTools::find_active_cell_around_point (MappingQ1(), *dof_handler, requested_location).first; + typename DoFHandler::active_cell_iterator cell = GridTools::find_active_cell_around_point (StaticMappingQ1::mapping, *dof_handler, requested_location).first; fe_values.reinit (cell); @@ -1139,7 +1139,7 @@ void PointValueHistory // we now have a point to query, // need to know what cell it is in Point requested_location = point->requested_location; - typename DoFHandler::active_cell_iterator cell = GridTools::find_active_cell_around_point (MappingQ1(), *dof_handler, requested_location).first; + typename DoFHandler::active_cell_iterator cell = GridTools::find_active_cell_around_point (StaticMappingQ1::mapping, *dof_handler, requested_location).first; fe_values.reinit (cell); evaluation_points = fe_values.get_quadrature_points(); diff --git a/tests/bits/find_cell_10.cc b/tests/bits/find_cell_10.cc index ab490ab26e..869b866d14 100644 --- a/tests/bits/find_cell_10.cc +++ b/tests/bits/find_cell_10.cc @@ -86,7 +86,7 @@ void test() ePos(1) = 1125.59175030825804242340382189; MappingQ<2> mapping(1); - MappingQ1<2> &mapping2 = StaticMappingQ1< 2 >::mapping; + MappingQGeneric<2> &mapping2 = StaticMappingQ1< 2 >::mapping; deallog << "1:" << std::endl; GridTools::find_active_cell_around_point (mapping, triangulation, ePos); deallog << "2:" << std::endl; diff --git a/tests/bits/find_cell_10a.cc b/tests/bits/find_cell_10a.cc index 0772d5ff09..50c696ae2f 100644 --- a/tests/bits/find_cell_10a.cc +++ b/tests/bits/find_cell_10a.cc @@ -97,7 +97,7 @@ void test() ePos(1) = 1125.59175030825804242340382189; MappingQ<2> mapping(1); - MappingQ1<2> &mapping2 = StaticMappingQ1< 2 >::mapping; + MappingQGeneric<2> &mapping2 = StaticMappingQ1< 2 >::mapping; Triangulation<2> triangulation; create_coarse_grid(triangulation); // first Tria with just one cell -- 2.39.5