version 3.11-dev
Loading...
Searching...
No Matches
multidomain/boundary/freeflowporousmedium/ffmomentumpm/couplingmanager.hh
Go to the documentation of this file.
1// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2// vi: set et ts=4 sw=4 sts=4:
3//
4// SPDX-FileCopyrightText: Copyright © DuMux Project contributors, see AUTHORS.md in root folder
5// SPDX-License-Identifier: GPL-3.0-or-later
6//
12
13#ifndef DUMUX_MULTIDOMAIN_BOUNDARY_FFPM_FFMMOMENTUMPM_COUPLINGMANAGER_HH
14#define DUMUX_MULTIDOMAIN_BOUNDARY_FFPM_FFMMOMENTUMPM_COUPLINGMANAGER_HH
15
18
21
22namespace Dumux {
23
24#ifndef DOXYGEN
25namespace FreeFlowMomentumPorousMediumDetail {
26
27// declaration (specialize for different discretization types)
28template<class MDTraits,
29 class DiscFFMomentum = typename GetPropType<typename MDTraits::template SubDomainTypeTag<0>, Properties::GridGeometry>::DiscretizationMethod,
30 class DiscPM = typename GetPropType<typename MDTraits::template SubDomainTypeTag<1>, Properties::GridGeometry>::DiscretizationMethod
31 >
32struct FreeFlowMomentumPorousMediumCouplingManagerSelector;
33
34template<class MDTraits>
35struct FreeFlowMomentumPorousMediumCouplingManagerSelector<MDTraits, DiscretizationMethods::FCStaggered, DiscretizationMethods::CCTpfa>
36{ using type = FFMomentumPMCouplingManagerStaggeredCCTpfa<MDTraits>; };
37
38template<class MDTraits>
39struct FreeFlowMomentumPorousMediumCouplingManagerSelector<MDTraits, DiscretizationMethods::PQ1Bubble, DiscretizationMethods::Box>
40{ using type = CouplingManagerBinaryCvfe<MDTraits>; };
41
42template<class MDTraits>
43struct FreeFlowMomentumPorousMediumCouplingManagerSelector<MDTraits, DiscretizationMethods::PQ2, DiscretizationMethods::Box>
44{ using type = CouplingManagerBinaryCvfe<MDTraits>; };
45
46} // end namespace FreeFlowMomentumPorousMediumDetail
47#endif // DOXYGEN
48
49template<class MDTraits>
50using FreeFlowMomentumPorousMediumCouplingManager = typename FreeFlowMomentumPorousMediumDetail::FreeFlowMomentumPorousMediumCouplingManagerSelector<MDTraits>::type;
51
52} // end namespace Dumux
53
54#endif
Defines all properties used in Dumux.
Coupling manager for coupling two domains both discretized with CVFE schemes.
Coupling manager for Stokes and Darcy domains with equal dimension specialization for staggered-cctpf...
The available discretization methods in Dumux.
CVFE< CVFEMethods::PQ1Bubble > PQ1Bubble
Definition method.hh:126
CVFE< CVFEMethods::PQ2 > PQ2
Definition method.hh:132
Definition adapt.hh:17
typename FreeFlowMomentumPorousMediumDetail::FreeFlowMomentumPorousMediumCouplingManagerSelector< MDTraits >::type FreeFlowMomentumPorousMediumCouplingManager
Definition multidomain/boundary/freeflowporousmedium/ffmomentumpm/couplingmanager.hh:50