3.1-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
porousmediumflow/co2/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 *****************************************************************************/
25#ifndef DUMUX_TWOP_TWOC_CO2_MODEL_HH
26#define DUMUX_TWOP_TWOC_CO2_MODEL_HH
27
30#include "volumevariables.hh"
31
51namespace Dumux {
52
63template<class PV, class FSY, class FST, class SSY, class SST, class PT, class MT>
65{
66 using PrimaryVariables = PV;
67 using FluidSystem = FSY;
68 using FluidState = FST;
69 using SolidSystem = SSY;
70 using SolidState = SST;
71 using PermeabilityType = PT;
72 using ModelTraits = MT;
73};
74
75namespace Properties {
76
77// Create new type tags
78namespace TTag {
79struct TwoPTwoCCO2 { using InheritsFrom = std::tuple<TwoPTwoC>; };
80struct TwoPTwoCCO2NI { using InheritsFrom = std::tuple<TwoPTwoCNI>; };
81} // end namespace TTag
82
84template<class TypeTag>
85struct VolumeVariables<TypeTag, TTag::TwoPTwoCCO2>
86{
87private:
95
97public:
99};
100
101template<class TypeTag>
102struct VolumeVariables<TypeTag, TTag::TwoPTwoCCO2NI>
103{
104private:
112
114public:
116};
117
118} // end namespace Properties
119} // end namespace Dumux
120
121#endif
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
The secondary variables within a sub-control volume.
Definition: common/properties.hh:174
Traits class for the two-phase two-component CO2 model.
Definition: porousmediumflow/co2/model.hh:65
FST FluidState
Definition: porousmediumflow/co2/model.hh:68
PT PermeabilityType
Definition: porousmediumflow/co2/model.hh:71
FSY FluidSystem
Definition: porousmediumflow/co2/model.hh:67
SST SolidState
Definition: porousmediumflow/co2/model.hh:70
SSY SolidSystem
Definition: porousmediumflow/co2/model.hh:69
MT ModelTraits
Definition: porousmediumflow/co2/model.hh:72
PV PrimaryVariables
Definition: porousmediumflow/co2/model.hh:66
Definition: porousmediumflow/co2/model.hh:79
std::tuple< TwoPTwoC > InheritsFrom
Definition: porousmediumflow/co2/model.hh:79
Definition: porousmediumflow/co2/model.hh:80
std::tuple< TwoPTwoCNI > InheritsFrom
Definition: porousmediumflow/co2/model.hh:80
Contains the quantities which are are constant within a finite volume in the CO2 model.
Definition: porousmediumflow/co2/volumevariables.hh:51
Declares all properties used in Dumux.
Adaption of the fully implicit scheme to the two-phase two-component fully implicit model.
Base class for the model specific class which provides access to all volume averaged quantities.