3.5-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
dumux
flux
forchheimerslaw_fwd.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
* See the file COPYING for full copying permissions. *
5
* *
6
* This program is free software: you can redistribute it and/or modify *
7
* it under the terms of the GNU General Public License as published by *
8
* the Free Software Foundation, either version 3 of the License, or *
9
* (at your option) any later version. *
10
* *
11
* This program is distributed in the hope that it will be useful, *
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14
* GNU General Public License for more details. *
15
* *
16
* You should have received a copy of the GNU General Public License *
17
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
18
*****************************************************************************/
27
#ifndef DUMUX_FLUX_FORCHHEIMERS_LAW_FWD_HH
28
#define DUMUX_FLUX_FORCHHEIMERS_LAW_FWD_HH
29
30
#include <
dumux/common/properties.hh
>
31
#include <
dumux/discretization/method.hh
>
32
#include <
dumux/flux/forchheimervelocity.hh
>
33
34
namespace
Dumux
{
35
36
// definition of primary template
37
template
<
class
TypeTag,
class
VelocityLaw,
class
DiscretizationMethod>
38
class
ForchheimersLawImplementation
39
{
40
static_assert
(
41
GetPropType<TypeTag, Properties::GridGeometry>::discMethod
==
DiscretizationMethods::cctpfa
||
42
GetPropType<TypeTag, Properties::GridGeometry>::discMethod
==
DiscretizationMethods::box
,
43
"Forchheimer only implemented for cctpfa or box!"
44
);
45
};
46
53
template
<
class
TypeTag>
54
using
ForchheimersLaw
=
ForchheimersLawImplementation
<
55
TypeTag,
56
ForchheimerVelocity
<
57
GetPropType<TypeTag, Properties::Scalar>
,
58
GetPropType<TypeTag, Properties::GridGeometry>
,
59
GetPropType<TypeTag, Properties::FluxVariables>
60
>,
61
typename
GetPropType<TypeTag, Properties::GridGeometry>::DiscretizationMethod
62
>;
63
64
}
// end namespace Dumux
65
66
#endif
method.hh
The available discretization methods in Dumux.
forchheimervelocity.hh
Forchheimer's law This file contains the calculation of the Forchheimer velocity for a given Darcy ve...
Dumux
Definition:
adapt.hh:29
Dumux::GetPropType
typename Properties::Detail::GetPropImpl< TypeTag, Property >::type::type GetPropType
get the type alias defined in the property
Definition:
propertysystem.hh:150
Dumux::DiscretizationMethods::cctpfa
constexpr CCTpfa cctpfa
Definition:
method.hh:137
Dumux::DiscretizationMethods::box
constexpr Box box
Definition:
method.hh:139
Dumux::ForchheimersLawImplementation
forward declare
Definition:
forchheimerslaw_fwd.hh:39
Dumux::ForchheimerVelocity
Forchheimer's law This file contains the calculation of the Forchheimer velocity for a given Darcy ve...
Definition:
forchheimervelocity.hh:49
properties.hh
Declares all properties used in Dumux.
Generated by
1.9.3