From cd9535839092bcd19bf350d8d4f45935bce2658c Mon Sep 17 00:00:00 2001 From: Marc Fehling Date: Tue, 6 Jul 2021 16:08:09 -0500 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 ec8aec1776..9ba6455ebe 100644 --- a/include/deal.II/numerics/vector_tools_evaluate.h +++ b/include/deal.II/numerics/vector_tools_evaluate.h @@ -268,18 +268,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_flags); - - return *evaluators[active_fe_index]; - }; - for (unsigned int i = 0; i < cell_data.cells.size(); ++i) { typename DoFHandler::active_cell_iterator cell = { @@ -300,7 +288,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, evaluation_flags); -- 2.39.5