initState.hpp
Go to the documentation of this file.
1 /*
2  Copyright 2012 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_INITSTATE_HEADER_INCLUDED
21 #define OPM_INITSTATE_HEADER_INCLUDED
22 
23 #include <opm/parser/eclipse/EclipseState/EclipseState.hpp>
24 
25 struct UnstructuredGrid;
26 
27 namespace Opm
28 {
29 
30  class ParameterGroup;
31  class IncompPropertiesInterface;
32  class BlackoilPropertiesInterface;
33  class SimulationDataContainer;
34 
38 
45 
46  enum ExtremalSat { MinSat, MaxSat };
47  template <class Props>
48  static void initSaturation(const std::vector<int>& cells , const Props& props , SimulationDataContainer& state , ExtremalSat satType);
49 
50 
75  template <class State>
76  void initStateBasic(const UnstructuredGrid& grid,
77  const IncompPropertiesInterface& props,
78  const ParameterGroup& param,
79  const double gravity,
80  State& state);
81 
106  template <class FaceCells, class CCI, class FCI, class State>
107  void initStateBasic(int number_of_cells,
108  const int* global_cell,
109  const int* cartdims,
110  int number_of_faces,
111  FaceCells face_cells,
112  FCI begin_face_centroids,
113  CCI begin_cell_centroids,
114  int dimensions,
115  const IncompPropertiesInterface& props,
116  const ParameterGroup& param,
117  const double gravity,
118  State& state);
119 
136  template <class State>
137  void initStateBasic(const UnstructuredGrid& grid,
138  const BlackoilPropertiesInterface& props,
139  const ParameterGroup& param,
140  const double gravity,
141  State& state);
142 
159  template <class FaceCells, class FCI, class CCI, class State>
160  void initStateBasic(int number_of_cells,
161  const int* global_cell,
162  const int* cartdims,
163  int number_of_faces,
164  FaceCells face_cells,
165  FCI begin_face_centroids,
166  CCI begin_cell_centroids,
167  int dimensions,
168  const BlackoilPropertiesInterface& props,
169  const ParameterGroup& param,
170  const double gravity,
171  State& state);
172 
180  template <class Props, class State>
181  void initStateFromDeck(const UnstructuredGrid& grid,
182  const Props& props,
183  const EclipseState& es,
184  const double gravity,
185  State& state);
186 
195  template <class Props, class State>
196  void initBlackoilStateFromDeck(const UnstructuredGrid& grid,
197  const Props& props,
198  const Opm::EclipseState& es,
199  const double gravity,
200  State& state);
202  template <class FaceCells, class FCI, class CCI, class Props, class State>
203  void initBlackoilStateFromDeck(int number_of_cells,
204  const int* global_cell,
205  int number_of_faces,
206  FaceCells face_cells,
207  FCI begin_face_centroids,
208  CCI begin_cell_centroids,
209  int dimensions,
210  const Props& props,
211  const Opm::EclipseState& es,
212  const double gravity,
213  State& state);
214 } // namespace Opm
215 
216 #include <opm/core/simulator/initState_impl.hpp>
217 
218 #endif // OPM_INITSTATE_HEADER_INCLUDED
ExtremalSat
Will initialize the first and second component of the SATURATION field in all the cells in the set ...
Definition: initState.hpp:46
Definition: AnisotropicEikonal.cpp:446