FlowProblemCompProperties.hpp
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 This file is part of the Open Porous Media project (OPM).
5
6 OPM 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 2 of the License, or
9 (at your option) any later version.
10
11 OPM 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 OPM. If not, see <http://www.gnu.org/licenses/>.
18
19 Consult the COPYING file in the top-level source directory of this
20 module for the precise wording of the license and the list of
21 copyright holders.
22*/
28#ifndef OPM_FLOW_PROBLEM_COMP_PROPERTIES_HPP
29#define OPM_FLOW_PROBLEM_COMP_PROPERTIES_HPP
30
31
32#include <opm/material/fluidmatrixinteractions/EclMaterialLawManager.hpp>
34
37#include <opm/material/thermal/EnergyModuleType.hpp>
38
39#include <tuple>
40
41namespace Opm {
42template <class TypeTag>
43class FlowProblemComp;
44}
45
46namespace Opm::Properties {
47
48namespace TTag {
49
51 using InheritsFrom = std::tuple<FlowBaseProblem>;
52};
53
54}
55template<class TypeTag>
56struct NonlinearSystem<TypeTag, TTag::FlowBaseProblemComp>
58
59// Set the problem property
60template<class TypeTag>
61struct Problem<TypeTag, TTag::FlowBaseProblemComp>
63
64template<class TypeTag>
65struct TracerModel<TypeTag, TTag::FlowBaseProblemComp> {
67};
68
69template<class TypeTag>
70struct EnergyModuleType<TypeTag, TTag::FlowBaseProblemComp>
71{ static constexpr EnergyModules value = EnergyModules::NoTemperature; };
72
73// Set the material law for fluid fluxes
74template<class TypeTag>
75struct MaterialLaw<TypeTag, TTag::FlowBaseProblemComp>
76{
77private:
80
81 using Traits = ThreePhaseMaterialTraits<Scalar,
82 /*wettingPhaseIdx=*/FluidSystem::waterPhaseIdx,
83 /*nonWettingPhaseIdx=*/FluidSystem::oilPhaseIdx,
84 /*gasPhaseIdx=*/FluidSystem::gasPhaseIdx,
85 /* hysteresis */ true,
86 /* endpointscaling */ true>;
87
88public:
89 using EclMaterialLawManager = ::Opm::EclMaterialLaw::Manager<Traits>;
90
91 using type = typename EclMaterialLawManager::MaterialLaw;
92};
93
94// Enable diffusion
95template<class TypeTag>
96struct EnableDiffusion<TypeTag, TTag::FlowBaseProblemComp>
97{ static constexpr bool value = false; };
98
99} // namespace Opm::Properties
100#endif // OPM_FLOW_PROBLEM_COMP_PROPERTIES_HPP
This problem simulates an input file given in the data format used by the commercial ECLiPSE simulato...
Definition: FlowProblemComp.hpp:60
Definition: NonlinearSystemCompositional.hpp:42
A class which handles tracers as specified in by ECL.
Definition: TracerModel.hpp:81
Definition: blackoilmodel.hh:75
Definition: blackoilbioeffectsmodules.hh:45
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:233
The Opm property system, traits with inheritance.
Enable diffusive fluxes?
Definition: multiphasebaseproperties.hh:91
Specifies who temperature is modeled by the simulator.
Definition: blackoilproperties.hh:108
typename EclMaterialLawManager::MaterialLaw type
Definition: FlowProblemCompProperties.hpp:91
::Opm::EclMaterialLaw::Manager< Traits > EclMaterialLawManager
Definition: FlowProblemCompProperties.hpp:89
The material law which ought to be used (extracted from the spatial parameters)
Definition: multiphasebaseproperties.hh:55
Definition: FlowBaseProblemProperties.hpp:62
The type of the problem.
Definition: fvbaseproperties.hh:87
Definition: FlowProblemCompProperties.hpp:50
std::tuple< FlowBaseProblem > InheritsFrom
Definition: FlowProblemCompProperties.hpp:51
Definition: FlowBaseProblemProperties.hpp:103