3.4
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
porenetwork/properties.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 *****************************************************************************/
24#ifndef DUMUX_PNM_COMMON_PROPERTIES_HH
25#define DUMUX_PNM_COMMON_PROPERTIES_HH
26
32
35
36namespace Dumux::Properties {
37
39// Type tags
41
43// Create new type tags
44namespace TTag {
45// TODO Do we want to inherit from box? Or is this a completely new discretization?
46struct PoreNetworkModel { using InheritsFrom = std::tuple<ModelProperties, BoxModel>; };
47} // end namespace TTag
48
50// New property tags
52template<class TypeTag, class MyTypeTag>
53struct Labels { using type = UndefinedProperty; };
54
56// Property defaults
59template<class TypeTag>
60struct GridGeometry<TypeTag, TTag::PoreNetworkModel>
61{
62private:
63 static constexpr bool enableCache = getPropValue<TypeTag, Properties::EnableGridGeometryCache>();
66public:
68};
69
70template<class TypeTag>
71struct HeatConductionType<TypeTag, TTag::PoreNetworkModel> { using type = Dumux::PoreNetwork::PNMFouriersLaw<>; };
72
74template<class TypeTag>
75struct Labels<TypeTag, TTag::PoreNetworkModel> { using type = Dumux::PoreNetwork::Labels; };
76
77template<class TypeTag>
78struct VelocityOutput<TypeTag, TTag::PoreNetworkModel>
79{
80private:
83public:
85};
86
87template<class TypeTag>
88struct EnableThermalNonEquilibrium<TypeTag, TTag::PoreNetworkModel> { static constexpr bool value = false; };
89
90} // end Dumux::Properties
91
92#endif
Defines a type tag and some properties for models using the box scheme.
Defines labels for pores and throats.
typename Properties::Detail::GetPropImpl< TypeTag, Property >::type::type GetPropType
get the type alias defined in the property
Definition: propertysystem.hh:150
Definition: common/properties.hh:37
Definition: common/properties.hh:98
The type for the calculation of the heat conduction fluxes.
Definition: common/properties.hh:145
specifies the velocity calculation module to be used
Definition: common/properties.hh:164
Definition: common/properties.hh:257
a tag to mark properties as undefined
Definition: propertysystem.hh:35
Base class for the finite volume geometry for porenetwork models.
Definition: discretization/porenetwork/gridgeometry.hh:488
Specialization of Fourier's Law for the pore-network model.
Definition: flux/porenetwork/fourierslaw.hh:46
Labels for pores and throats.
Definition: labels.hh:35
Velocity output for pore-network models.
Definition: porenetwork/common/velocityoutput.hh:38
Definition: porenetwork/properties.hh:46
std::tuple< ModelProperties, BoxModel > InheritsFrom
Definition: porenetwork/properties.hh:46
The pore/throat labels.
Definition: porenetwork/properties.hh:53
Defines a type tags and some fundamental properties for all models.
Base class for the finite volume geometry for porenetwork models.
This file contains the data which is required to calculate diffusive heat fluxes with Fourier's law.
Base class for the flux variables in porous medium models.