void test_create_simple() { test_work_area_type * work_area = test_work_area_alloc("nnc-INIT"); { int nx = 10; int ny = 10; int nz = 10; ecl_grid_type * grid0 = ecl_grid_alloc_rectangular(nx,ny,nz,1,1,1,NULL); ecl_grid_add_self_nnc(grid0, 0 ,nx*ny + 0, 0 ); ecl_grid_add_self_nnc(grid0, 1 ,nx*ny + 1, 1 ); ecl_grid_add_self_nnc(grid0, 2 ,nx*ny + 2, 2 ); { ecl_nnc_geometry_type * nnc_geo = ecl_nnc_geometry_alloc( grid0 ); test_assert_int_equal( ecl_nnc_geometry_size( nnc_geo ) , 3 ); /* Create a dummy INIT file which *ony* contains a TRANNC keyword with the correct size. */ { ecl_kw_type * trann_nnc = ecl_kw_alloc(TRANNNC_KW , ecl_nnc_geometry_size( nnc_geo ), ECL_FLOAT); fortio_type * f = fortio_open_writer( "TEST.INIT" , false, ECL_ENDIAN_FLIP ); for (int i=0; i < ecl_kw_get_size( trann_nnc); i++) ecl_kw_iset_float( trann_nnc , i , i*1.0 ); ecl_kw_fwrite( trann_nnc , f ); fortio_fclose( f ); ecl_kw_free( trann_nnc ); } } ecl_grid_free( grid0 ); } test_work_area_free( work_area ); }
void test_create_empty() { ecl_grid_type * grid = ecl_grid_alloc_rectangular(10,10,10,1,1,1,NULL); ecl_nnc_geometry_type * nnc_geo = ecl_nnc_geometry_alloc( grid ); test_assert_true( ecl_nnc_geometry_is_instance( nnc_geo )); test_assert_int_equal( ecl_nnc_geometry_size( nnc_geo ) , 0 ); ecl_nnc_geometry_free( nnc_geo ); ecl_grid_free( grid ); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RifEclipseOutputFileTools::transferNncFluxData(const ecl_grid_type* grid, ecl_file_view_type* summaryView, std::vector<double>* waterFlux, std::vector<double>* oilFlux, std::vector<double>* gasFlux) { ecl_nnc_geometry_type* nnc_geo = ecl_nnc_geometry_alloc(grid); if (nnc_geo) { ecl_nnc_data_type* waterFluxData = ecl_nnc_data_alloc_wat_flux(grid, nnc_geo, summaryView); if (waterFluxData) { const double* waterFluxValues = ecl_nnc_data_get_values(waterFluxData); waterFlux->insert(waterFlux->end(), &waterFluxValues[0], &waterFluxValues[ecl_nnc_data_get_size(waterFluxData)]); ecl_nnc_data_free(waterFluxData); } ecl_nnc_data_type* oilFluxData = ecl_nnc_data_alloc_oil_flux(grid, nnc_geo, summaryView); if (oilFluxData) { const double* oilFluxValues = ecl_nnc_data_get_values(oilFluxData); oilFlux->insert(oilFlux->end(), &oilFluxValues[0], &oilFluxValues[ecl_nnc_data_get_size(oilFluxData)]); ecl_nnc_data_free(oilFluxData); } ecl_nnc_data_type* gasFluxData = ecl_nnc_data_alloc_gas_flux(grid, nnc_geo, summaryView); if (gasFluxData) { const double* gasFluxValues = ecl_nnc_data_get_values(gasFluxData); gasFlux->insert(gasFlux->end(), &gasFluxValues[0], &gasFluxValues[ecl_nnc_data_get_size(gasFluxData)]); ecl_nnc_data_free(gasFluxData); } ecl_nnc_geometry_free(nnc_geo); } }