From 00ca85aeddadd39105156f16dd7222e8245d704c Mon Sep 17 00:00:00 2001
From: Christoph Lehmann <christoph.lehmann@ufz.de>
Date: Wed, 21 Sep 2016 09:03:59 +0200
Subject: [PATCH] [PL] add integral measure term to natural BCs

---
 .../NeumannBoundaryConditionLocalAssembler.h                | 3 ++-
 .../RobinBoundaryConditionLocalAssembler.h                  | 6 +++---
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/ProcessLib/BoundaryCondition/NeumannBoundaryConditionLocalAssembler.h b/ProcessLib/BoundaryCondition/NeumannBoundaryConditionLocalAssembler.h
index 94d28e6c3c2..2348484d577 100644
--- a/ProcessLib/BoundaryCondition/NeumannBoundaryConditionLocalAssembler.h
+++ b/ProcessLib/BoundaryCondition/NeumannBoundaryConditionLocalAssembler.h
@@ -59,7 +59,8 @@ public:
             auto const& sm = Base::_shape_matrices[ip];
             auto const& wp = Base::_integration_method.getWeightedPoint(ip);
             _local_rhs.noalias() += sm.N * _neumann_bc_parameter(t, pos)[0] *
-                                    sm.detJ * wp.getWeight();
+                                    sm.detJ * wp.getWeight() *
+                                    sm.integralMeasure;
         }
 
         auto const indices = NumLib::getIndices(id, dof_table_boundary);
diff --git a/ProcessLib/BoundaryCondition/RobinBoundaryConditionLocalAssembler.h b/ProcessLib/BoundaryCondition/RobinBoundaryConditionLocalAssembler.h
index e5878a606ad..90ab60ceab4 100644
--- a/ProcessLib/BoundaryCondition/RobinBoundaryConditionLocalAssembler.h
+++ b/ProcessLib/BoundaryCondition/RobinBoundaryConditionLocalAssembler.h
@@ -71,9 +71,9 @@ public:
             // adding a alpha term to the diagonal of the stiffness matrix
             // and a alpha * u_0 term to the rhs vector
             _local_K.diagonal().noalias() +=
-                sm.N * alpha * sm.detJ * wp.getWeight();
-            _local_rhs.noalias() +=
-                sm.N * alpha * u_0 * sm.detJ * wp.getWeight();
+                sm.N * alpha * sm.detJ * wp.getWeight() * sm.integralMeasure;
+            _local_rhs.noalias() += sm.N * alpha * u_0 * sm.detJ *
+                                    wp.getWeight() * sm.integralMeasure;
         }
 
         auto const indices = NumLib::getIndices(id, dof_table_boundary);
-- 
GitLab