From 854a47be6a2686ee0b1307e132563060766f33da Mon Sep 17 00:00:00 2001 From: Kilian Weishaupt <kilian.weishaupt@iws.uni-stuttgart.de> Date: Thu, 5 Mar 2020 18:58:40 +0100 Subject: [PATCH] [md][stokesdarcy] Clean-up couplingmapper Remove dependency on coupling traits --- .../boundary/stokesdarcy/couplingmanager.hh | 2 +- .../boundary/stokesdarcy/couplingmapper.hh | 19 +++---------------- 2 files changed, 4 insertions(+), 17 deletions(-) diff --git a/dumux/multidomain/boundary/stokesdarcy/couplingmanager.hh b/dumux/multidomain/boundary/stokesdarcy/couplingmanager.hh index 47c20dd3b5..ca7712ae35 100644 --- a/dumux/multidomain/boundary/stokesdarcy/couplingmanager.hh +++ b/dumux/multidomain/boundary/stokesdarcy/couplingmanager.hh @@ -94,7 +94,7 @@ private: using VelocityVector = typename Element<stokesIdx>::Geometry::GlobalCoordinate; - using CouplingMapper = StokesDarcyCouplingMapper<MDTraits>; + using CouplingMapper = StokesDarcyCouplingMapper; struct StationaryStokesCouplingContext { diff --git a/dumux/multidomain/boundary/stokesdarcy/couplingmapper.hh b/dumux/multidomain/boundary/stokesdarcy/couplingmapper.hh index 748060bf98..19568f399e 100644 --- a/dumux/multidomain/boundary/stokesdarcy/couplingmapper.hh +++ b/dumux/multidomain/boundary/stokesdarcy/couplingmapper.hh @@ -29,7 +29,6 @@ #include <unordered_map> #include <vector> -#include <dune/common/exceptions.hh> #include <dumux/discretization/method.hh> namespace Dumux { @@ -38,20 +37,8 @@ namespace Dumux { * \ingroup StokesDarcyCoupling * \brief Coupling mapper for Stokes and Darcy domains with equal dimension. */ -template<class MDTraits> class StokesDarcyCouplingMapper { - using Scalar = typename MDTraits::Scalar; - -public: - static constexpr auto stokesCellCenterIdx = typename MDTraits::template SubDomain<0>::Index(); - static constexpr auto stokesFaceIdx = typename MDTraits::template SubDomain<1>::Index(); - static constexpr auto cellCenterIdx = typename MDTraits::template SubDomain<0>::Index(); - static constexpr auto faceIdx = typename MDTraits::template SubDomain<1>::Index(); - static constexpr auto stokesIdx = stokesCellCenterIdx; - static constexpr auto darcyIdx = typename MDTraits::template SubDomain<2>::Index(); - -private: struct ElementMapInfo { std::size_t eIdx; @@ -71,8 +58,8 @@ public: Stencils& stokesCellCenterToDarcyStencils, Stencils& stokesFaceToDarcyStencils) { - const auto& stokesFvGridGeometry = couplingManager.problem(stokesIdx).gridGeometry(); - const auto& darcyFvGridGeometry = couplingManager.problem(darcyIdx).gridGeometry(); + const auto& stokesFvGridGeometry = couplingManager.problem(CouplingManager::stokesIdx).gridGeometry(); + const auto& darcyFvGridGeometry = couplingManager.problem(CouplingManager::darcyIdx).gridGeometry(); static_assert(std::decay_t<decltype(stokesFvGridGeometry)>::discMethod == DiscretizationMethod::staggered, "The free flow domain must use the staggered discretization"); @@ -126,7 +113,7 @@ public: // find the corresponding Darcy sub control volume face for (const auto& darcyScvf : scvfs(darcyFvGeometry)) { - const Scalar distance = (darcyScvf.center() - scvf.center()).two_norm(); + const auto distance = (darcyScvf.center() - scvf.center()).two_norm(); if (distance < eps) { -- GitLab