version 3.9-dev
multidomain/boundary/freeflowporousmedium/traits.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//
13#ifndef DUMUX_MD_FREEFLOW_POROUSMEDIUM_TRAITS_HH
14#define DUMUX_MD_FREEFLOW_POROUSMEDIUM_TRAITS_HH
15
16#include <type_traits>
18
20
28template<class FFFS, class PMFS>
30{
31 static_assert(FFFS::numPhases == 1, "Only single-phase fluidsystems may be used for free flow.");
32 static constexpr bool value = std::is_same<typename FFFS::MultiPhaseFluidSystem, PMFS>::value;
33};
34
40template<class FS>
41struct IsSameFluidSystem<FS, FS>
42{
43 static_assert(FS::numPhases == 1, "Only single-phase fluidsystems may be used for free flow.");
44 static constexpr bool value = std::is_same<FS, FS>::value; // always true
45};
46
52template<class DiffLaw>
53struct IsFicksLaw : public std::false_type {};
54
60template<class T>
61struct IsFicksLaw<Dumux::FicksLaw<T>> : public std::true_type {};
62
63} // end namespace Dumux::FreeFlowPorousMediumCoupling
64
65#endif
forward declaration of the method-specific implementation
Definition: flux/box/fickslaw.hh:32
Fick's law specialized for different discretization schemes. This file contains the data which is req...
Definition: indexhelper.hh:18
Definition: adapt.hh:17
This structs indicates that Fick's law is not used for diffusion.
Definition: multidomain/boundary/freeflowporousmedium/traits.hh:53
This structs helps to check if the two sub models use the same fluidsystem. Specialization for the ca...
Definition: multidomain/boundary/freeflowporousmedium/traits.hh:30
static constexpr bool value
Definition: multidomain/boundary/freeflowporousmedium/traits.hh:32