Loading [MathJax]/extensions/tex2jax.js
3.1-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
common/properties/model.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_MODEL_PROPERTIES_HH
25#define DUMUX_MODEL_PROPERTIES_HH
26
27#include <dune/common/fvector.hh>
28
32
33// Forward declaration
34namespace Dune { class ParameterTree; }
35
36namespace Dumux {
37namespace Properties {
38
40namespace TTag {
42}
43
45template<class TypeTag>
46struct Scalar<TypeTag, TTag::ModelProperties> { using type = double; };
47
49template<class TypeTag>
50struct NumEqVector<TypeTag, TTag::ModelProperties> { using type = Dune::FieldVector<GetPropType<TypeTag, Properties::Scalar>, GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; };
51
53template<class TypeTag>
54struct PrimaryVariables<TypeTag, TTag::ModelProperties> { using type = GetPropType<TypeTag, Properties::NumEqVector>; };
55
57template<class TypeTag>
58struct ModelDefaultParameters<TypeTag, TTag::ModelProperties>
59{
60 static void defaultParams(Dune::ParameterTree& tree, const std::string& group = "") { }
61};
62
64template<class TypeTag>
65struct VtkOutputFields<TypeTag, TTag::ModelProperties> {
66 using type [[deprecated("This property is deprecated use property IOFields instead")]] = GetPropType<TypeTag, Properties::IOFields>;
67};
68
70template<class TypeTag>
71struct IOFields<TypeTag, TTag::ModelProperties> { using type = DefaultIOFields; };
72
74template<class TypeTag>
75struct BalanceEqOpts<TypeTag, TTag::ModelProperties> { using type = BalanceEquationOptions<TypeTag>; };
76
77} // namespace Properties
78} // namespace Dumux
79
80#endif
Adds output fields to a given output module, this is the default if a model doesn't implement this fu...
Traits class to set options used by the local residual when when evaluating the balance equations.
make the local view function available whenever we use the grid geometry
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
Definition: common/properties/model.hh:34
Traits class to set options used by the local residual when when evaluating the balance equations.
Definition: balanceequationopts.hh:39
Property to specify the type of scalar values.
Definition: common/properties.hh:53
Property which defines the group that is queried for parameters by default.
Definition: common/properties.hh:55
A vector of primary variables.
Definition: common/properties.hh:59
A vector of size number equations that can be used for Neumann fluxes, sources, residuals,...
Definition: common/properties.hh:61
A class helping models to define default vtk output parameters.
Definition: common/properties.hh:76
A class helping models to define input and output fields.
Definition: common/properties.hh:78
A class that collects options for the evaluation of the balance equations.
Definition: common/properties.hh:106
Definition: common/properties/model.hh:41
double type
Definition: common/properties/model.hh:46
Dune::FieldVector< GetPropType< TypeTag, Properties::Scalar >, GetPropType< TypeTag, Properties::ModelTraits >::numEq()> type
Definition: common/properties/model.hh:50
GetPropType< TypeTag, Properties::NumEqVector > type
Definition: common/properties/model.hh:54
static void defaultParams(Dune::ParameterTree &tree, const std::string &group="")
Definition: common/properties/model.hh:60
GetPropType< TypeTag, Properties::IOFields > type
Definition: common/properties/model.hh:66
Adds output fields to a given output module.
Definition: defaultiofields.hh:37
Declares all properties used in Dumux.