My Project
Loading...
Searching...
No Matches
CarfinManager.hpp
1/*
2 Copyright 2022 Equinor
3 This file is part of the Open Porous Media project (OPM).
4 OPM is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation, either version 3 of the License, or
7 (at your option) any later version.
8 OPM is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 GNU General Public License for more details.
12 You should have received a copy of the GNU General Public License
13 along with OPM. If not, see <http://www.gnu.org/licenses/>.
14*/
15
16#ifndef CARFINMANAGER_HPP_
17#define CARFINMANAGER_HPP_
18
19#include <opm/input/eclipse/EclipseState/Grid/Carfin.hpp>
20#include <opm/input/eclipse/EclipseState/Grid/GridDims.hpp>
21
22#include <memory>
23#include <vector>
24
25namespace Opm {
26
28 {
29 public:
30 explicit CarfinManager(const GridDims& gridDims,
31 Carfin::IsActive isActive,
32 Carfin::ActiveIdx activeIdx);
33
34 void setInputCarfin(const std::string& name,
35 int i1, int i2,
36 int j1, int j2,
37 int k1, int k2,
38 int nx, int ny, int nz);
39 void readKeywordCarfin(const std::string& name,
40 int i1, int i2,
41 int j1, int j2,
42 int k1, int k2,
43 int nx, int ny, int nz);
44
45 void endSection();
46 void endInputCarfin();
47 void endKeyword();
48
49 const Carfin& getActiveCarfin() const;
50 const std::vector<Carfin::cell_index>& index_list() const;
51
52 private:
53 GridDims gridDims_{};
54 Carfin::IsActive isActive_{};
55 Carfin::ActiveIdx activeIdx_{};
56
57 std::unique_ptr<Carfin> m_globalCarfin;
58 std::unique_ptr<Carfin> m_inputCarfin;
59 std::unique_ptr<Carfin> m_keywordCarfin;
60
61 std::unique_ptr<Carfin>
62 makeLgr(std::string name, int i1, int i2,
63 int j1, int j2,
64 int k1, int k2,
65 int nx , int ny , int nz) const;
66 };
67}
68
69
70#endif
Definition CarfinManager.hpp:28
Definition Carfin.hpp:34
Definition GridDims.hpp:31
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition Exceptions.hpp:30