BlackoilModelProperties.hpp
Go to the documentation of this file.
1/*
2 Copyright 2013, 2015 SINTEF ICT, Applied Mathematics.
3 Copyright 2014, 2015 Dr. Blatt - HPC-Simulation-Software & Services
4 Copyright 2014, 2015 Statoil ASA.
5 Copyright 2015 NTNU
6 Copyright 2015, 2016, 2017 IRIS AS
7
8 This file is part of the Open Porous Media project (OPM).
9
10 OPM is free software: you can redistribute it and/or modify
11 it under the terms of the GNU General Public License as published by
12 the Free Software Foundation, either version 3 of the License, or
13 (at your option) any later version.
14
15 OPM is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU General Public License for more details.
19
20 You should have received a copy of the GNU General Public License
21 along with OPM. If not, see <http://www.gnu.org/licenses/>.
22*/
23
24#ifndef OPM_BLACKOILMODEL_PROPERTIES_HEADER_INCLUDED
25#define OPM_BLACKOILMODEL_PROPERTIES_HEADER_INCLUDED
26
28#include <tuple>
29
30namespace Opm {
31template<class TypeTag> class BlackoilAquiferModel;
32template<class TypeTag> class BlackoilWellModel;
33}
34
35namespace Opm::Properties {
36
37namespace TTag {
38
39struct FlowIstlSolver;
40struct FlowBaseProblemBlackoil;
41struct FlowProblem { using InheritsFrom = std::tuple<FlowBaseProblemBlackoil, BlackOilModel>; };
42
43}
44
45// default in flow is to formulate the equations in surface volumes
46template<class TypeTag>
48{ static constexpr bool value = true; };
49
50template<class TypeTag>
51struct UseVolumetricResidual<TypeTag, TTag::FlowProblem>
52{ static constexpr bool value = false; };
53
54template<class TypeTag>
55struct AquiferModel<TypeTag, TTag::FlowProblem>
57
58// disable all extensions supported by black oil model. this should not really be
59// necessary but it makes things a bit more explicit
60template<class TypeTag>
61struct EnablePolymer<TypeTag, TTag::FlowProblem>
62{ static constexpr bool value = false; };
63
64template<class TypeTag>
65struct EnableSolvent<TypeTag, TTag::FlowProblem>
66{ static constexpr bool value = false; };
67
68template<class TypeTag>
69struct EnableTemperature<TypeTag, TTag::FlowProblem>
70{ static constexpr bool value = true; };
71
72template<class TypeTag>
73struct EnableEnergy<TypeTag, TTag::FlowProblem>
74{ static constexpr bool value = false; };
75
76template<class TypeTag>
77struct EnableFoam<TypeTag, TTag::FlowProblem>
78{ static constexpr bool value = false; };
79
80template<class TypeTag>
81struct EnableBrine<TypeTag, TTag::FlowProblem>
82{ static constexpr bool value = false; };
83
84template<class TypeTag>
86{ static constexpr bool value = false; };
87
88template<class TypeTag>
89struct EnableMICP<TypeTag, TTag::FlowProblem>
90{ static constexpr bool value = false; };
91
92template<class TypeTag>
93struct EnableDispersion<TypeTag, TTag::FlowProblem>
94{ static constexpr bool value = false; };
95
96template<class TypeTag>
97struct EnableConvectiveMixing<TypeTag, TTag::FlowProblem>
98{ static constexpr bool value = true; };
99
100template<class TypeTag>
101struct WellModel<TypeTag, TTag::FlowProblem>
103
104template<class TypeTag>
105struct LinearSolverSplice<TypeTag, TTag::FlowProblem>
107
108template<class TypeTag>
109struct EnableDebuggingChecks<TypeTag, TTag::FlowProblem>
110{ static constexpr bool value = false; };
111
112} // namespace Opm::Properties
113
114#endif // OPM_BLACKOILMODEL_PROPERTIES_HEADER_INCLUDED
Class for handling the blackoil aquifer model.
Definition: BlackoilAquiferModel.hpp:50
Class for handling the blackoil well model.
Definition: BlackoilWellModel.hpp:102
This problem simulates an input file given in the data format used by the commercial ECLiPSE simulato...
Definition: FlowProblem.hpp:94
Definition: blackoilmodel.hh:79
Definition: blackoilboundaryratevector.hh:39
Definition: FlowBaseProblemProperties.hpp:67
Enable surface volume scaling.
Definition: blackoilproperties.hh:59
Enable the ECL-blackoil extension for salt.
Definition: blackoilproperties.hh:67
Enable convective mixing?
Definition: multiphasebaseproperties.hh:99
Definition: FlowBaseProblemProperties.hpp:78
Enable dispersive fluxes?
Definition: multiphasebaseproperties.hh:95
Specify whether energy should be considered as a conservation quantity or not.
Definition: multiphasebaseproperties.hh:87
Enable the ECL-blackoil extension for foam.
Definition: blackoilproperties.hh:63
Enable the ECL-blackoil extension for MICP.
Definition: blackoilproperties.hh:83
Enable the ECL-blackoil extension for polymer.
Definition: blackoilproperties.hh:51
Enable the ECL-blackoil extension for salt precipitation.
Definition: blackoilproperties.hh:71
Enable the ECL-blackoil extension for solvents. ("Second gas")
Definition: blackoilproperties.hh:43
Definition: blackoilproperties.hh:88
Definition: fvbaseproperties.hh:53
Definition: ISTLSolver.hpp:66
Definition: BlackoilModelProperties.hpp:41
std::tuple< FlowBaseProblemBlackoil, BlackOilModel > InheritsFrom
Definition: BlackoilModelProperties.hpp:41
Specify whether to use volumetric residuals or not.
Definition: fvbaseproperties.hh:237
Definition: FlowBaseProblemProperties.hpp:87