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