3.2-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
porousmediumflow/2p/sequential/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_2PPROPERTIES_SEQUENTIAL_HH
25#define DUMUX_2PPROPERTIES_SEQUENTIAL_HH
26
27// Dumux-includes
29#include "indices.hh"
31
32namespace Dumux {
34// Forward declarations
36template <class TypeTag, bool enableCompressibility>
37class CellData2P;
38
40// Properties
42namespace Properties {
44// Type tags
46
48// Create new type tags
49namespace TTag {
50struct SequentialTwoP { using InheritsFrom = std::tuple<SequentialModel>; };
51} // end namespace TTag
52
54// Property tags
56template<class TypeTag, class MyTypeTag>
58template<class TypeTag, class MyTypeTag>
60template<class TypeTag, class MyTypeTag>
62} // end namespace Properties
63} // end namespace Dumux
64
69
70namespace Dumux {
71namespace Properties {
73// Properties
76template<class TypeTag>
77struct NumEq<TypeTag, TTag::SequentialTwoP> { static constexpr int value = 2; };
78
80template<class TypeTag>
81struct NumPhases<TypeTag, TTag::SequentialTwoP> { static constexpr int value = 2; };
82
84template<class TypeTag>
85struct NumComponents<TypeTag, TTag::SequentialTwoP> { static constexpr int value = 1; };
86
88template<class TypeTag>
89struct Formulation<TypeTag, TTag::SequentialTwoP> { static constexpr int value = SequentialTwoPCommonIndices::pwsw; };
90
92template<class TypeTag>
93struct Indices<TypeTag, TTag::SequentialTwoP>
94{
96};
97
99template<class TypeTag>
100struct PressureFormulation<TypeTag, TTag::SequentialTwoP> { static constexpr int value = GetPropType<TypeTag, Properties::Indices>::pressureType; };
101
103template<class TypeTag>
104struct SaturationFormulation<TypeTag, TTag::SequentialTwoP> { static constexpr int value = GetPropType<TypeTag, Properties::Indices>::saturationType; };
105
107template<class TypeTag>
108struct VelocityFormulation<TypeTag, TTag::SequentialTwoP> { static constexpr int value = GetPropType<TypeTag, Properties::Indices>::velocityDefault; };
109
111template<class TypeTag>
112struct EnableCompressibility<TypeTag, TTag::SequentialTwoP> { static constexpr bool value = false; };
113
115template<class TypeTag>
116struct Variables<TypeTag, TTag::SequentialTwoP> { using type = VariableClass<TypeTag>; };
117
119template<class TypeTag>
121
123template<class TypeTag>
124struct FluidState<TypeTag, TTag::SequentialTwoP>
125{
126private:
129public:
131};
132
134template<class TypeTag>
135struct SpatialParams<TypeTag, TTag::SequentialTwoP> { using type = SequentialFVSpatialParams<TypeTag>; };
136// \}
137} // end namespace Properties
138} // end namespace Dumux
139
140#endif
Represents all relevant thermodynamic quantities of a isothermal immiscible multi-phase fluid system.
A fluid system for two-phase models assuming immiscibility and thermodynamic equilibrium.
The base class for spatial parameters of problems using the fv method.
Base class holding the variables for sequential models.
Definition: adapt.hh:29
typename Properties::Detail::GetPropImpl< TypeTag, Property >::type::type GetPropType
get the type alias defined in the property (equivalent to old macro GET_PROP_TYPE(....
Definition: propertysystem.hh:149
The type of the spatial parameters object.
Definition: common/properties.hh:165
The type of the fluid state to use.
Definition: common/properties.hh:169
The formulation of the model.
Definition: common/properties.hh:181
Definition: common/properties.hh:256
a tag to mark properties as undefined
Definition: propertysystem.hh:36
Represents all relevant thermodynamic quantities of a multi-phase fluid system assuming immiscibility...
Definition: isothermalimmiscible.hh:42
The base class for spatial parameters of a multi-phase problem using the fv method.
Definition: sequentialfv.hh:43
Class including data of one grid cell.
Definition: 2p/sequential/celldata.hh:47
static const int pwsw
pw and sw as primary variables
Definition: porousmediumflow/2p/sequential/indices.hh:37
The indices for the formulation of the isothermal two-phase model.
Definition: porousmediumflow/2p/sequential/indices.hh:75
Definition: porousmediumflow/2p/sequential/properties.hh:50
std::tuple< SequentialModel > InheritsFrom
Definition: porousmediumflow/2p/sequential/properties.hh:50
The formulation of the saturation model.
Definition: porousmediumflow/2p/sequential/properties.hh:57
The type of velocity reconstructed for the transport model.
Definition: porousmediumflow/2p/sequential/properties.hh:59
Returns whether compressibility is allowed.
Definition: porousmediumflow/2p/sequential/properties.hh:61
Base class holding the variables and discretized data for sequential models.
Definition: variableclass.hh:49
Definition: porousmediumflow/sequential/properties.hh:66
Number of equations in the system of PDEs.
Definition: porousmediumflow/sequential/properties.hh:81
Number of phases in the system.
Definition: porousmediumflow/sequential/properties.hh:83
Number of components in the system.
Definition: porousmediumflow/sequential/properties.hh:85
The type of the container of global variables.
Definition: porousmediumflow/sequential/properties.hh:87
Defines data object to be stored.
Definition: porousmediumflow/sequential/properties.hh:89
Base file for properties related to sequential models.
Defines the primary variable and equation indices used by the isothermal tracer model.
Class including data of one grid cell.