@@ -224,58 +224,115 @@ namespace Dune
224
224
#if HAVE_ECL_INPUT
225
225
// / Read the Eclipse grid format ('grdecl').
226
226
// /
227
- // / \return Vector of global indices to the cells which have
228
- // / been removed in the grid processing due to small pore volume. Function only returns
229
- // / indices on rank 0, the vector is empty of other ranks.
230
- // / \param ecl_grid the high-level object from opm-parser which represents the simulation's grid
231
- // / In a parallel run this may be a nullptr on all ranks but rank zero.
232
- // / \param ecl_state the object from opm-parser provide information regarding to pore volume, NNC,
233
- // / aquifer information when ecl_state is available. NNC and aquifer connection
234
- // / information will also be updated during the function call when available and necessary.
235
- // / \param periodic_extension if true, the grid will be (possibly) refined, so that
236
- // / intersections/faces along i and j boundaries will match those on the other
237
- // / side. That is, i- faces will match i+ faces etc.
238
- // / \param turn_normals if true, all normals will be turned. This is intended for handling inputs with wrong orientations.
239
- // / \param clip_z if true, the grid will be clipped so that the top and bottom will be planar.
240
- // / \param pinchActive Force specific pinch behaviour. If true a face will connect two vertical cells, that are
241
- // / topological connected, even if there are cells with zero volume between them. If false these
242
- // / cells will not be connected despite their faces coinciding.
227
+ // / \return Vector of global indices to the cells which have been
228
+ // / removed in the grid processing due to small pore volume.
229
+ // / Function only returns indices on rank 0, the vector is empty of
230
+ // / other ranks.
231
+ // /
232
+ // / \param[in] ecl_grid the high-level object from opm-parser which
233
+ // / represents the simulation's grid. In a parallel run this may be
234
+ // / a nullptr on all ranks but rank zero.
235
+ // /
236
+ // / \param[in,out] ecl_state the object from opm-parser provide
237
+ // / information regarding to pore volume, NNC, aquifer information
238
+ // / when ecl_state is available. NNC and aquifer connection
239
+ // / nformation will also be updated during the function call when
240
+ // / available and necessary.
241
+ // /
242
+ // / \param[in] periodic_extension Whether or not to process the
243
+ // / resulting grid in order to have intersections/faces along i and
244
+ // / j boundaries match those on the other side. That is, i- faces
245
+ // / will match i+ faces etc.
246
+ // /
247
+ // / \param[in] turn_normals Whether or not to turn all normals.
248
+ // / This is intended for handling inputs with wrong orientations.
249
+ // /
250
+ // / \param[in] clip_z Whether or not to clip the result grid in
251
+ // / order to have planar top and bottom surfaces.
252
+ // /
253
+ // / \param[in] pinchActive Whether or not to force specific pinch
254
+ // / behaviour. If set, a face will connect two vertical cells, that
255
+ // / are topological connected, even if there are cells with zero
256
+ // / volume between them. If false these cells will not be connected
257
+ // / despite their faces coinciding.
258
+ // /
259
+ // / \param[in] edge_conformal Whether or not to construct an
260
+ // / edge-conformal grid. Typically useful in geo-mechanical
261
+ // / applications.
243
262
std::vector<std::size_t >
244
263
processEclipseFormat (const Opm::EclipseGrid* ecl_grid,
245
264
Opm::EclipseState* ecl_state,
246
- bool periodic_extension, bool turn_normals, bool clip_z,
247
- bool pinchActive);
265
+ bool periodic_extension,
266
+ bool turn_normals,
267
+ bool clip_z,
268
+ bool pinchActive,
269
+ bool edge_conformal);
248
270
249
271
// / Read the Eclipse grid format ('grdecl').
250
272
// /
251
- // / Pinch behaviour is determind from the parameter ecl_grid. If ecl_grid is a nullptr or PINCH was specified for
252
- // / the grid, then a face will connect two vertical cells, that are topological connected, even if there are
253
- // / cells with zero volume between them, Otherwise these cells will not be connected despite their faces coinciding.
254
- // /
255
- // / \return Vector of global indices to the cells which have
256
- // / been removed in the grid processing due to small pore volume. Function only returns
257
- // / indices on rank 0, the vector is empty of other ranks.
258
- // / \param ecl_grid the high-level object from opm-parser which represents the simulation's grid
259
- // / In a parallel run this may be a nullptr on all ranks but rank zero.
260
- // / \param ecl_state the object from opm-parser provide information regarding to pore volume, NNC,
261
- // / aquifer information when ecl_state is available. NNC and aquifer connection
262
- // / information will also be updated during the function call when available and necessary.
263
- // / \param periodic_extension if true, the grid will be (possibly) refined, so that
264
- // / intersections/faces along i and j boundaries will match those on the other
265
- // / side. That is, i- faces will match i+ faces etc.
266
- // / \param turn_normals if true, all normals will be turned. This is intended for handling inputs with wrong orientations.
267
- // / \param clip_z if true, the grid will be clipped so that the top and bottom will be planar.
273
+ // / Pinch behaviour is determind from the parameter ecl_grid. If
274
+ // / ecl_grid is a nullptr or PINCH was specified for the grid, then
275
+ // / a face will connect two vertical cells, that are topological
276
+ // / connected, even if there are cells with zero volume between
277
+ // / them, Otherwise these cells will not be connected despite their
278
+ // / faces coinciding.
279
+ // /
280
+ // / \return Vector of global indices to the cells which have been
281
+ // / removed in the grid processing due to small pore
282
+ // / volume. Function only returns indices on rank 0, the vector is
283
+ // / empty of other ranks.
284
+ // /
285
+ // / \param[in] ecl_grid the high-level object from opm-parser which
286
+ // / represents the simulation's grid. In a parallel run this may be
287
+ // / a nullptr on all ranks but rank zero.
288
+ // /
289
+ // / \param[in,out] ecl_state the object from opm-parser provide
290
+ // / information regarding to pore volume, NNC, aquifer information
291
+ // / when ecl_state is available. NNC and aquifer connection
292
+ // / nformation will also be updated during the function call when
293
+ // / available and necessary.
294
+ // /
295
+ // / \param[in] periodic_extension Whether or not to process the
296
+ // / resulting grid in order to have intersections/faces along i and
297
+ // / j boundaries match those on the other side. That is, i- faces
298
+ // / will match i+ faces etc.
299
+ // /
300
+ // / \param[in] turn_normals Whether or not to turn all normals.
301
+ // / This is intended for handling inputs with wrong orientations.
302
+ // /
303
+ // / \param[in] clip_z Whether or not to clip the result grid in
304
+ // / order to have planar top and bottom surfaces.
305
+ // /
306
+ // / \param[in] edge_conformal Whether or not to construct an
307
+ // / edge-conformal grid. Typically useful in geo-mechanical
308
+ // / applications.
268
309
std::vector<std::size_t >
269
310
processEclipseFormat (const Opm::EclipseGrid* ecl_grid,
270
311
Opm::EclipseState* ecl_state,
271
- bool periodic_extension, bool turn_normals = false , bool clip_z = false );
272
-
273
- #endif
312
+ bool periodic_extension,
313
+ bool turn_normals = false ,
314
+ bool clip_z = false ,
315
+ bool edge_conformal = false );
316
+ #endif // HAVE_ECL_INPUT
274
317
275
318
// / Read the Eclipse grid format ('grdecl').
276
- // / \param input_data the data in grdecl format, declared in preprocess.h.
277
- // / \param remove_ij_boundary if true, will remove (i, j) boundaries. Used internally.
278
- void processEclipseFormat (const grdecl& input_data, bool remove_ij_boundary, bool turn_normals = false );
319
+ // /
320
+ // / \param[in] input_data the data in grdecl format, declared in
321
+ // / preprocess.h.
322
+ // /
323
+ // / \param[in] remove_ij_boundary if true, will remove (i, j)
324
+ // / boundaries. Used internally.
325
+ // /
326
+ // / \param[in] turn_normals if true, all normals will be turned. This is
327
+ // / intended for handling inputs with wrong orientations.
328
+ // /
329
+ // / \param[in] edge_conformal Whether or not to construct an
330
+ // / edge-conformal grid. Typically useful in geo-mechanical
331
+ // / applications.
332
+ void processEclipseFormat (const grdecl& input_data,
333
+ bool remove_ij_boundary,
334
+ bool turn_normals = false ,
335
+ bool edge_conformal = false );
279
336
280
337
// @}
281
338
0 commit comments