VFPProperties.hpp
Go to the documentation of this file.
1 /*
2  Copyright 2015 SINTEF ICT, Applied Mathematics.
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 3 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 
20 #ifndef OPM_AUTODIFF_VFPPROPERTIES_HPP_
21 #define OPM_AUTODIFF_VFPPROPERTIES_HPP_
22 
23 #include <opm/parser/eclipse/EclipseState/Tables/VFPInjTable.hpp>
24 #include <opm/parser/eclipse/EclipseState/Tables/VFPProdTable.hpp>
25 
26 #include <map>
27 
28 namespace Opm {
29 
30 class VFPProdProperties;
31 class VFPInjProperties;
32 
38 public:
39  VFPProperties();
40 
47  explicit VFPProperties(const VFPInjTable* inj_table, const VFPProdTable* prod_table);
48 
55  VFPProperties(const std::map<int, VFPInjTable>& inj_tables,
56  const std::map<int, VFPProdTable>& prod_tables);
57 
61  const VFPInjProperties* getInj() const {
62  return m_inj.get();
63  }
64 
68  const VFPProdProperties* getProd() const {
69  return m_prod.get();
70  }
71 
72 private:
73  std::shared_ptr<VFPInjProperties> m_inj;
74  std::shared_ptr<VFPProdProperties> m_prod;
75 };
76 
77 
78 } //Namespace
79 
80 #endif /* OPM_AUTODIFF_VFPPROPERTIES_HPP_ */
const VFPInjProperties * getInj() const
Definition: VFPProperties.hpp:61
Definition: AdditionalObjectDeleter.hpp:22
Definition: VFPProdProperties.hpp:39
Definition: VFPProperties.hpp:37
Definition: VFPInjProperties.hpp:35
const VFPProdProperties * getProd() const
Definition: VFPProperties.hpp:68