diff --git a/dumux/multidomain/subdomainfclocalassembler.hh b/dumux/multidomain/subdomainfclocalassembler.hh index c7648a1b953b7c28b4c74d504cea4a2b2cf53ed6..dee0c4fa0768bbd5ae2fc718ccd852582b7b3446 100644 --- a/dumux/multidomain/subdomainfclocalassembler.hh +++ b/dumux/multidomain/subdomainfclocalassembler.hh @@ -388,10 +388,13 @@ public: // For other dofs, add the contribution of the partial derivative. for (int eqIdx = 0; eqIdx < numEq; ++eqIdx) { - if (bcTypes.isCouplingDirichlet(eqIdx)) - A[scv.dofIndex()][globalJ][eqIdx][pvIdx] = partialDerivs[scv.localDofIndex()][eqIdx]; - else if (bcTypes.isDirichlet(eqIdx)) - A[scv.dofIndex()][globalJ][eqIdx][pvIdx] = 0.0; + for (int pvIdx = 0; pvIdx < GridView::dimension; ++pvIdx) + { + if (bcTypes.isCouplingDirichlet(pvIdx) && pvIdx == scv.dofAxis()) // TODO? + A[scv.dofIndex()][globalJ][eqIdx][eqIdx] = partialDerivs[scv.localDofIndex()][eqIdx]; + else if (bcTypes.isDirichlet(pvIdx) && pvIdx == scv.dofAxis()) + A[scv.dofIndex()][globalJ][eqIdx][eqIdx] = 0.0; + } } } }