3.6-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
common/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 *****************************************************************************/
27#ifndef DUMUX_PROPERTIES_HH
28#define DUMUX_PROPERTIES_HH
29
30// explicitly guard the include so that the property system
31// header doesn't need to be opened and checked all the time
32#ifndef DUMUX_PROPERTY_SYSTEM_HH
34#endif // DUMUX_PROPERTY_SYSTEM_HH
35
36namespace Dumux {
37namespace Properties {
38
40// Basic properties of numeric models:
42template<class TypeTag, class MyTypeTag>
43struct Scalar { using type = UndefinedProperty; };
44template<class TypeTag, class MyTypeTag>
46template<class TypeTag, class MyTypeTag>
47struct Grid { using type = UndefinedProperty; };
48template<class TypeTag, class MyTypeTag>
50template<class TypeTag, class MyTypeTag>
51struct ModelTraits { using type = UndefinedProperty; };
52template<class TypeTag, class MyTypeTag>
54template<class TypeTag, class MyTypeTag>
55struct Problem { using type = UndefinedProperty; };
56template<class TypeTag, class MyTypeTag>
57struct PointSource { using type = UndefinedProperty; };
58template<class TypeTag, class MyTypeTag>
60template<class TypeTag, class MyTypeTag>
61struct IOFields { using type = UndefinedProperty; };
62template<class TypeTag, class MyTypeTag>
64template<class TypeTag, class MyTypeTag>
66template<class TypeTag, class MyTypeTag>
68
71template<class TypeTag, class MyTypeTag>
73
75template<class TypeTag, class MyTypeTag>
77
79// Basic properties regarding balance equations
81// TODO: Integrate UseMoles into BalanceEqOpts
82template<class TypeTag, class MyTypeTag>
83struct UseMoles { using type = UndefinedProperty; };
84template<class TypeTag, class MyTypeTag>
86template<class TypeTag, class MyTypeTag>
88template<class TypeTag, class MyTypeTag>
90template<class TypeTag, class MyTypeTag>
92
94// Properties used by finite volume schemes:
96template<class TypeTag, class MyTypeTag>
98
99template<class TypeTag, class MyTypeTag>
101template <class TypeTag, class MyTypeTag>
103
104template<class TypeTag, class MyTypeTag>
106template<class TypeTag, class MyTypeTag>
108template<class TypeTag, class MyTypeTag>
110template<class TypeTag, class MyTypeTag>
112template<class TypeTag, class MyTypeTag>
114template<class TypeTag, class MyTypeTag>
116template<class TypeTag, class MyTypeTag>
118template<class TypeTag, class MyTypeTag>
120template<class TypeTag, class MyTypeTag>
122
124// Additional properties used by the cell-centered mpfa schemes:
126template<class TypeTag, class MyTypeTag>
128template<class TypeTag, class MyTypeTag>
130template<class TypeTag, class MyTypeTag>
132
134// Properties used by models involving flow in porous media:
136template<class TypeTag, class MyTypeTag>
138template<class TypeTag, class MyTypeTag>
140template<class TypeTag, class MyTypeTag>
142template<class TypeTag, class MyTypeTag>
144template<class TypeTag, class MyTypeTag>
146template<class TypeTag, class MyTypeTag>
148template<class TypeTag, class MyTypeTag>
150template<class TypeTag, class MyTypeTag>
152template<class TypeTag, class MyTypeTag>
154template<class TypeTag, class MyTypeTag>
156
157template<class TypeTag, class MyTypeTag>
159template<class TypeTag, class MyTypeTag>
160struct FluidSystem { using type = UndefinedProperty; };
161template<class TypeTag, class MyTypeTag>
162struct FluidState { using type = UndefinedProperty; };
163template<class TypeTag, class MyTypeTag>
164struct SolidSystem { using type = UndefinedProperty; };
165template<class TypeTag, class MyTypeTag>
166struct SolidState { using type = UndefinedProperty; };
167template<class TypeTag, class MyTypeTag>
169template<class TypeTag, class MyTypeTag>
171template<class TypeTag, class MyTypeTag>
173template<class TypeTag, class MyTypeTag>
174struct Formulation { using type = UndefinedProperty; };
175// TODO: is this useful? -> everything is a constraint solver just a different type
176template<class TypeTag, class MyTypeTag>
178
179// When using the box method in a multi-phase context, an interface solver might be necessary
180template<class TypeTag, class MyTypeTag>
182
184// Additional properties used by the 2pnc and 2pncmin models:
186template<class TypeTag, class MyTypeTag>
187struct Chemistry { using type = UndefinedProperty; };
188template<class TypeTag, class MyTypeTag>
190
192// Additional properties used by the richards model
194template<class TypeTag, class MyTypeTag>
196
198// Additional properties used by the 3pwateroil model:
200template<class TypeTag, class MyTypeTag>
202
204// Properties used by geomechanical models:
206template<class TypeTag, class MyTypeTag>
207struct StressType { using type = UndefinedProperty; };
208
210// Properties used by the staggered-grid discretization method
212
213template<class TypeTag, class MyTypeTag>
215template<class TypeTag, class MyTypeTag>
216struct NumEqFace { using type = UndefinedProperty; };
217template<class TypeTag, class MyTypeTag>
219template<class TypeTag, class MyTypeTag>
221template<class TypeTag, class MyTypeTag>
223template<class TypeTag, class MyTypeTag>
225template<class TypeTag, class MyTypeTag>
227template<class TypeTag, class MyTypeTag>
229template<class TypeTag, class MyTypeTag>
231template<class TypeTag, class MyTypeTag>
232struct BaseEpsilon { using type = UndefinedProperty; };
233template<class TypeTag, class MyTypeTag>
235template<class TypeTag, class MyTypeTag>
237template<class TypeTag, class MyTypeTag>
239template<class TypeTag, class MyTypeTag>
241template<class TypeTag, class MyTypeTag>
243
245// Properties used by the mpnc model
247
248template<class TypeTag, class MyTypeTag>
250
252// Properties used by the nonequilibrium model
254template<class TypeTag, class MyTypeTag>
256template<class TypeTag, class MyTypeTag>
258template<class TypeTag, class MyTypeTag>
260template<class TypeTag, class MyTypeTag>
262template<class TypeTag, class MyTypeTag>
264template<class TypeTag, class MyTypeTag>
266template<class TypeTag, class MyTypeTag>
268template<class TypeTag, class MyTypeTag>
270template<class TypeTag, class MyTypeTag>
272
273template<class TypeTag, class MyTypeTag>
275template<class TypeTag, class MyTypeTag>
277
279// Properties used by free flow models
281
282template<class TypeTag, class MyTypeTag>
284template<class TypeTag, class MyTypeTag>
286
288// Properties used by multidomain simulations
290template<class TypeTag, class MyTypeTag>
292
294// Basic properties of sequential models:
296template<class TypeTag, class MyTypeTag>
298
299} // end namespace Properties
300} // end namespace Dumux
301
302#endif
The Dumux property system, traits with inheritance.
Adaption of the non-isothermal two-phase two-component flow model to problems with CO2.
Definition: adapt.hh:29
Property to specify the type of scalar values.
Definition: common/properties.hh:43
Property which defines the group that is queried for parameters by default.
Definition: common/properties.hh:45
The DUNE grid type.
Definition: common/properties.hh:47
A vector of primary variables.
Definition: common/properties.hh:49
Traits class encapsulating model specifications.
Definition: common/properties.hh:51
Model traits to be used as a base for nonisothermal, mineralization ... models.
Definition: common/properties.hh:53
Property to specify the type of a problem which has to be solved.
Definition: common/properties.hh:55
Property defining the type of point source used.
Definition: common/properties.hh:57
Property defining the class that computes which sub control volume point sources belong to.
Definition: common/properties.hh:59
A class helping models to define input and output fields.
Definition: common/properties.hh:61
The type of the base class of the local residual (specific to a discretization scheme)
Definition: common/properties.hh:63
Type of the global jacobian matrix.
Definition: common/properties.hh:65
Vector containing all primary variable vector of the grid.
Definition: common/properties.hh:67
Definition: common/properties.hh:72
TODO: Remove this property as soon as the decoupled models are integrated.
Definition: common/properties.hh:76
Property whether to use moles or kg as amount unit for balance equations.
Definition: common/properties.hh:83
The component balance index that should be replaced by the total mass/mole balance.
Definition: common/properties.hh:85
A class that collects options for the evaluation of the balance equations.
Definition: common/properties.hh:87
Property whether to include compositional dispersion.
Definition: common/properties.hh:89
Property whether to include thermal dispersion.
Definition: common/properties.hh:91
Stores the boundary types on an element.
Definition: common/properties.hh:97
Definition: common/properties.hh:100
Definition: common/properties.hh:102
The secondary variables within a sub-control volume.
Definition: common/properties.hh:105
The type for a global container for the volume variables.
Definition: common/properties.hh:107
If disabled, the volume variables are not stored (reduces memory, but is slower)
Definition: common/properties.hh:109
Container storing the different types of flux variables.
Definition: common/properties.hh:111
Stores data associated with flux vars.
Definition: common/properties.hh:113
The engine behind the global flux cache (how to fill caches for the stencil)
Definition: common/properties.hh:115
The global vector of flux variable containers.
Definition: common/properties.hh:117
specifies if data on flux vars should be saved (faster, but more memory consuming)
Definition: common/properties.hh:119
The grid variables object managing variable data on the grid (volvars/fluxvars cache)
Definition: common/properties.hh:121
The primary interaction volume type.
Definition: common/properties.hh:127
The secondary interaction volume type used e.g. on the boundaries.
Definition: common/properties.hh:129
The type used for the nodal index sets of the dual grid.
Definition: common/properties.hh:131
The local residual of the energy equation.
Definition: common/properties.hh:137
The type for the calculation the advective fluxes.
Definition: common/properties.hh:139
specifies if the parameters for the advective fluxes depend on the solution
Definition: common/properties.hh:141
The type for the calculation of the molecular diffusion fluxes.
Definition: common/properties.hh:143
The type for the calculation of the dispersive fluxes.
Definition: common/properties.hh:145
specifies if the parameters for the diffusive fluxes depend on the solution
Definition: common/properties.hh:147
The type for the calculation of the heat conduction fluxes.
Definition: common/properties.hh:149
The type for the calculation of the compositional dispersion tensor.
Definition: common/properties.hh:151
The type for the calculation of the thermal dispersion tensor.
Definition: common/properties.hh:153
specifies if the parameters for the heat conduction fluxes depend on the solution
Definition: common/properties.hh:155
The type of the spatial parameters object.
Definition: common/properties.hh:158
The type of the fluid system to use.
Definition: common/properties.hh:160
The type of the fluid state to use.
Definition: common/properties.hh:162
The type of the solid system to use.
Definition: common/properties.hh:164
The type of the solid state to use.
Definition: common/properties.hh:166
The employed model for the computation of the effective diffusivity.
Definition: common/properties.hh:168
Model to be used for the calculation of the effective conductivity.
Definition: common/properties.hh:170
specifies the velocity calculation module to be used
Definition: common/properties.hh:172
The formulation of the model.
Definition: common/properties.hh:174
Whether to use a constraint solver for computing the secondary variables.
Definition: common/properties.hh:177
Definition: common/properties.hh:181
The chemistry class with which solves equilibrium reactions are solved.
Definition: common/properties.hh:187
Set the mole fraction in the wetting or nonwetting phase.
Definition: common/properties.hh:189
Property for turning Richards into extended Richards.
Definition: common/properties.hh:195
reduces the phasestates to threePhases and wnPhaseOnly
Definition: common/properties.hh:201
The type used for the evaluation of stress tensors and forces.
Definition: common/properties.hh:207
The number of equations for cell-centered dofs.
Definition: common/properties.hh:214
The number of equations for face dofs.
Definition: common/properties.hh:216
The solution vector type for cell-centered dofs.
Definition: common/properties.hh:218
The solution vector type for face dofs.
Definition: common/properties.hh:220
Global vector containing face-related data.
Definition: common/properties.hh:222
The primary variables container type for cell-centered dofs.
Definition: common/properties.hh:224
The primary variables container type for face dofs.
Definition: common/properties.hh:226
Specifies the intersection mapper.
Definition: common/properties.hh:228
The hybrid primary variables container type.
Definition: common/properties.hh:230
A base epsilon for numerical differentiation, can contain multiple values.
Definition: common/properties.hh:232
Class containing local face-related data.
Definition: common/properties.hh:234
Class containing local boundary data.
Definition: common/properties.hh:236
A vector containing the solution for a face (similar to ElementSolution)
Definition: common/properties.hh:238
Switch on/off caching of face variables.
Definition: common/properties.hh:240
Specifies the order of the upwinding scheme (1 == first order, 2 == second order(tvd methods))
Definition: common/properties.hh:242
Definition: common/properties.hh:249
the formulation of the pressure e.g most wetting first
Definition: common/properties.hh:255
Definition: common/properties.hh:257
Definition: common/properties.hh:259
Definition: common/properties.hh:261
Definition: common/properties.hh:263
Definition: common/properties.hh:265
Definition: common/properties.hh:267
Definition: common/properties.hh:269
Definition: common/properties.hh:271
Definition: common/properties.hh:274
Definition: common/properties.hh:276
Returns whether to normalize the pressure term in the momentum balance or not.
Definition: common/properties.hh:283
The type for the calculation of the (turbulent) viscous (momentum) fluxes.
Definition: common/properties.hh:285
Definition: common/properties.hh:291
Definition: common/properties.hh:297
a tag to mark properties as undefined
Definition: propertysystem.hh:35