diff --git a/CHANGELOG.md b/CHANGELOG.md index 61f2f22c97ee448593eba22f41aae4347d039f37..92fbc37f82d4ed4fc3dfa1b91cadd70fc2441745 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ Differences Between DuMuX 3.2 and DuMuX 3.1 - __Radially symmetric problems__: We now have support for radially symmetric problems (disc, ball, toroid). The support comes in form of wrappers for sub control volumes and faces that overload the respective `volume()` and `area()` function turning a 1d or 2d problem into a 2d or 3d radially symmetric problem. +- __Improvements of Beavers-Joseph(-Saffman) condition for the free flow model__: The naming for handling BJ(-S) boundary conditions has been adapted from `isBJS()` to `isBeaversJoseph()` / `setBJS()` to `setBeaversJoseph()`. In order to consider the velocity within the porous medium, the old `velocityPorousMedium(element, scvf)` method (returning a Scalar) has been renamed to `porousMediumVelocity(element, scvf)` (returning a velocity vector). The latter defaults to `VelocityVector(0.0)`. + ### Immediate interface changes not allowing/requiring a deprecation period - Remove `Grid.HeapSize` as dune-ugrid removed the according feature as well. diff --git a/dumux/discretization/staggered/freeflow/boundarytypes.hh b/dumux/discretization/staggered/freeflow/boundarytypes.hh index 44e6bbaf1f6faa41232ac8ec402804a88267aa11..178915cd325ce73400312ee346f6d4f936b9a98e 100644 --- a/dumux/discretization/staggered/freeflow/boundarytypes.hh +++ b/dumux/discretization/staggered/freeflow/boundarytypes.hh @@ -31,7 +31,7 @@ namespace Dumux { /*! * \ingroup StaggeredDiscretization - * \brief Class to specify the type of a boundary for the staggered Navier-Stokes model. + * \brief Class to specify the type of a boundary condition for the staggered Navier-Stokes model. */ template <int numEq> class StaggeredFreeFlowBoundaryTypes : public Dumux::BoundaryTypes<numEq> @@ -41,7 +41,6 @@ class StaggeredFreeFlowBoundaryTypes : public Dumux::BoundaryTypes<numEq> public: StaggeredFreeFlowBoundaryTypes() { - for (int eqIdx=0; eqIdx < numEq; ++eqIdx) resetEq(eqIdx); } @@ -55,7 +54,7 @@ public: boundaryInfo_[eqIdx].visited = false; boundaryInfo_[eqIdx].isSymmetry = false; - boundaryInfo_[eqIdx].isBJS = false; + boundaryInfo_[eqIdx].isBeaversJoseph = false; } /*! @@ -99,11 +98,19 @@ public: * \brief Set a boundary condition for a single equation to * Beavers-Joseph-Saffman (special case of Dirichlet b.c.). */ + [[deprecated("Use setBeaversJoseph instead. Will be removed after 3.2")]] void setBJS(int eqIdx) + { setBeaversJoseph(eqIdx); } + + /*! + * \brief Set a boundary condition for a single equation to + * Beavers-Joseph(-Saffmann) (special case of Dirichlet b.c.). + */ + void setBeaversJoseph(unsigned eqIdx) { resetEq(eqIdx); boundaryInfo_[eqIdx].visited = true; - boundaryInfo_[eqIdx].isBJS = true; + boundaryInfo_[eqIdx].isBeaversJoseph = true; } /*! @@ -112,28 +119,45 @@ public: * * \param eqIdx The index of the equation */ + [[deprecated("Use isBeaversJoseph instead. Will be removed after 3.2")]] bool isBJS(unsigned eqIdx) const - { - return boundaryInfo_[eqIdx].isBJS; - } + { return isBeaversJoseph(eqIdx); } + + /*! + * \brief Returns true if an equation is used to specify a + * Beavers-Joseph(-Saffman) boundary condition. + * + * \param eqIdx The index of the equation + */ + bool isBeaversJoseph(unsigned eqIdx) const + { return boundaryInfo_[eqIdx].isBeaversJoseph; } /*! * \brief Returns true if some equation is used to specify a * Beavers-Joseph-Saffman boundary condition. */ + [[deprecated("Use hasBeaversJoseph instead. Will be removed after 3.2")]] bool hasBJS() const + { return hasBeaversJoseph(); } + + /*! + * \brief Returns true if some equation is used to specify a + * Beavers-Joseph(-Saffman) boundary condition. + */ + bool hasBeaversJoseph() const { for (int i = 0; i < numEq; ++i) - if (boundaryInfo_[i].isBJS) + if (boundaryInfo_[i].isBeaversJoseph) return true; return false; } protected: - struct StaggeredFreeFlowBoundaryInfo { + struct StaggeredFreeFlowBoundaryInfo + { bool visited; bool isSymmetry; - bool isBJS; + bool isBeaversJoseph; }; std::array<StaggeredFreeFlowBoundaryInfo, numEq> boundaryInfo_; diff --git a/dumux/freeflow/navierstokes/problem.hh b/dumux/freeflow/navierstokes/problem.hh index 6887765131e22a004046a15ec402edfec1f08dd6..65de5db155b16053fbd4f3acbe706671f3e480d3 100644 --- a/dumux/freeflow/navierstokes/problem.hh +++ b/dumux/freeflow/navierstokes/problem.hh @@ -24,15 +24,11 @@ #ifndef DUMUX_NAVIERSTOKES_PROBLEM_HH #define DUMUX_NAVIERSTOKES_PROBLEM_HH -#include <dune/common/deprecated.hh> - #include <dune/common/exceptions.hh> #include <dumux/common/properties.hh> #include <dumux/common/staggeredfvproblem.hh> #include <dumux/discretization/method.hh> -#include "model.hh" - namespace Dumux { //! The implementation is specialized for the different discretizations @@ -88,6 +84,7 @@ class NavierStokesProblem : public NavierStokesParentProblem<TypeTag> }; using GlobalPosition = typename SubControlVolumeFace::GlobalPosition; + using VelocityVector = Dune::FieldVector<Scalar, dimWorld>; using GravityVector = Dune::FieldVector<Scalar, dimWorld>; public: @@ -150,7 +147,6 @@ public: sol[GridGeometry::faceIdx()][scvf.dofIndex()][0] = initSol[Indices::velocity(scvf.directionIndex())]; } - /*! * \brief An additional drag term can be included as source term for the momentum balance * to mimic 3D flow behavior in 2D: @@ -208,9 +204,7 @@ public: } /*! - * \brief Returns the alpha value required as input parameter for the Beavers-Joseph-Saffman boundary condition - * - * This member function must be overloaded in the problem implementation, if the BJS boundary condition is used. + * \brief Returns the beta value, or the alpha value divided by the square root of the intrinsic permeability. */ Scalar betaBJ(const Element& element, const SubControlVolumeFace& scvf) const { @@ -220,22 +214,25 @@ public: /*! * \brief Returns the velocity in the porous medium (which is 0 by default according to Saffmann). + * \note This method is deprecated. Use porousMediumVelocity(element, scvf) instead, returning a velocity vector. Will be removed after 3.2 */ Scalar velocityPorousMedium(const Element& element, const SubControlVolumeFace& scvf) const - { return 0.0; } + { + // Redirect to helper method to avoid spurious deprecation warnings. TODO: Remove after 3.2! + return deprecatedVelocityPorousMedium_(); + } - //! helper function to evaluate the slip velocity on the boundary when the Beavers-Joseph-Saffman condition is used - DUNE_DEPRECATED_MSG("Use beaversJosephVelocity(element, scv, faceOnPorousBoundary, velocitySelf, tangentialVelocityGradient) instead") - const Scalar bjsVelocity(const Element& element, - const SubControlVolume& scv, - const SubControlVolumeFace& faceOnPorousBoundary, - const Scalar velocitySelf) const + /*! + * \brief Returns the velocity in the porous medium (which is 0 by default according to Saffmann). + */ + VelocityVector porousMediumVelocity(const Element& element, const SubControlVolumeFace& scvf) const { - // assume tangential velocity gradient of zero and - return beaversJosephVelocity(element, scv, faceOnPorousBoundary, velocitySelf, 0.0); + // TODO: return VelocityVector(0.0) after 3.2! + return VelocityVector(getVelPM_(element, scvf)); } //! helper function to evaluate the slip velocity on the boundary when the Beavers-Joseph condition is used + [[deprecated("Use beaversJosephVelocity(element, scv, ownScvf, faceOnPorousBoundary, velocitySelf, tangentialVelocityGradient) instead. Will be removed after 3.2")]] const Scalar beaversJosephVelocity(const Element& element, const SubControlVolume& scv, const SubControlVolumeFace& faceOnPorousBoundary, @@ -249,8 +246,55 @@ public: return (tangentialVelocityGradient*distance + asImp_().velocityPorousMedium(element,faceOnPorousBoundary)*betaBJ*distance + velocitySelf) / (betaBJ*distance + 1.0); } + //! helper function to evaluate the slip velocity on the boundary when the Beavers-Joseph condition is used + const Scalar beaversJosephVelocity(const Element& element, + const SubControlVolume& scv, + const SubControlVolumeFace& ownScvf, + const SubControlVolumeFace& faceOnPorousBoundary, + const Scalar velocitySelf, + const Scalar tangentialVelocityGradient) const + { + // du/dy + dv/dx = alpha/sqrt(K) * (u_boundary-uPM) + // beta = alpha/sqrt(K) + const Scalar betaBJ = asImp_().betaBJ(element, faceOnPorousBoundary); + const Scalar distanceNormalToBoundary = (faceOnPorousBoundary.center() - scv.center()).two_norm(); + + // create a unit normal vector oriented in positive coordinate direction + GlobalPosition orientation = ownScvf.unitOuterNormal(); + orientation[ownScvf.directionIndex()] = 1.0; + + return (tangentialVelocityGradient*distanceNormalToBoundary + + asImp_().porousMediumVelocity(element, faceOnPorousBoundary) * orientation * betaBJ * distanceNormalToBoundary + + velocitySelf) / (betaBJ*distanceNormalToBoundary + 1.0); + } + private: + // Auxiliary method handling deprecation warnings. TODO: Remove after 3.2! + Scalar getVelPM_(const Element& element, const SubControlVolumeFace& scvf) const + { + // Check if the user problem implements the deprecated velocityPorousMedium method + static constexpr bool implHasVelocityPorousMedium = !std::is_same<decltype(&Implementation::velocityPorousMedium), decltype(&NavierStokesProblem::velocityPorousMedium)>::value; + // This check would always trigger a spurious deprecation warning if the base class' (NavierStokesProblem) velocityPorousMedium method was equipped with a deprecation warning. + // This is why we need another level of redirection there. + + // Forward either to user impl (thereby raising a deprecation warning) or return 0.0 by default + return deprecationHelper_(element, scvf, std::integral_constant<bool, implHasVelocityPorousMedium>{}); + } + + [[deprecated("\nvelocityPorousMedium(element, scvf) is deprecated. Use porousMediumVelocity(element, scvf) instead, returning a velocity vector. Will be removed after 3.2")]] + Scalar deprecationHelper_(const Element& element, const SubControlVolumeFace& scvf, std::true_type) const + { return asImp_().velocityPorousMedium(element, scvf); } + + // Return 0.0 by default. TODO: Remove this after 3.2 + Scalar deprecationHelper_(const Element& element, const SubControlVolumeFace& scvf, std::false_type) const + { return 0.0; } + + // Auxiliary method to trigger a deprecation warning. + [[deprecated("\nvelocityPorousMedium(element, scvf) is deprecated. Use porousMediumVelocity(element, scvf) instead, returning a velocity vector. Will be removed after 3.2")]] + Scalar deprecatedVelocityPorousMedium_() const + { return 0.0; } + //! Returns the implementation of the problem (i.e. static polymorphism) Implementation &asImp_() { return *static_cast<Implementation *>(this); } diff --git a/dumux/freeflow/navierstokes/staggered/fluxvariables.hh b/dumux/freeflow/navierstokes/staggered/fluxvariables.hh index 180170856fcffeb49c8e3ffcca55ff7f9052c9f1..8500c684ea15f90a082fcc1fa260bdf485be61b9 100644 --- a/dumux/freeflow/navierstokes/staggered/fluxvariables.hh +++ b/dumux/freeflow/navierstokes/staggered/fluxvariables.hh @@ -331,7 +331,7 @@ public: // It is not clear how to evaluate the BJ condition here. // For symmetry reasons, our own scvf should then have the same Neumann flux as the lateral face. // TODO: We should clarify if this is the correct approach. - if (currentScvfBoundaryTypes->isBJS(Indices::velocity(lateralScvf.directionIndex())) && lateralFaceBoundaryTypes && + if (currentScvfBoundaryTypes->isBeaversJoseph(Indices::velocity(lateralScvf.directionIndex())) && lateralFaceBoundaryTypes && lateralFaceBoundaryTypes->isNeumann(Indices::velocity(scvf.directionIndex()))) { const auto& lateralStaggeredFaceCenter = lateralStaggeredFaceCenter_(scvf, localSubFaceIdx); @@ -375,7 +375,7 @@ public: std::bitset<3> admittableBcTypes; admittableBcTypes.set(0, lateralFaceBoundaryTypes->isDirichlet(Indices::pressureIdx)); admittableBcTypes.set(1, lateralFaceBoundaryTypes->isDirichlet(Indices::velocity(scvf.directionIndex()))); - admittableBcTypes.set(2, lateralFaceBoundaryTypes->isBJS(Indices::velocity(scvf.directionIndex()))); + admittableBcTypes.set(2, lateralFaceBoundaryTypes->isBeaversJoseph(Indices::velocity(scvf.directionIndex()))); if (admittableBcTypes.count() != 1) { DUNE_THROW(Dune::InvalidStateException, "Invalid boundary conditions for lateral scvf " @@ -502,7 +502,7 @@ private: const auto& lateralBoundaryFacePos = lateralStaggeredFaceCenter_(scvf, localSubFaceIdx); return problem.dirichlet(element, scvf.makeBoundaryFace(lateralBoundaryFacePos))[Indices::velocity(lateralFace.directionIndex())]; } - else if (bcTypes.isBJS(Indices::velocity(lateralFace.directionIndex()))) + else if (bcTypes.isBeaversJoseph(Indices::velocity(lateralFace.directionIndex()))) { return VelocityGradients::beaversJosephVelocityAtCurrentScvf(problem, element, fvGeometry, scvf, faceVars, currentScvfBoundaryTypes, lateralFaceBoundaryTypes, localSubFaceIdx); @@ -573,7 +573,7 @@ private: { if (!scvf.boundary() || currentScvfBoundaryTypes->isDirichlet(Indices::velocity(lateralFace.directionIndex())) || - currentScvfBoundaryTypes->isBJS(Indices::velocity(lateralFace.directionIndex()))) + currentScvfBoundaryTypes->isBeaversJoseph(Indices::velocity(lateralFace.directionIndex()))) { const Scalar velocityGrad_ji = VelocityGradients::velocityGradJI(problem, element, fvGeometry, scvf, faceVars, currentScvfBoundaryTypes, lateralFaceBoundaryTypes, localSubFaceIdx); // Account for the orientation of the staggered normal face's outer normal vector. diff --git a/dumux/freeflow/navierstokes/staggered/staggeredupwindfluxvariables.hh b/dumux/freeflow/navierstokes/staggered/staggeredupwindfluxvariables.hh index 0566c7e6e567ba15418fa25836e862a05c5c44f8..fbdb57c2daf7cf0ee77055bdfcc505ca090acdca 100644 --- a/dumux/freeflow/navierstokes/staggered/staggeredupwindfluxvariables.hh +++ b/dumux/freeflow/navierstokes/staggered/staggeredupwindfluxvariables.hh @@ -582,7 +582,7 @@ private: // Find out what boundary type is set on the lateral face const bool useZeroGradient = lateralFaceBoundaryTypes && (lateralFaceBoundaryTypes->isSymmetry() || lateralFaceBoundaryTypes->isDirichlet(Indices::pressureIdx)); - const bool lateralFaceHasBJS = lateralFaceBoundaryTypes && lateralFaceBoundaryTypes->isBJS(Indices::velocity(scvf.directionIndex())); + const bool lateralFaceHasBJS = lateralFaceBoundaryTypes && lateralFaceBoundaryTypes->isBeaversJoseph(Indices::velocity(scvf.directionIndex())); const bool lateralFaceHasDirichletVelocity = lateralFaceBoundaryTypes && lateralFaceBoundaryTypes->isDirichlet(Indices::velocity(scvf.directionIndex())); const Scalar velocitySelf = faceVars.velocitySelf(); diff --git a/dumux/freeflow/navierstokes/staggered/velocitygradients.hh b/dumux/freeflow/navierstokes/staggered/velocitygradients.hh index f9d7a58edce996cda5d763c232cb17706a30c0ad..014a98b7e7b84b2608a87a818877813503991363 100644 --- a/dumux/freeflow/navierstokes/staggered/velocitygradients.hh +++ b/dumux/freeflow/navierstokes/staggered/velocitygradients.hh @@ -121,7 +121,7 @@ public: const auto& lateralBoundaryFacePos = lateralStaggeredFaceCenter_(scvf, localSubFaceIdx); return problem.dirichlet(element, lateralScvf.makeBoundaryFace(lateralBoundaryFacePos))[Indices::velocity(scvf.directionIndex())]; } - else if (lateralFaceBoundaryTypes->isBJS(Indices::velocity(scvf.directionIndex()))) + else if (lateralFaceBoundaryTypes->isBeaversJoseph(Indices::velocity(scvf.directionIndex()))) { return beaversJosephVelocityAtLateralScvf(problem, element, fvGeometry, scvf, faceVars, currentScvfBoundaryTypes, lateralFaceBoundaryTypes, localSubFaceIdx); @@ -200,7 +200,7 @@ public: const auto& lateralBoundaryFacePos = lateralStaggeredFaceCenter_(scvf, localSubFaceIdx); return problem.dirichlet(element, scvf.makeBoundaryFace(lateralBoundaryFacePos))[Indices::velocity(lateralScvf.directionIndex())]; } - else if (currentScvfBoundaryTypes->isBJS(Indices::velocity(lateralScvf.directionIndex()))) + else if (currentScvfBoundaryTypes->isBeaversJoseph(Indices::velocity(lateralScvf.directionIndex()))) { return beaversJosephVelocityAtCurrentScvf(problem, element, fvGeometry, scvf, faceVars, currentScvfBoundaryTypes, lateralFaceBoundaryTypes, localSubFaceIdx); @@ -265,15 +265,18 @@ public: if (lateralScvf.boundary()) { if (lateralFaceBoundaryTypes->isDirichlet(Indices::pressureIdx) || - lateralFaceBoundaryTypes->isBJS(Indices::velocity(scvf.directionIndex()))) + lateralFaceBoundaryTypes->isBeaversJoseph(Indices::velocity(scvf.directionIndex()))) return 0.0; } return velocityGradIJ(problem, element, fvGeometry, scvf, faceVars, currentScvfBoundaryTypes, lateralFaceBoundaryTypes, localSubFaceIdx); }(); - return problem.beaversJosephVelocity(element, fvGeometry.scv(scvf.insideScvIdx()), - scvf, innerLateralVelocity, + return problem.beaversJosephVelocity(element, + fvGeometry.scv(scvf.insideScvIdx()), + lateralScvf, + scvf, /*on boundary*/ + innerLateralVelocity, tangentialVelocityGradient); } @@ -322,16 +325,18 @@ public: if (scvf.boundary()) { if (currentScvfBoundaryTypes->isDirichlet(Indices::pressureIdx) || - currentScvfBoundaryTypes->isBJS(Indices::velocity(lateralScvf.directionIndex()))) + currentScvfBoundaryTypes->isBeaversJoseph(Indices::velocity(lateralScvf.directionIndex()))) return 0.0; } return velocityGradJI(problem, element, fvGeometry, scvf, faceVars, currentScvfBoundaryTypes, lateralFaceBoundaryTypes, localSubFaceIdx); }(); - - return problem.beaversJosephVelocity(element, fvGeometry.scv(scvf.insideScvIdx()), - lateralScvf, innerParallelVelocity, + return problem.beaversJosephVelocity(element, + fvGeometry.scv(scvf.insideScvIdx()), + scvf, + lateralScvf, /*on boundary*/ + innerParallelVelocity, tangentialVelocityGradient); } diff --git a/dumux/freeflow/rans/problem.hh b/dumux/freeflow/rans/problem.hh index 5218848fc4ad9b0cefdffcd9796dd8c0a316837e..1b5721d002b88025d55ba53f71f97a1be25684d4 100644 --- a/dumux/freeflow/rans/problem.hh +++ b/dumux/freeflow/rans/problem.hh @@ -337,14 +337,14 @@ public: // adapt calculations for Beavers-Joseph-Saffman condition unsigned int normalNormDim = lateralFace.directionIndex(); - if (lateralFace.boundary() && (asImp_().boundaryTypes(element, lateralFace).isBJS(Indices::velocity(velIdx)))) + if (lateralFace.boundary() && (asImp_().boundaryTypes(element, lateralFace).isBeaversJoseph(Indices::velocity(velIdx)))) { unsigned int neighborIdx = neighborIdx_[elementIdx][normalNormDim][0]; if (lateralFace.center()[normalNormDim] < cellCenter_[elementIdx][normalNormDim]) neighborIdx = neighborIdx_[elementIdx][normalNormDim][1]; const SubControlVolume& scv = fvGeometry.scv(scvf.insideScvIdx()); - bjsVelocityAverage[normalNormDim] += ParentType::beaversJosephVelocity(element, scv, lateralFace, velocity_[elementIdx][velIdx], 0.0); + bjsVelocityAverage[normalNormDim] += ParentType::beaversJosephVelocity(element, scv, scvf, lateralFace, velocity_[elementIdx][velIdx], 0.0); if (bjsNumFaces[normalNormDim] > 0 && neighborIdx != bjsNeighbor[normalNormDim]) DUNE_THROW(Dune::InvalidStateException, "Two different neighborIdx should not occur"); bjsNeighbor[normalNormDim] = neighborIdx; diff --git a/test/multidomain/boundary/stokesdarcy/1p2c_1p2c/diffusionlawcomparison/problem_stokes.hh b/test/multidomain/boundary/stokesdarcy/1p2c_1p2c/diffusionlawcomparison/problem_stokes.hh index 65ff735b6a08771aaeeae4eedf2f72ca7d510610..ee042236357d57aaec7cef4e6e6c9c5fe6d31e44 100644 --- a/test/multidomain/boundary/stokesdarcy/1p2c_1p2c/diffusionlawcomparison/problem_stokes.hh +++ b/test/multidomain/boundary/stokesdarcy/1p2c_1p2c/diffusionlawcomparison/problem_stokes.hh @@ -198,7 +198,7 @@ public: values.setCouplingNeumann(Indices::conti0EqIdx); values.setCouplingNeumann(Indices::conti0EqIdx + 1); values.setCouplingNeumann(Indices::momentumYBalanceIdx); - values.setBJS(Indices::momentumXBalanceIdx); + values.setBeaversJoseph(Indices::momentumXBalanceIdx); } return values; diff --git a/test/multidomain/boundary/stokesdarcy/1p2c_1p2c/problem_stokes.hh b/test/multidomain/boundary/stokesdarcy/1p2c_1p2c/problem_stokes.hh index 30af1410b7f2906b1345a464dcc3494681139713..86c46ac4c07ca0cbd0af95226f1f7dbc7e69ed99 100644 --- a/test/multidomain/boundary/stokesdarcy/1p2c_1p2c/problem_stokes.hh +++ b/test/multidomain/boundary/stokesdarcy/1p2c_1p2c/problem_stokes.hh @@ -209,7 +209,7 @@ public: values.setCouplingNeumann(Indices::conti0EqIdx); values.setCouplingNeumann(Indices::conti0EqIdx + 1); values.setCouplingNeumann(Indices::momentumYBalanceIdx); - values.setBJS(Indices::momentumXBalanceIdx); + values.setBeaversJoseph(Indices::momentumXBalanceIdx); } return values; diff --git a/test/multidomain/boundary/stokesdarcy/1p2c_2p2c/problem_stokes.hh b/test/multidomain/boundary/stokesdarcy/1p2c_2p2c/problem_stokes.hh index 309ec02084342be228ec8263b931a7c09932c18d..7be2d81de23ca46b48f66a8b4ddd43cbbeb6a723 100644 --- a/test/multidomain/boundary/stokesdarcy/1p2c_2p2c/problem_stokes.hh +++ b/test/multidomain/boundary/stokesdarcy/1p2c_2p2c/problem_stokes.hh @@ -207,7 +207,7 @@ public: values.setCouplingNeumann(Indices::conti0EqIdx); values.setCouplingNeumann(Indices::conti0EqIdx + 1); values.setCouplingNeumann(Indices::momentumYBalanceIdx); - values.setBJS(Indices::momentumXBalanceIdx); + values.setBeaversJoseph(Indices::momentumXBalanceIdx); } return values; } diff --git a/test/multidomain/boundary/stokesdarcy/1p3c_1p3c/problem_stokes.hh b/test/multidomain/boundary/stokesdarcy/1p3c_1p3c/problem_stokes.hh index de5c06c2c7df8c452e87085e53e5d0989b865b3e..23ed8d862653da341f428e48b21dcf6d5daf4b8d 100644 --- a/test/multidomain/boundary/stokesdarcy/1p3c_1p3c/problem_stokes.hh +++ b/test/multidomain/boundary/stokesdarcy/1p3c_1p3c/problem_stokes.hh @@ -189,7 +189,7 @@ public: values.setNeumann(Indices::conti0EqIdx+1); values.setNeumann(Indices::conti0EqIdx+2); values.setNeumann(Indices::momentumYBalanceIdx); - values.setBJS(Indices::velocityXIdx); + values.setBeaversJoseph(Indices::velocityXIdx); } return values; diff --git a/test/multidomain/boundary/stokesdarcy/1p_1p/problem_stokes.hh b/test/multidomain/boundary/stokesdarcy/1p_1p/problem_stokes.hh index b03c451ab5af8f3afd120f5240a40a8d308e54ef..805712fa8fa7347fd8d63d8d4e3a523a5e2180af 100644 --- a/test/multidomain/boundary/stokesdarcy/1p_1p/problem_stokes.hh +++ b/test/multidomain/boundary/stokesdarcy/1p_1p/problem_stokes.hh @@ -190,7 +190,7 @@ public: { values.setCouplingNeumann(Indices::conti0EqIdx); values.setCouplingNeumann(Indices::momentumYBalanceIdx); - values.setBJS(Indices::momentumXBalanceIdx); + values.setBeaversJoseph(Indices::momentumXBalanceIdx); } return values; diff --git a/test/multidomain/boundary/stokesdarcy/1p_2p/problem_stokes.hh b/test/multidomain/boundary/stokesdarcy/1p_2p/problem_stokes.hh index c6de3f13dbf2fc9bcb51cc091c31a19ccc3d72e8..ed5c35b2e380b14be5ab0281f45597cb84a219cf 100644 --- a/test/multidomain/boundary/stokesdarcy/1p_2p/problem_stokes.hh +++ b/test/multidomain/boundary/stokesdarcy/1p_2p/problem_stokes.hh @@ -153,7 +153,7 @@ public: { values.setCouplingNeumann(Indices::conti0EqIdx); values.setCouplingNeumann(Indices::momentumYBalanceIdx); - values.setBJS(Indices::momentumXBalanceIdx); + values.setBeaversJoseph(Indices::momentumXBalanceIdx); } else {