3.1-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Loading...
Searching...
No Matches
porousmediumflow/1pncmin/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 *****************************************************************************/
66
67#ifndef DUMUX_1PNCMIN_MODEL_HH
68#define DUMUX_1PNCMIN_MODEL_HH
69
73
75
80
84
85namespace Dumux {
86namespace Properties {
88// Type tags
90// Create new type tags
91namespace TTag {
92struct OnePNCMin { using InheritsFrom = std::tuple<OnePNC>; };
93struct OnePNCMinNI { using InheritsFrom = std::tuple<OnePNCMin>; };
94} // end namespace TTag
95
97// Property tags for the isothermal 2pncmin model
99
101template<class TypeTag>
102struct VolumeVariables<TypeTag, TTag::OnePNCMin>
103{
104private:
112
113 static_assert(FSY::numComponents == MT::numFluidComponents(), "Number of components mismatch between model and fluid system");
114 static_assert(FST::numComponents == MT::numFluidComponents(), "Number of components mismatch between model and fluid state");
115 static_assert(FSY::numPhases == MT::numFluidPhases(), "Number of phases mismatch between model and fluid system");
116 static_assert(FST::numPhases == MT::numFluidPhases(), "Number of phases mismatch between model and fluid state");
117
119 using NonMinVolVars = OnePNCVolumeVariables<Traits>;
120public:
122};
123
124// Use the mineralization local residual
125template<class TypeTag>
126struct LocalResidual<TypeTag, TTag::OnePNCMin> { using type = MineralizationLocalResidual<TypeTag>; };
127
129template<class TypeTag>
138
140template<class TypeTag>
141struct SolidState<TypeTag, TTag::OnePNCMin>
142{
143private:
146public:
148};
149
151template<class TypeTag>
152struct IOFields<TypeTag, TTag::OnePNCMin> { using type = MineralizationIOFields<OnePNCIOFields>; };
153
155// Properties for the non-isothermal 2pncmin model
157
159template<class TypeTag>
165
167template<class TypeTag>
177
179template<class TypeTag>
182
183} // end namespace Properties
184} // end namespace Dumux
185
186#endif
Reation for a simple effective thermal conductivity.
Represents all relevant thermodynamic quantities of a compositional solid system.
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.hh:47
Type tag for numeric models.
Definition grid.hh:35
Traits class encapsulating model specifications.
Definition common/properties.hh:65
A class helping models to define input and output fields.
Definition common/properties.hh:78
Definition common/properties.hh:91
The secondary variables within a sub-control volume.
Definition common/properties.hh:174
The type of the solid state to use.
Definition common/properties.hh:229
Model to be used for the calculation of the effective conductivity.
Definition common/properties.hh:233
Relation for a simple effective thermal conductivity.
Definition thermalconductivityaverage.hh:37
Represents all relevant thermodynamic quantities of a compositional solid system.
Definition compositionalsolidstate.hh:37
Traits class for the volume variables of the single-phase model.
Definition porousmediumflow/1pnc/model.hh:116
Contains the quantities which are are constant within a finite volume in the one-phase,...
Definition porousmediumflow/1pnc/volumevariables.hh:50
Definition porousmediumflow/1pncmin/model.hh:92
std::tuple< OnePNC > InheritsFrom
Definition porousmediumflow/1pncmin/model.hh:92
Definition porousmediumflow/1pncmin/model.hh:93
std::tuple< OnePNCMin > InheritsFrom
Definition porousmediumflow/1pncmin/model.hh:93
MineralizationVolumeVariables< Traits, NonMinVolVars > type
Definition porousmediumflow/1pncmin/model.hh:121
MineralizationLocalResidual< TypeTag > type
Definition porousmediumflow/1pncmin/model.hh:126
MineralizationModelTraits< NonMinTraits, SolidSystem::numComponents, SolidSystem::numInertComponents > type
Definition porousmediumflow/1pncmin/model.hh:136
CompositionalSolidState< Scalar, SolidSystem > type
Definition porousmediumflow/1pncmin/model.hh:147
MineralizationIOFields< OnePNCIOFields > type
Definition porousmediumflow/1pncmin/model.hh:152
MineralizationIOFields< OnePNCIOFields > MineralizationIOF
Definition porousmediumflow/1pncmin/model.hh:162
EnergyIOFields< MineralizationIOF > type
Definition porousmediumflow/1pncmin/model.hh:163
PorousMediumFlowNIModelTraits< IsothermalTraits > type
Definition porousmediumflow/1pncmin/model.hh:175
ThermalConductivityAverage< GetPropType< TypeTag, Properties::Scalar > > type
Definition porousmediumflow/1pncmin/model.hh:181
Adds I/O fields specific to a NCMin model.
Definition dumux/porousmediumflow/mineralization/iofields.hh:39
Element-wise calculation of the local residual for problems using a one/two-phase n-component mineral...
Definition porousmediumflow/mineralization/localresidual.hh:40
Specifies a number properties of models that consider mineralization proceses.
Definition porousmediumflow/mineralization/model.hh:50
Contains the quantities which are are constant within a sub-control volume of the finite volume grid ...
Definition porousmediumflow/mineralization/volumevariables.hh:38
Adds I/O fields specific to non-isothermal models.
Definition dumux/porousmediumflow/nonisothermal/iofields.hh:39
Specifies a number properties of non-isothermal porous medium flow models based on the specifics of a...
Definition porousmediumflow/nonisothermal/model.hh:70
Adaption of the fully implicit model to the one-phase n-component flow model.
Defines the properties required for compositional porous medium flow models considering mineralizatio...
Defines the primary variable and equation indices used by the 1pnc model.
Defines the indices used by the non-isothermal two-phase two-component model.
Adds I/O fields specific to the models considering mineralization processes.
Adds I/O fields specific to non-isothermal models.
Element-wise calculation of the local residual for problems using a compositional model that also con...
Quantities required by the single-phase, n-component box model defined on a vertex.
Contains the quantities which are constant within a sub-control volume of the finite volume grid in t...