diff --git a/src/language/algorithms/Heat5PointsAlgorithm.cpp b/src/language/algorithms/Heat5PointsAlgorithm.cpp index 05cf171dd9d64f5605579eb089cb017854e49ef4..b46f0739fbf47d0da0112b2db79c58b4f3ba2009 100644 --- a/src/language/algorithms/Heat5PointsAlgorithm.cpp +++ b/src/language/algorithms/Heat5PointsAlgorithm.cpp @@ -116,26 +116,15 @@ Heat5PointsAlgorithm<Dimension>::Heat5PointsAlgorithm( 0, true); // forces last output const CellValue<const double> dual_Vj = diamond_mesh_data.Vj(); - const auto& face_to_node_matrix = mesh->connectivity().faceToNodeMatrix(); - const FaceValue<const double> mes_l = [=] { - FaceValue<double> compute_mes_l{mesh->connectivity()}; - const NodeValue<const TinyVector<Dimension>>& xr = mesh->xr(); + const FaceValue<const double> mes_l = [&] { if constexpr (Dimension == 1) { + FaceValue<double> compute_mes_l{mesh->connectivity()}; compute_mes_l.fill(1); - } else if constexpr (Dimension == 2) { - parallel_for( - mesh->numberOfFaces(), PUGS_LAMBDA(FaceId face_id) { - const auto& face_to_node = face_to_node_matrix[face_id]; - const NodeId node_id1 = face_to_node[0]; - const NodeId node_id2 = face_to_node[1]; - const TinyVector<Dimension, double> r = xr[node_id1] - xr[node_id2]; - compute_mes_l[face_id] = l2Norm(r); - }); + return compute_mes_l; } else { - throw NotImplementedError("Not implemented in 3D"); + return mesh_data.ll(); } - return compute_mes_l; }(); const CellValue<const double> dual_mes_l_j = [=] {