preprocess.h
Go to the documentation of this file.
1 /*===========================================================================
2 //
3 // File: preprocess.h
4 //
5 // Created: Fri Jun 19 08:43:04 2009
6 //
7 // Author: Jostein R. Natvig <Jostein.R.Natvig@sintef.no>
8 //
9 // $Date$
10 //
11 // $Revision$
12 //
13 //==========================================================================*/
14 
15 /*
16  Copyright 2009, 2010 SINTEF ICT, Applied Mathematics.
17  Copyright 2009, 2010 Statoil ASA.
18 
19  This file is part of the Open Porous Media project (OPM).
20 
21  OPM is free software: you can redistribute it and/or modify
22  it under the terms of the GNU General Public License as published by
23  the Free Software Foundation, either version 3 of the License, or
24  (at your option) any later version.
25 
26  OPM is distributed in the hope that it will be useful,
27  but WITHOUT ANY WARRANTY; without even the implied warranty of
28  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
29  GNU General Public License for more details.
30 
31  You should have received a copy of the GNU General Public License
32  along with OPM. If not, see <http://www.gnu.org/licenses/>.
33 */
34 
35 #ifndef OPM_PREPROCESS_HEADER
36 #define OPM_PREPROCESS_HEADER
37 
49 #ifdef __cplusplus
50 extern "C" {
51 #endif
52 
56  struct grdecl {
57  int dims[3];
58  const double *coord;
59  const double *zcorn;
60  const int *actnum;
61  const double *mapaxes;
62  };
63 
67  enum face_tag {
68  LEFT,
69  BACK,
70  TOP
71  };
72 
73 
78  struct processed_grid {
79  int m;
81  int n;
84  int dimensions[3];
88  int *face_nodes;
90  int *face_ptr;
107  };
108 
109 
129  void process_grdecl(const struct grdecl *g ,
130  double tol,
131  struct processed_grid *out);
132 
143  void free_processed_grid(struct processed_grid *g);
144 #ifdef __cplusplus
145 }
146 #endif
147 
148 
149 #endif /* OPM_PREPROCESS_HEADER */
150 
151 
152 /* Local Variables: */
153 /* c-basic-offset:4 */
154 /* End: */
int * face_ptr
Start position for each face&#39;s ‘face_nodes’.
Definition: preprocess.h:90
int dimensions[3]
Cartesian box dimensions.
Definition: preprocess.h:84
Raw corner-point specification of a particular geological model.
Definition: preprocess.h:56
const int * actnum
Explicit "active" map.
Definition: preprocess.h:60
const double * coord
Pillar end-points.
Definition: preprocess.h:58
const double * mapaxes
6 Element rotation vector - can be NULL.
Definition: preprocess.h:61
int * face_nodes
Node (vertex) numbers of each face, stored sequentially.
Definition: preprocess.h:88
double * node_coordinates
Vertex coordinates.
Definition: preprocess.h:100
enum face_tag * face_tag
Classification of grid&#39;s individual connections (faces).
Definition: preprocess.h:94
void process_grdecl(const struct grdecl *g, double tol, struct processed_grid *out)
Construct a prototypical grid representation from a corner-point specification.
Definition: preprocess.c:761
int number_of_nodes_on_pillars
Total number of unique cell vertices that lie on pillars.
Definition: preprocess.h:98
const double * zcorn
Corner-point depths.
Definition: preprocess.h:59
int * local_cell_index
Deceptively named local-to-global cell index mapping.
Definition: preprocess.h:105
Result structure representing minimal derived topology and geometry of a geological model in corner-p...
Definition: preprocess.h:78
Connection topologically parallel to I-K plane.
Definition: preprocess.h:69
int number_of_faces
Total number of unique grid faces (i.e., connections).
Definition: preprocess.h:86
Connection topologically parallel to I-J plane.
Definition: preprocess.h:70
face_tag
Connection taxonomy.
Definition: preprocess.h:67
int number_of_cells
Number of active grid cells.
Definition: preprocess.h:104
int dims[3]
Cartesian box dimensions.
Definition: preprocess.h:57
int n
Upper bound on "number_of_nodes".
Definition: preprocess.h:81
int * face_neighbors
Global cell numbers.
Definition: preprocess.h:92
int m
Upper bound on "number_of_faces".
Definition: preprocess.h:79
Connection topologically parallel to J-K plane.
Definition: preprocess.h:68
int number_of_nodes
Number of unique grid vertices.
Definition: preprocess.h:97
void free_processed_grid(struct processed_grid *g)
Release memory resources acquired in previous grid processing using function process_grdecl().
Definition: preprocess.c:942