From 36a2efbeffff7c87bb9a224596bce0c763a7b8d8 Mon Sep 17 00:00:00 2001 From: Daniel Arndt Date: Sat, 9 Oct 2021 00:25:04 -0400 Subject: [PATCH] Avoid lambda function to compile with Intel 18/19. --- .../deal.II/numerics/vector_tools_evaluate.h | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/include/deal.II/numerics/vector_tools_evaluate.h b/include/deal.II/numerics/vector_tools_evaluate.h index 22345670ba..aa8db8763c 100644 --- a/include/deal.II/numerics/vector_tools_evaluate.h +++ b/include/deal.II/numerics/vector_tools_evaluate.h @@ -211,18 +211,6 @@ namespace VectorTools std::vector>> evaluators(dof_handler.get_fe_collection().size()); - const auto get_evaluator = [&](const unsigned int active_fe_index) - -> FEPointEvaluation & { - if (evaluators[active_fe_index] == nullptr) - evaluators[active_fe_index] = - std::make_unique>( - cache.get_mapping(), - dof_handler.get_fe(active_fe_index), - update_values); - - return *evaluators[active_fe_index]; - }; - for (unsigned int i = 0; i < cell_data.cells.size(); ++i) { typename DoFHandler::active_cell_iterator cell = { @@ -243,7 +231,11 @@ namespace VectorTools solution_values.begin(), solution_values.end()); - auto &evaluator = get_evaluator(cell->active_fe_index()); + if (evaluators[cell->active_fe_index()] == nullptr) + evaluators[cell->active_fe_index()] = + std::make_unique>( + cache.get_mapping(), cell->get_fe(), update_flags); + auto &evaluator = *evaluators[cell->active_fe_index()]; evaluator.reinit(cell, unit_points); evaluator.evaluate(solution_values, -- 2.39.5