From 1770271d7ee28b3379ab5ba293be94e72679fbc4 Mon Sep 17 00:00:00 2001
From: Kilian Weishaupt <kilian.weishaupt@iws.uni-stuttgart.de>
Date: Mon, 29 Jun 2020 14:08:15 +0200
Subject: [PATCH] [fvlocalassemblerbase] Change usage of
 internalDirichletConstraint function

---
 dumux/assembly/fvlocalassemblerbase.hh | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/dumux/assembly/fvlocalassemblerbase.hh b/dumux/assembly/fvlocalassemblerbase.hh
index 7d894ca276..5b77bb6106 100644
--- a/dumux/assembly/fvlocalassemblerbase.hh
+++ b/dumux/assembly/fvlocalassemblerbase.hh
@@ -221,12 +221,14 @@ public:
         // and set the residual to (privar - dirichletvalue)
         for (const auto& scvI : scvs(this->fvGeometry()))
         {
-            if (this->problem().hasInternalDirichletConstraint(this->element(), scvI))
+            const auto internalDirichletConstraints = this->problem().hasInternalDirichletConstraint(this->element(), scvI);
+            if (internalDirichletConstraints.any())
             {
                 const auto dirichletValues = this->problem().internalDirichlet(this->element(), scvI);
                 // set the Dirichlet conditions in residual and jacobian
-                for (int eqIdx = 0; eqIdx < numEq; ++eqIdx)
-                    applyDirichlet(scvI, dirichletValues, eqIdx, eqIdx);
+                for (int eqIdx = 0; eqIdx < internalDirichletConstraints.size(); ++eqIdx)
+                    if (internalDirichletConstraints[eqIdx])
+                        applyDirichlet(scvI, dirichletValues, eqIdx, eqIdx);
             }
         }
     }
-- 
GitLab