From 84690ce6b6ebb317d9e37a50260b35bd80ab62e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20Kvalsvik?= Date: Mon, 21 Nov 2016 12:35:23 +0100 Subject: [PATCH] RGIPL+RGIPG support. --- src/opm/output/eclipse/Summary.cpp | 10 ++++++++++ tests/test_Summary.cpp | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/src/opm/output/eclipse/Summary.cpp b/src/opm/output/eclipse/Summary.cpp index 13d2e19b8..5ed304a6a 100644 --- a/src/opm/output/eclipse/Summary.cpp +++ b/src/opm/output/eclipse/Summary.cpp @@ -392,6 +392,14 @@ quantity roipg(const fn_args& args) { return region_sum( args , "OIPG", measure::volume ); } +quantity rgipl(const fn_args& args) { + return region_sum( args , "GIPL", measure::volume ); +} + +quantity rgipg(const fn_args& args) { + return region_sum( args , "GIPG", measure::volume ); +} + quantity fgip( const fn_args& args ) { quantity zero { 0.0, measure::volume }; if( !args.state.has( "GIP" ) ) @@ -641,6 +649,8 @@ static const std::unordered_map< std::string, ofun > funs = { { "ROIPL" , roipl}, { "ROIPG" , roipg}, { "RGIP" , rgip}, + { "RGIPL" , rgipl}, + { "RGIPG" , rgipg}, { "RWIP" , rwip}, { "ROIR" , region_rate< rt::oil, injector > }, { "RGIR" , region_rate< rt::gas, injector > }, diff --git a/tests/test_Summary.cpp b/tests/test_Summary.cpp index 87bd17796..90ff4c962 100644 --- a/tests/test_Summary.cpp +++ b/tests/test_Summary.cpp @@ -75,6 +75,8 @@ static data::Solution make_solution( const EclipseGrid& grid ) { std::vector roipl(numCells); std::vector roipg(numCells); std::vector rgip(numCells); + std::vector rgipl(numCells); + std::vector rgipg(numCells); std::vector rwip(numCells); for (size_t k=0; k < grid.getNZ(); k++) { @@ -86,6 +88,8 @@ static data::Solution make_solution( const EclipseGrid& grid ) { roipl[g] = roip[g] - 1; roipg[g] = roip[g] + 1; rgip[g] = 2.1*(k + 1); + rgipl[g] = rgip[g] - 1; + rgipg[g] = rgip[g] + 1; rwip[g] = 2.2*(k + 1); } } @@ -96,6 +100,8 @@ static data::Solution make_solution( const EclipseGrid& grid ) { sol.insert( "OIPL" , UnitSystem::measure::volume , roipl, data::TargetType::RESTART_AUXILLARY); sol.insert( "OIPG" , UnitSystem::measure::volume , roipg, data::TargetType::RESTART_AUXILLARY); sol.insert( "GIP" , UnitSystem::measure::volume , rgip , data::TargetType::RESTART_AUXILLARY); + sol.insert( "GIPL" , UnitSystem::measure::volume , rgipl, data::TargetType::RESTART_AUXILLARY); + sol.insert( "GIPG" , UnitSystem::measure::volume , rgipg, data::TargetType::RESTART_AUXILLARY); sol.insert( "WIP" , UnitSystem::measure::volume , rwip , data::TargetType::RESTART_AUXILLARY); } return sol; @@ -671,6 +677,8 @@ BOOST_AUTO_TEST_CASE(region_vars) { std::string rgip_key = "RGIP:" + std::to_string( r ); std::string roipl_key = "ROIPL:" + std::to_string( r ); std::string roipg_key = "ROIPG:" + std::to_string( r ); + std::string rgipl_key = "RGIPL:" + std::to_string( r ); + std::string rgipg_key = "RGIPG:" + std::to_string( r ); const double area = cfg.grid.getNX() * cfg.grid.getNY(); BOOST_CHECK_CLOSE( r * 1.0 , units.to_si( UnitSystem::measure::pressure , ecl_sum_get_general_var( resp, 1, rpr_key.c_str())) , 1e-5); @@ -679,6 +687,8 @@ BOOST_AUTO_TEST_CASE(region_vars) { BOOST_CHECK_CLOSE( area * (2*r - 1) * 1.0 , units.to_si( UnitSystem::measure::volume , ecl_sum_get_general_var( resp, 1, roipl_key.c_str())) , 1e-5); BOOST_CHECK_CLOSE( area * (2*r + 1 ) * 1.0 , units.to_si( UnitSystem::measure::volume , ecl_sum_get_general_var( resp, 1, roipg_key.c_str())) , 1e-5); BOOST_CHECK_CLOSE( area * 2.1*r * 1.0 , units.to_si( UnitSystem::measure::volume , ecl_sum_get_general_var( resp, 1, rgip_key.c_str())) , 1e-5); + BOOST_CHECK_CLOSE( area * (2.1*r - 1) * 1.0, units.to_si( UnitSystem::measure::volume , ecl_sum_get_general_var( resp, 1, rgipl_key.c_str())) , 1e-5); + BOOST_CHECK_CLOSE( area * (2.1*r + 1) * 1.0, units.to_si( UnitSystem::measure::volume , ecl_sum_get_general_var( resp, 1, rgipg_key.c_str())) , 1e-5); BOOST_CHECK_CLOSE( area * 2.2*r * 1.0 , units.to_si( UnitSystem::measure::volume , ecl_sum_get_general_var( resp, 1, rwip_key.c_str())) , 1e-5); } }