version 3.10-dev
multidomain/freeflow/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-FileCopyrightInfo: Copyright © DuMux Project contributors, see AUTHORS.md in root folder
5// SPDX-License-Identifier: GPL-3.0-or-later
6//
12#ifndef DUMUX_MULTIDOMAIN_FREEFLOW_COUPLING_MANAGER_HH
13#define DUMUX_MULTIDOMAIN_FREEFLOW_COUPLING_MANAGER_HH
14
16
17#include "typetraits.hh"
20
21#ifndef DOXYGEN
22namespace Dumux::Detail {
23
24// declaration (specialize for different discretization types)
25template<class Traits, class DiscretizationMethod = typename MomentumDiscretizationMethod<Traits>::type>
26struct FreeFlowCouplingManagerSelector;
27
28template<class Traits>
29struct FreeFlowCouplingManagerSelector<Traits, DiscretizationMethods::FCStaggered>
30{ using type = FCStaggeredFreeFlowCouplingManager<Traits>; };
31
32template<class Traits, class D>
33struct FreeFlowCouplingManagerSelector<Traits, DiscretizationMethods::CVFE<D>>
34{ using type = CVFEFreeFlowCouplingManager<Traits>; };
35
36} // end namespace Dumux::Detail
37#endif
38
39
40namespace Dumux {
41
46template<class Traits>
47using FreeFlowCouplingManager = typename Detail::FreeFlowCouplingManagerSelector<Traits>::type;
48
49} // end namespace Dumux
50
51#endif
Freeflow coupling managers (Navier-Stokes mass-momentum coupling)
Freeflow coupling managers (Navier-Stokes mass-momentum coupling)
typename Detail::FreeFlowCouplingManagerSelector< Traits >::type FreeFlowCouplingManager
The interface of the coupling manager for free flow systems.
Definition: multidomain/freeflow/couplingmanager.hh:47
The available discretization methods in Dumux.
Some useful type traits.
Distance implementation details.
Definition: cvfelocalresidual.hh:25
Definition: adapt.hh:17