From 9b9f9ff51d076306f14e46a638a4b7e4ebc9bd5d Mon Sep 17 00:00:00 2001 From: LABOURASSE Emmanuel <labourassee@gmail.com> Date: Thu, 17 Sep 2020 17:44:58 +0200 Subject: [PATCH] bug partially fixed --- src/language/algorithms/HeatDiamondAlgorithm.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/language/algorithms/HeatDiamondAlgorithm.cpp b/src/language/algorithms/HeatDiamondAlgorithm.cpp index 74382e9be..c729f97b2 100644 --- a/src/language/algorithms/HeatDiamondAlgorithm.cpp +++ b/src/language/algorithms/HeatDiamondAlgorithm.cpp @@ -456,6 +456,17 @@ HeatDiamondScheme<Dimension>::HeatDiamondScheme( } } } + } else { + const auto& primal_face_to_cell = face_to_cell_matrix[face_id]; + const double beta_l = 1. / Dimension * alpha_l[face_id] * mes_l[face_id]; + Assert(primal_face_to_cell.size() == 1, "Wrong number of cells for a boundary face"); + for (size_t i_cell = 0; i_cell < primal_face_to_cell.size(); ++i_cell) { + const CellId cell_id1 = primal_face_to_cell[i_cell]; + S(cell_dof_number[cell_id1], cell_dof_number[cell_id1]) += beta_l; + S(cell_dof_number[cell_id1], face_dof_number[face_id]) -= beta_l; + S(face_dof_number[face_id], face_dof_number[face_id]) += beta_l; + S(face_dof_number[face_id], cell_dof_number[cell_id1]) -= beta_l; + } } } -- GitLab