Added function grid_equal() to compare two UnstructuredGrid instances.
This commit is contained in:
parent
f9249b1d5d
commit
8260d945fa
@ -152,6 +152,7 @@ list (APPEND TEST_SOURCE_FILES
|
||||
tests/test_propertysystem.cpp
|
||||
tests/test_dgbasis.cpp
|
||||
tests/test_cartgrid.cpp
|
||||
tests/test_ug.cpp
|
||||
tests/test_cubic.cpp
|
||||
tests/test_event.cpp
|
||||
tests/test_nonuniformtablelinear.cpp
|
||||
@ -201,6 +202,7 @@ list (APPEND TEST_DATA_FILES
|
||||
tests/wells_manager_data_wellSTOP.data
|
||||
tests/wells_group.data
|
||||
tests/TESTTIMER.DATA
|
||||
tests/CORNERPOINT_ACTNUM.DATA
|
||||
)
|
||||
|
||||
# originally generated with the command:
|
||||
|
@ -21,6 +21,7 @@
|
||||
#define OPM_GRID_HEADER_INCLUDED
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
/**
|
||||
* \file
|
||||
@ -299,6 +300,11 @@ allocate_grid(size_t ndims ,
|
||||
struct UnstructuredGrid *
|
||||
read_grid(const char *fname);
|
||||
|
||||
|
||||
|
||||
bool
|
||||
grid_equal(const struct UnstructuredGrid * grid1 , const struct UnstructuredGrid * grid2);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
@ -540,3 +540,92 @@ read_grid(const char *fname)
|
||||
|
||||
return G;
|
||||
}
|
||||
|
||||
/**
|
||||
Ahhh - the joys of comparing floating point numbers ....
|
||||
|
||||
http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm
|
||||
*/
|
||||
static int memcmp_double(const double * p1 , const double *p2 , size_t num_elements) {
|
||||
if (memcmp(p1 , p2 , num_elements * sizeof * p1) == 0)
|
||||
return 0;
|
||||
else {
|
||||
const double epsilon = 1e-5;
|
||||
|
||||
for (size_t index = 0; index < num_elements; index++) {
|
||||
double diff = abs(p1[index] - p2[index]);
|
||||
if (diff != 0) {
|
||||
double sum = abs(p1[index]) + abs(p2[index]);
|
||||
|
||||
if (diff > sum * epsilon)
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
grid_equal(const struct UnstructuredGrid * grid1 , const struct UnstructuredGrid * grid2) {
|
||||
if ((grid1->dimensions == grid2->dimensions) &&
|
||||
(grid1->number_of_cells == grid2->number_of_cells) &&
|
||||
(grid1->number_of_faces == grid2->number_of_faces) &&
|
||||
(grid1->number_of_nodes == grid2->number_of_nodes)) {
|
||||
|
||||
// Exact integer comparisons
|
||||
{
|
||||
if (memcmp(grid1->face_nodepos , grid2->face_nodepos , (grid1->number_of_faces + 1) * sizeof * grid1->face_nodepos) != 0)
|
||||
return false;
|
||||
|
||||
if (memcmp(grid1->face_nodes , grid2->face_nodes , grid1->face_nodepos[grid1->number_of_faces] * sizeof * grid1->face_nodes) != 0)
|
||||
return false;
|
||||
|
||||
if (memcmp(grid1->face_cells , grid2->face_cells , 2 * grid1->number_of_faces * sizeof * grid1->face_cells) != 0)
|
||||
return false;
|
||||
|
||||
if (memcmp(grid1->cell_faces , grid2->cell_faces , grid1->cell_facepos[grid1->number_of_cells] * sizeof * grid1->cell_faces) != 0)
|
||||
return false;
|
||||
|
||||
if (memcmp(grid1->cell_facepos , grid2->cell_facepos , (grid1->number_of_cells + 1) * sizeof * grid1->cell_facepos) != 0)
|
||||
return false;
|
||||
|
||||
if (grid1->global_cell && grid2->global_cell) {
|
||||
if (memcmp(grid1->global_cell , grid2->global_cell , grid1->number_of_cells * sizeof * grid1->global_cell) != 0)
|
||||
return false;
|
||||
} else if (grid1->global_cell != grid2->global_cell)
|
||||
return false;
|
||||
|
||||
if (grid1->cell_facetag && grid2->cell_facetag) {
|
||||
if (memcmp(grid1->cell_facetag , grid2->cell_facetag , grid1->cell_facepos[grid1->number_of_cells] * sizeof * grid1->cell_facetag) != 0)
|
||||
return false;
|
||||
} else if (grid1->cell_facetag != grid2->cell_facetag)
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
// Floating point comparisons.
|
||||
{
|
||||
if (memcmp_double( grid1->node_coordinates , grid2->node_coordinates , grid1->dimensions * grid1->number_of_nodes) != 0)
|
||||
return false;
|
||||
|
||||
if (memcmp_double( grid1->face_centroids , grid2->face_centroids , grid1->dimensions * grid1->number_of_faces) != 0)
|
||||
return false;
|
||||
|
||||
if (memcmp_double( grid1->face_areas , grid2->face_areas , grid1->number_of_faces) != 0)
|
||||
return false;
|
||||
|
||||
if (memcmp_double( grid1->face_normals , grid2->face_normals , grid1->dimensions * grid1->number_of_faces) != 0)
|
||||
return false;
|
||||
|
||||
if (memcmp_double( grid1->cell_centroids , grid2->cell_centroids , grid1->dimensions * grid1->number_of_cells) != 0)
|
||||
return false;
|
||||
|
||||
if (memcmp_double( grid1->cell_volumes , grid2->cell_volumes , grid1->number_of_cells) != 0)
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
} else
|
||||
return false;
|
||||
}
|
||||
|
206
tests/CORNERPOINT_ACTNUM.DATA
Normal file
206
tests/CORNERPOINT_ACTNUM.DATA
Normal file
@ -0,0 +1,206 @@
|
||||
RUNSPEC
|
||||
|
||||
DIMENS
|
||||
10 10 5 /
|
||||
|
||||
GRID
|
||||
|
||||
COORD
|
||||
0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00
|
||||
0.00000000E+00 0.20000000E+02 0.10000000E+02 0.00000000E+00
|
||||
0.00000000E+00 0.10000000E+02 0.00000000E+00 0.20000000E+02
|
||||
0.20000000E+02 0.00000000E+00 0.00000000E+00 0.20000000E+02
|
||||
0.00000000E+00 0.20000000E+02 0.30000000E+02 0.00000000E+00
|
||||
0.00000000E+00 0.30000000E+02 0.00000000E+00 0.20000000E+02
|
||||
0.40000000E+02 0.00000000E+00 0.00000000E+00 0.40000000E+02
|
||||
0.00000000E+00 0.20000000E+02 0.50000000E+02 0.00000000E+00
|
||||
0.00000000E+00 0.50000000E+02 0.00000000E+00 0.20000000E+02
|
||||
0.60000000E+02 0.00000000E+00 0.00000000E+00 0.60000000E+02
|
||||
0.00000000E+00 0.20000000E+02 0.70000000E+02 0.00000000E+00
|
||||
0.00000000E+00 0.70000000E+02 0.00000000E+00 0.20000000E+02
|
||||
0.80000000E+02 0.00000000E+00 0.00000000E+00 0.80000000E+02
|
||||
0.00000000E+00 0.20000000E+02 0.90000000E+02 0.00000000E+00
|
||||
0.00000000E+00 0.90000000E+02 0.00000000E+00 0.20000000E+02
|
||||
0.10000000E+03 0.00000000E+00 0.00000000E+00 0.10000000E+03
|
||||
0.00000000E+00 0.20000000E+02 0.00000000E+00 0.12000000E+02
|
||||
0.00000000E+00 0.00000000E+00 0.12000000E+02 0.20000000E+02
|
||||
0.10000000E+02 0.12000000E+02 0.00000000E+00 0.10000000E+02
|
||||
0.12000000E+02 0.20000000E+02 0.20000000E+02 0.12000000E+02
|
||||
0.00000000E+00 0.20000000E+02 0.12000000E+02 0.20000000E+02
|
||||
0.30000000E+02 0.12000000E+02 0.00000000E+00 0.30000000E+02
|
||||
0.12000000E+02 0.20000000E+02 0.40000000E+02 0.12000000E+02
|
||||
0.00000000E+00 0.40000000E+02 0.12000000E+02 0.20000000E+02
|
||||
0.50000000E+02 0.12000000E+02 0.00000000E+00 0.50000000E+02
|
||||
0.12000000E+02 0.20000000E+02 0.60000000E+02 0.12000000E+02
|
||||
0.00000000E+00 0.60000000E+02 0.12000000E+02 0.20000000E+02
|
||||
0.70000000E+02 0.12000000E+02 0.00000000E+00 0.70000000E+02
|
||||
0.12000000E+02 0.20000000E+02 0.80000000E+02 0.12000000E+02
|
||||
0.00000000E+00 0.80000000E+02 0.12000000E+02 0.20000000E+02
|
||||
0.90000000E+02 0.12000000E+02 0.00000000E+00 0.90000000E+02
|
||||
0.12000000E+02 0.20000000E+02 0.10000000E+03 0.12000000E+02
|
||||
0.00000000E+00 0.10000000E+03 0.12000000E+02 0.20000000E+02
|
||||
0.00000000E+00 0.24000000E+02 0.00000000E+00 0.00000000E+00
|
||||
0.24000000E+02 0.20000000E+02 0.10000000E+02 0.24000000E+02
|
||||
0.00000000E+00 0.10000000E+02 0.24000000E+02 0.20000000E+02
|
||||
0.20000000E+02 0.24000000E+02 0.00000000E+00 0.20000000E+02
|
||||
0.24000000E+02 0.20000000E+02 0.30000000E+02 0.24000000E+02
|
||||
0.00000000E+00 0.30000000E+02 0.24000000E+02 0.20000000E+02
|
||||
0.40000000E+02 0.24000000E+02 0.00000000E+00 0.40000000E+02
|
||||
0.24000000E+02 0.20000000E+02 0.50000000E+02 0.24000000E+02
|
||||
0.00000000E+00 0.50000000E+02 0.24000000E+02 0.20000000E+02
|
||||
0.60000000E+02 0.24000000E+02 0.00000000E+00 0.60000000E+02
|
||||
0.24000000E+02 0.20000000E+02 0.70000000E+02 0.24000000E+02
|
||||
0.00000000E+00 0.70000000E+02 0.24000000E+02 0.20000000E+02
|
||||
0.80000000E+02 0.24000000E+02 0.00000000E+00 0.80000000E+02
|
||||
0.24000000E+02 0.20000000E+02 0.90000000E+02 0.24000000E+02
|
||||
0.00000000E+00 0.90000000E+02 0.24000000E+02 0.20000000E+02
|
||||
0.10000000E+03 0.24000000E+02 0.00000000E+00 0.10000000E+03
|
||||
0.24000000E+02 0.20000000E+02 0.00000000E+00 0.36000000E+02
|
||||
0.00000000E+00 0.00000000E+00 0.36000000E+02 0.20000000E+02
|
||||
0.10000000E+02 0.36000000E+02 0.00000000E+00 0.10000000E+02
|
||||
0.36000000E+02 0.20000000E+02 0.20000000E+02 0.36000000E+02
|
||||
0.00000000E+00 0.20000000E+02 0.36000000E+02 0.20000000E+02
|
||||
0.30000000E+02 0.36000000E+02 0.00000000E+00 0.30000000E+02
|
||||
0.36000000E+02 0.20000000E+02 0.40000000E+02 0.36000000E+02
|
||||
0.00000000E+00 0.40000000E+02 0.36000000E+02 0.20000000E+02
|
||||
0.50000000E+02 0.36000000E+02 0.00000000E+00 0.50000000E+02
|
||||
0.36000000E+02 0.20000000E+02 0.60000000E+02 0.36000000E+02
|
||||
0.00000000E+00 0.60000000E+02 0.36000000E+02 0.20000000E+02
|
||||
0.70000000E+02 0.36000000E+02 0.00000000E+00 0.70000000E+02
|
||||
0.36000000E+02 0.20000000E+02 0.80000000E+02 0.36000000E+02
|
||||
0.00000000E+00 0.80000000E+02 0.36000000E+02 0.20000000E+02
|
||||
0.90000000E+02 0.36000000E+02 0.00000000E+00 0.90000000E+02
|
||||
0.36000000E+02 0.20000000E+02 0.10000000E+03 0.36000000E+02
|
||||
0.00000000E+00 0.10000000E+03 0.36000000E+02 0.20000000E+02
|
||||
0.00000000E+00 0.48000000E+02 0.00000000E+00 0.00000000E+00
|
||||
0.48000000E+02 0.20000000E+02 0.10000000E+02 0.48000000E+02
|
||||
0.00000000E+00 0.10000000E+02 0.48000000E+02 0.20000000E+02
|
||||
0.20000000E+02 0.48000000E+02 0.00000000E+00 0.20000000E+02
|
||||
0.48000000E+02 0.20000000E+02 0.30000000E+02 0.48000000E+02
|
||||
0.00000000E+00 0.30000000E+02 0.48000000E+02 0.20000000E+02
|
||||
0.40000000E+02 0.48000000E+02 0.00000000E+00 0.40000000E+02
|
||||
0.48000000E+02 0.20000000E+02 0.50000000E+02 0.48000000E+02
|
||||
0.00000000E+00 0.50000000E+02 0.48000000E+02 0.20000000E+02
|
||||
0.60000000E+02 0.48000000E+02 0.00000000E+00 0.60000000E+02
|
||||
0.48000000E+02 0.20000000E+02 0.70000000E+02 0.48000000E+02
|
||||
0.00000000E+00 0.70000000E+02 0.48000000E+02 0.20000000E+02
|
||||
0.80000000E+02 0.48000000E+02 0.00000000E+00 0.80000000E+02
|
||||
0.48000000E+02 0.20000000E+02 0.90000000E+02 0.48000000E+02
|
||||
0.00000000E+00 0.90000000E+02 0.48000000E+02 0.20000000E+02
|
||||
0.10000000E+03 0.48000000E+02 0.00000000E+00 0.10000000E+03
|
||||
0.48000000E+02 0.20000000E+02 0.00000000E+00 0.60000000E+02
|
||||
0.00000000E+00 0.00000000E+00 0.60000000E+02 0.20000000E+02
|
||||
0.10000000E+02 0.60000000E+02 0.00000000E+00 0.10000000E+02
|
||||
0.60000000E+02 0.20000000E+02 0.20000000E+02 0.60000000E+02
|
||||
0.00000000E+00 0.20000000E+02 0.60000000E+02 0.20000000E+02
|
||||
0.30000000E+02 0.60000000E+02 0.00000000E+00 0.30000000E+02
|
||||
0.60000000E+02 0.20000000E+02 0.40000000E+02 0.60000000E+02
|
||||
0.00000000E+00 0.40000000E+02 0.60000000E+02 0.20000000E+02
|
||||
0.50000000E+02 0.60000000E+02 0.00000000E+00 0.50000000E+02
|
||||
0.60000000E+02 0.20000000E+02 0.60000000E+02 0.60000000E+02
|
||||
0.00000000E+00 0.60000000E+02 0.60000000E+02 0.20000000E+02
|
||||
0.70000000E+02 0.60000000E+02 0.00000000E+00 0.70000000E+02
|
||||
0.60000000E+02 0.20000000E+02 0.80000000E+02 0.60000000E+02
|
||||
0.00000000E+00 0.80000000E+02 0.60000000E+02 0.20000000E+02
|
||||
0.90000000E+02 0.60000000E+02 0.00000000E+00 0.90000000E+02
|
||||
0.60000000E+02 0.20000000E+02 0.10000000E+03 0.60000000E+02
|
||||
0.00000000E+00 0.10000000E+03 0.60000000E+02 0.20000000E+02
|
||||
0.00000000E+00 0.72000000E+02 0.00000000E+00 0.00000000E+00
|
||||
0.72000000E+02 0.20000000E+02 0.10000000E+02 0.72000000E+02
|
||||
0.00000000E+00 0.10000000E+02 0.72000000E+02 0.20000000E+02
|
||||
0.20000000E+02 0.72000000E+02 0.00000000E+00 0.20000000E+02
|
||||
0.72000000E+02 0.20000000E+02 0.30000000E+02 0.72000000E+02
|
||||
0.00000000E+00 0.30000000E+02 0.72000000E+02 0.20000000E+02
|
||||
0.40000000E+02 0.72000000E+02 0.00000000E+00 0.40000000E+02
|
||||
0.72000000E+02 0.20000000E+02 0.50000000E+02 0.72000000E+02
|
||||
0.00000000E+00 0.50000000E+02 0.72000000E+02 0.20000000E+02
|
||||
0.60000000E+02 0.72000000E+02 0.00000000E+00 0.60000000E+02
|
||||
0.72000000E+02 0.20000000E+02 0.70000000E+02 0.72000000E+02
|
||||
0.00000000E+00 0.70000000E+02 0.72000000E+02 0.20000000E+02
|
||||
0.80000000E+02 0.72000000E+02 0.00000000E+00 0.80000000E+02
|
||||
0.72000000E+02 0.20000000E+02 0.90000000E+02 0.72000000E+02
|
||||
0.00000000E+00 0.90000000E+02 0.72000000E+02 0.20000000E+02
|
||||
0.10000000E+03 0.72000000E+02 0.00000000E+00 0.10000000E+03
|
||||
0.72000000E+02 0.20000000E+02 0.00000000E+00 0.84000000E+02
|
||||
0.00000000E+00 0.00000000E+00 0.84000000E+02 0.20000000E+02
|
||||
0.10000000E+02 0.84000000E+02 0.00000000E+00 0.10000000E+02
|
||||
0.84000000E+02 0.20000000E+02 0.20000000E+02 0.84000000E+02
|
||||
0.00000000E+00 0.20000000E+02 0.84000000E+02 0.20000000E+02
|
||||
0.30000000E+02 0.84000000E+02 0.00000000E+00 0.30000000E+02
|
||||
0.84000000E+02 0.20000000E+02 0.40000000E+02 0.84000000E+02
|
||||
0.00000000E+00 0.40000000E+02 0.84000000E+02 0.20000000E+02
|
||||
0.50000000E+02 0.84000000E+02 0.00000000E+00 0.50000000E+02
|
||||
0.84000000E+02 0.20000000E+02 0.60000000E+02 0.84000000E+02
|
||||
0.00000000E+00 0.60000000E+02 0.84000000E+02 0.20000000E+02
|
||||
0.70000000E+02 0.84000000E+02 0.00000000E+00 0.70000000E+02
|
||||
0.84000000E+02 0.20000000E+02 0.80000000E+02 0.84000000E+02
|
||||
0.00000000E+00 0.80000000E+02 0.84000000E+02 0.20000000E+02
|
||||
0.90000000E+02 0.84000000E+02 0.00000000E+00 0.90000000E+02
|
||||
0.84000000E+02 0.20000000E+02 0.10000000E+03 0.84000000E+02
|
||||
0.00000000E+00 0.10000000E+03 0.84000000E+02 0.20000000E+02
|
||||
0.00000000E+00 0.96000000E+02 0.00000000E+00 0.00000000E+00
|
||||
0.96000000E+02 0.20000000E+02 0.10000000E+02 0.96000000E+02
|
||||
0.00000000E+00 0.10000000E+02 0.96000000E+02 0.20000000E+02
|
||||
0.20000000E+02 0.96000000E+02 0.00000000E+00 0.20000000E+02
|
||||
0.96000000E+02 0.20000000E+02 0.30000000E+02 0.96000000E+02
|
||||
0.00000000E+00 0.30000000E+02 0.96000000E+02 0.20000000E+02
|
||||
0.40000000E+02 0.96000000E+02 0.00000000E+00 0.40000000E+02
|
||||
0.96000000E+02 0.20000000E+02 0.50000000E+02 0.96000000E+02
|
||||
0.00000000E+00 0.50000000E+02 0.96000000E+02 0.20000000E+02
|
||||
0.60000000E+02 0.96000000E+02 0.00000000E+00 0.60000000E+02
|
||||
0.96000000E+02 0.20000000E+02 0.70000000E+02 0.96000000E+02
|
||||
0.00000000E+00 0.70000000E+02 0.96000000E+02 0.20000000E+02
|
||||
0.80000000E+02 0.96000000E+02 0.00000000E+00 0.80000000E+02
|
||||
0.96000000E+02 0.20000000E+02 0.90000000E+02 0.96000000E+02
|
||||
0.00000000E+00 0.90000000E+02 0.96000000E+02 0.20000000E+02
|
||||
0.10000000E+03 0.96000000E+02 0.00000000E+00 0.10000000E+03
|
||||
0.96000000E+02 0.20000000E+02 0.00000000E+00 0.10800000E+03
|
||||
0.00000000E+00 0.00000000E+00 0.10800000E+03 0.20000000E+02
|
||||
0.10000000E+02 0.10800000E+03 0.00000000E+00 0.10000000E+02
|
||||
0.10800000E+03 0.20000000E+02 0.20000000E+02 0.10800000E+03
|
||||
0.00000000E+00 0.20000000E+02 0.10800000E+03 0.20000000E+02
|
||||
0.30000000E+02 0.10800000E+03 0.00000000E+00 0.30000000E+02
|
||||
0.10800000E+03 0.20000000E+02 0.40000000E+02 0.10800000E+03
|
||||
0.00000000E+00 0.40000000E+02 0.10800000E+03 0.20000000E+02
|
||||
0.50000000E+02 0.10800000E+03 0.00000000E+00 0.50000000E+02
|
||||
0.10800000E+03 0.20000000E+02 0.60000000E+02 0.10800000E+03
|
||||
0.00000000E+00 0.60000000E+02 0.10800000E+03 0.20000000E+02
|
||||
0.70000000E+02 0.10800000E+03 0.00000000E+00 0.70000000E+02
|
||||
0.10800000E+03 0.20000000E+02 0.80000000E+02 0.10800000E+03
|
||||
0.00000000E+00 0.80000000E+02 0.10800000E+03 0.20000000E+02
|
||||
0.90000000E+02 0.10800000E+03 0.00000000E+00 0.90000000E+02
|
||||
0.10800000E+03 0.20000000E+02 0.10000000E+03 0.10800000E+03
|
||||
0.00000000E+00 0.10000000E+03 0.10800000E+03 0.20000000E+02
|
||||
0.00000000E+00 0.12000000E+03 0.00000000E+00 0.00000000E+00
|
||||
0.12000000E+03 0.20000000E+02 0.10000000E+02 0.12000000E+03
|
||||
0.00000000E+00 0.10000000E+02 0.12000000E+03 0.20000000E+02
|
||||
0.20000000E+02 0.12000000E+03 0.00000000E+00 0.20000000E+02
|
||||
0.12000000E+03 0.20000000E+02 0.30000000E+02 0.12000000E+03
|
||||
0.00000000E+00 0.30000000E+02 0.12000000E+03 0.20000000E+02
|
||||
0.40000000E+02 0.12000000E+03 0.00000000E+00 0.40000000E+02
|
||||
0.12000000E+03 0.20000000E+02 0.50000000E+02 0.12000000E+03
|
||||
0.00000000E+00 0.50000000E+02 0.12000000E+03 0.20000000E+02
|
||||
0.60000000E+02 0.12000000E+03 0.00000000E+00 0.60000000E+02
|
||||
0.12000000E+03 0.20000000E+02 0.70000000E+02 0.12000000E+03
|
||||
0.00000000E+00 0.70000000E+02 0.12000000E+03 0.20000000E+02
|
||||
0.80000000E+02 0.12000000E+03 0.00000000E+00 0.80000000E+02
|
||||
0.12000000E+03 0.20000000E+02 0.90000000E+02 0.12000000E+03
|
||||
0.00000000E+00 0.90000000E+02 0.12000000E+03 0.20000000E+02
|
||||
0.10000000E+03 0.12000000E+03 0.00000000E+00 0.10000000E+03
|
||||
0.12000000E+03 0.20000000E+02
|
||||
/
|
||||
|
||||
ZCORN
|
||||
400*0.00
|
||||
400*0.40E+01
|
||||
400*0.80E+01
|
||||
400*1.20E+02
|
||||
400*1.60E+02
|
||||
400*2.00E+02
|
||||
/
|
||||
|
||||
ACTNUM
|
||||
200*0 100*1 200*0 /
|
||||
|
||||
|
||||
EDIT
|
66
tests/test_ug.cpp
Normal file
66
tests/test_ug.cpp
Normal file
@ -0,0 +1,66 @@
|
||||
/* Copyright 2014 Statoil ASA
|
||||
* This file is licensed under GPL3, see http://www.opm-project.org/
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
|
||||
/* --- Boost.Test boilerplate --- */
|
||||
#if HAVE_DYNAMIC_BOOST_TEST
|
||||
#define BOOST_TEST_DYN_LINK
|
||||
#endif
|
||||
|
||||
#define NVERBOSE // Suppress own messages when throw()ing
|
||||
|
||||
#define BOOST_TEST_MODULE TEST_UG
|
||||
#include <boost/test/unit_test.hpp>
|
||||
#include <boost/test/floating_point_comparison.hpp>
|
||||
|
||||
/* --- our own headers --- */
|
||||
#include <algorithm>
|
||||
#include <vector>
|
||||
#include <opm/core/grid.h>
|
||||
#include <opm/core/grid/cornerpoint_grid.h> /* compute_geometry */
|
||||
#include <opm/core/grid/GridManager.hpp> /* compute_geometry */
|
||||
|
||||
#include <opm/parser/eclipse/Parser/Parser.hpp>
|
||||
#include <opm/parser/eclipse/Deck/Deck.hpp>
|
||||
|
||||
using namespace std;
|
||||
|
||||
|
||||
|
||||
BOOST_AUTO_TEST_CASE(Equal) {
|
||||
const std::string filename1 = "CORNERPOINT_ACTNUM.DATA";
|
||||
const char *deck2Data =
|
||||
"RUNSPEC\n"
|
||||
"\n"
|
||||
"DIMENS\n"
|
||||
" 10 10 10 /\n"
|
||||
"GRID\n"
|
||||
"DXV\n"
|
||||
"10*0.25 /\n"
|
||||
"DYV\n"
|
||||
"10*0.25 /\n"
|
||||
"DZV\n"
|
||||
"10*0.25 /\n"
|
||||
"TOPS\n"
|
||||
"100*0.25 /\n"
|
||||
"EDIT\n"
|
||||
"\n";
|
||||
|
||||
Opm::ParserPtr parser(new Opm::Parser() );
|
||||
Opm::DeckConstPtr deck1 = parser->parseFile( filename1 );
|
||||
Opm::DeckConstPtr deck2 = parser->parseString( deck2Data );
|
||||
|
||||
Opm::GridManager grid1(deck1);
|
||||
Opm::GridManager grid2(deck2);
|
||||
|
||||
const UnstructuredGrid* cgrid1 = grid1.c_grid();
|
||||
const UnstructuredGrid* cgrid2 = grid2.c_grid();
|
||||
|
||||
|
||||
BOOST_CHECK( grid_equal( cgrid1 , cgrid1 ));
|
||||
BOOST_CHECK( grid_equal( cgrid2 , cgrid2 ));
|
||||
BOOST_CHECK( !grid_equal( cgrid1 , cgrid2 ));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user