From 4c4df4aeac945becee9cf9f9220e448a80dda3e1 Mon Sep 17 00:00:00 2001 From: Thomas Fetzer <thomas.fetzer@iws.uni-stuttgart.de> Date: Tue, 22 Nov 2016 13:14:31 +0100 Subject: [PATCH] [multidomain] Merge if loop and catch wrong setups --- .../stokesncnicouplinglocalresidual.hh | 15 ++++++--------- dumux/multidomain/2cstokes2p2c/localoperator.hh | 5 +++++ .../2cstokes2p2c/stokesnccouplinglocalresidual.hh | 14 ++++++-------- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/dumux/multidomain/2cnistokes2p2cni/stokesncnicouplinglocalresidual.hh b/dumux/multidomain/2cnistokes2p2cni/stokesncnicouplinglocalresidual.hh index 671ae29efa..948499aa35 100644 --- a/dumux/multidomain/2cnistokes2p2cni/stokesncnicouplinglocalresidual.hh +++ b/dumux/multidomain/2cnistokes2p2cni/stokesncnicouplinglocalresidual.hh @@ -158,16 +158,13 @@ public: for (int compIdx = 0; compIdx < numComponents; compIdx++) { int eqIdx = conti0EqIdx + compIdx; - if (eqIdx != massBalanceIdx) + if ((eqIdx != massBalanceIdx) && bcTypes.isCouplingDirichlet(eqIdx)) { - if (bcTypes.isCouplingDirichlet(eqIdx)) - { - if(useMoles) - this->residual_[scvIdx][eqIdx] = volVars.moleFraction(compIdx); - else - this->residual_[scvIdx][eqIdx] = volVars.massFraction(compIdx); - Valgrind::CheckDefined(this->residual_[scvIdx][compIdx]); - } + if(useMoles) + this->residual_[scvIdx][eqIdx] = volVars.moleFraction(compIdx); + else + this->residual_[scvIdx][eqIdx] = volVars.massFraction(compIdx); + Valgrind::CheckDefined(this->residual_[scvIdx][compIdx]); } } diff --git a/dumux/multidomain/2cstokes2p2c/localoperator.hh b/dumux/multidomain/2cstokes2p2c/localoperator.hh index 733d4c0f9d..f43d9da119 100644 --- a/dumux/multidomain/2cstokes2p2c/localoperator.hh +++ b/dumux/multidomain/2cstokes2p2c/localoperator.hh @@ -432,6 +432,11 @@ public: const Scalar normalMassFlux1 = boundaryVars1.normalVelocity() * cParams.elemVolVarsCur1[vertInElem1].density(); + if (std::abs(bfNormal1[1]) < 1e-10) + { + DUNE_THROW(Dune::NotImplemented, "The coupling conditions are not implemented for vertical interfaces."); + } + // MASS Balance // Neumann-like conditions if (cParams.boundaryTypes1.isCouplingNeumann(massBalanceIdx1)) diff --git a/dumux/multidomain/2cstokes2p2c/stokesnccouplinglocalresidual.hh b/dumux/multidomain/2cstokes2p2c/stokesnccouplinglocalresidual.hh index c32b05c776..ec2f7bcf18 100644 --- a/dumux/multidomain/2cstokes2p2c/stokesnccouplinglocalresidual.hh +++ b/dumux/multidomain/2cstokes2p2c/stokesnccouplinglocalresidual.hh @@ -168,15 +168,13 @@ public: for (int compIdx = 0; compIdx < numComponents; compIdx++) { int eqIdx = conti0EqIdx + compIdx; - if (eqIdx != massBalanceIdx) + if ((eqIdx != massBalanceIdx) && bcTypes.isCouplingDirichlet(eqIdx)) { - if (bcTypes.isCouplingDirichlet(eqIdx)) - { - if(useMoles) - this->residual_[scvIdx][eqIdx] = volVars.moleFraction(compIdx); - else - this->residual_[scvIdx][eqIdx] = volVars.massFraction(compIdx); - } + if (useMoles) + this->residual_[scvIdx][eqIdx] = volVars.moleFraction(compIdx); + else + this->residual_[scvIdx][eqIdx] = volVars.massFraction(compIdx); + Valgrind::CheckDefined(this->residual_[scvIdx][compIdx]); } } } -- GitLab