From: Peter Munch Date: Thu, 6 Jan 2022 07:45:12 +0000 (+0100) Subject: VectorTools::point_values(): fix types X-Git-Tag: v9.4.0-rc1~666^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=978e8ff787c47711e763c39f60d0ca0bf81a25a4;p=dealii.git VectorTools::point_values(): fix types --- diff --git a/include/deal.II/numerics/vector_tools_evaluate.h b/include/deal.II/numerics/vector_tools_evaluate.h index 04d6bb3ad9..53148451b9 100644 --- a/include/deal.II/numerics/vector_tools_evaluate.h +++ b/include/deal.II/numerics/vector_tools_evaluate.h @@ -112,7 +112,11 @@ namespace VectorTools * processors in the communicator. */ template - std::vector::value_type> + std::vector< + typename FEPointEvaluation::value_type> point_values( const Mapping & mapping, const DoFHandler & dof_handler, @@ -134,7 +138,11 @@ namespace VectorTools * processors in the communicator. */ template - std::vector::value_type> + std::vector< + typename FEPointEvaluation::value_type> point_values( const Utilities::MPI::RemotePointEvaluation &cache, const DoFHandler & dof_handler, @@ -152,7 +160,11 @@ namespace VectorTools * processors in the communicator. */ template - std::vector::gradient_type> + std::vector< + typename FEPointEvaluation::gradient_type> point_gradients( const Mapping & mapping, const DoFHandler & dof_handler, @@ -173,7 +185,11 @@ namespace VectorTools * processors in the communicator. */ template - std::vector::gradient_type> + std::vector< + typename FEPointEvaluation::gradient_type> point_gradients( const Utilities::MPI::RemotePointEvaluation &cache, const DoFHandler & dof_handler, @@ -187,7 +203,11 @@ namespace VectorTools #ifndef DOXYGEN template - inline std::vector::value_type> + inline std::vector< + typename FEPointEvaluation::value_type> point_values(const Mapping & mapping, const DoFHandler & dof_handler, const VectorType & vector, @@ -204,7 +224,10 @@ namespace VectorTools template inline std::vector< - typename FEPointEvaluation::gradient_type> + typename FEPointEvaluation::gradient_type> point_gradients(const Mapping & mapping, const DoFHandler & dof_handler, const VectorType & vector, @@ -291,7 +314,10 @@ namespace VectorTools const UpdateFlags update_flags, const dealii::EvaluationFlags::EvaluationFlags evaluation_flags, const std::function< - value_type(const FEPointEvaluation &, + value_type(const FEPointEvaluation &, const unsigned int &)> process_quadrature_point) { Assert(cache.is_ready(), @@ -315,7 +341,11 @@ namespace VectorTools const auto &cell_data) { std::vector solution_values; - std::vector>> + std::vector< + std::unique_ptr>> evaluators(dof_handler.get_fe_collection().size()); for (unsigned int i = 0; i < cell_data.cells.size(); ++i) @@ -339,9 +369,12 @@ namespace VectorTools solution_values.end()); if (evaluators[cell->active_fe_index()] == nullptr) - evaluators[cell->active_fe_index()] = - std::make_unique>( - cache.get_mapping(), cell->get_fe(), update_flags); + evaluators[cell->active_fe_index()] = std::make_unique< + FEPointEvaluation>( + cache.get_mapping(), cell->get_fe(), update_flags); auto &evaluator = *evaluators[cell->active_fe_index()]; evaluator.reinit(cell, unit_points); @@ -394,7 +427,11 @@ namespace VectorTools } // namespace internal template - inline std::vector::value_type> + inline std::vector< + typename FEPointEvaluation::value_type> point_values( const Utilities::MPI::RemotePointEvaluation &cache, const DoFHandler & dof_handler, @@ -406,7 +443,10 @@ namespace VectorTools dim, spacedim, VectorType, - typename FEPointEvaluation::value_type>( + typename FEPointEvaluation::value_type>( cache, dof_handler, vector, @@ -420,7 +460,10 @@ namespace VectorTools template inline std::vector< - typename FEPointEvaluation::gradient_type> + typename FEPointEvaluation::gradient_type> point_gradients( const Utilities::MPI::RemotePointEvaluation &cache, const DoFHandler & dof_handler, @@ -432,7 +475,11 @@ namespace VectorTools dim, spacedim, VectorType, - typename FEPointEvaluation::gradient_type>( + typename FEPointEvaluation< + n_components, + dim, + spacedim, + typename VectorType::value_type>::gradient_type>( cache, dof_handler, vector,