blackoilmodules.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*/
30#ifndef OPM_BLACK_OIL_MODULES_HPP
31#define OPM_BLACK_OIL_MODULES_HPP
32
33#include <opm/material/thermal/EnergyModuleType.hpp>
34
35namespace Opm {
36
37#define DECLARE_MODULE(T) \
38 template<class TypeTag, bool enable> class T##Module; \
39 template<class TypeTag, bool enable> class T##IntensiveQuantities; \
40 template<class TypeTag, bool enable> class T##ExtensiveQuantities; \
41 template<class TypeTag> struct T##Params; \
42 template<class TypeTag> class T##IntensiveQuantities<TypeTag, false> { \
43 public: \
44 T##IntensiveQuantities() = default; \
45 template <class OtherTypeTag> \
46 T##IntensiveQuantities(const T##IntensiveQuantities<OtherTypeTag, false>&) \
47 {} \
48 }; \
49 template<class TypeTag> class T##ExtensiveQuantities<TypeTag, false> {};
50
51DECLARE_MODULE(BlackOilBioeffects)
52DECLARE_MODULE(BlackOilBrine)
53DECLARE_MODULE(BlackOilConvectiveMixing)
54DECLARE_MODULE(BlackOilDiffusion)
55DECLARE_MODULE(BlackOilDispersion)
56DECLARE_MODULE(BlackOilExtbo)
57DECLARE_MODULE(BlackOilFoam)
58DECLARE_MODULE(BlackOilPolymer)
59DECLARE_MODULE(BlackOilSolvent)
60
61template<class TypeTag, EnergyModules activeModule>
63{
64};
65
66template <class TypeTag, EnergyModules activeModule>
68{
69};
70
71template <class TypeTag, EnergyModules activeModule>
73{
74};
75
76#undef DECLARE_MODULE
77
78} // namespace Opm
79
80#endif
#define DECLARE_MODULE(T)
Definition: blackoilmodules.hpp:37
Provides the energy specific extensive quantities to the generic black-oil module's extensive quantit...
Definition: blackoilmodules.hpp:73
Provides the volumetric quantities required for the equations needed by the energys extension of the ...
Definition: blackoilmodules.hpp:68
Definition: blackoilmodules.hpp:63
Definition: blackoilbioeffectsmodules.hh:45