Support FOPR(S/F) FOPT(S/F)

This commit is contained in:
Lars Petter Øren Hauge 2018-01-23 14:36:56 +01:00
parent 10f2f7d366
commit a8d6259514
3 changed files with 22 additions and 0 deletions

View File

@ -802,6 +802,8 @@ static const std::unordered_map< std::string, ofun > funs = {
rate< rt::reservoir_gas, producer>)},
{ "FGPRS", rate< rt::dissolved_gas, producer > },
{ "FGPRF", sub( rate< rt::gas, producer >, rate< rt::dissolved_gas, producer > ) },
{ "FOPRS", rate< rt::vaporized_oil, producer > },
{ "FOPRF", sub (rate < rt::oil, producer >, rate< rt::vaporized_oil, producer > ) },
{ "FLPR", sum( rate< rt::wat, producer >, rate< rt::oil, producer > ) },
{ "FWPT", mul( rate< rt::wat, producer >, duration ) },
@ -814,6 +816,10 @@ static const std::unordered_map< std::string, ofun > funs = {
rate< rt::reservoir_gas, producer>), duration)},
{ "FGPTS", mul( rate< rt::dissolved_gas, producer > , duration )},
{ "FGPTF", mul( sub( rate< rt::gas, producer >, rate< rt::dissolved_gas, producer > ), duration )},
{ "FOPTS", mul( rate< rt::vaporized_oil, producer >, duration ) },
{ "FOPTF", mul( sub (rate < rt::oil, producer >,
rate< rt::vaporized_oil, producer > ),
duration ) },
{ "FWIR", rate< rt::wat, injector > },
{ "FOIR", rate< rt::oil, injector > },

View File

@ -74,6 +74,8 @@ FGCR
FNPR -- solvent
FGPRF
FGPRS
FOPRF
FOPRS
--FTPRSEA
-- Injection Rates
FVIR
@ -97,6 +99,8 @@ FGST
FGCT
FGPTS
FGPTF
FOPTF
FOPTS
-- Injection Cummulatives
FVIT
FWIT

View File

@ -691,6 +691,10 @@ BOOST_AUTO_TEST_CASE(field_keywords) {
ecl_sum_get_field_var( resp, 1, "FGPRS" ), 1e-5 );
BOOST_CHECK_CLOSE( 10.2 - 10.4 + 20.2 - 20.4,
ecl_sum_get_field_var( resp, 1, "FGPRF" ), 1e-5 );
BOOST_CHECK_CLOSE( 10.5 + 20.5,
ecl_sum_get_field_var( resp, 1, "FOPRS" ), 1e-5 );
BOOST_CHECK_CLOSE( 10.1 - 10.5 + 20.1 - 20.5,
ecl_sum_get_field_var( resp, 1, "FOPRF" ), 1e-5 );
/* Production totals */
BOOST_CHECK_CLOSE( 10.0 + 20.0, ecl_sum_get_field_var( resp, 1, "FWPT" ), 1e-5 );
@ -704,6 +708,10 @@ BOOST_AUTO_TEST_CASE(field_keywords) {
ecl_sum_get_field_var( resp, 1, "FGPTS" ), 1e-5 );
BOOST_CHECK_CLOSE( 10.2 - 10.4 + 20.2 - 20.4,
ecl_sum_get_field_var( resp, 1, "FGPTF" ), 1e-5 );
BOOST_CHECK_CLOSE( 10.5 + 20.5,
ecl_sum_get_field_var( resp, 1, "FOPTS" ), 1e-5 );
BOOST_CHECK_CLOSE( 10.1 - 10.5 + 20.1 - 20.5,
ecl_sum_get_field_var( resp, 1, "FOPTF" ), 1e-5 );
BOOST_CHECK_CLOSE( 2 * (10.0 + 20.0), ecl_sum_get_field_var( resp, 2, "FWPT" ), 1e-5 );
BOOST_CHECK_CLOSE( 2 * (10.1 + 20.1), ecl_sum_get_field_var( resp, 2, "FOPT" ), 1e-5 );
@ -716,6 +724,10 @@ BOOST_AUTO_TEST_CASE(field_keywords) {
ecl_sum_get_field_var( resp, 2, "FGPTS" ), 1e-5 );
BOOST_CHECK_CLOSE( 2 * (10.2 - 10.4 + 20.2 - 20.4),
ecl_sum_get_field_var( resp, 2, "FGPTF" ), 1e-5 );
BOOST_CHECK_CLOSE( 2 * (10.5 + 20.5),
ecl_sum_get_field_var( resp, 2, "FOPTS" ), 1e-5 );
BOOST_CHECK_CLOSE( 2 * (10.1 - 10.5 + 20.1 - 20.5),
ecl_sum_get_field_var( resp, 2, "FOPTF" ), 1e-5 );
/* Production rates (history) */
BOOST_CHECK_CLOSE( 10.0 + 20.0, ecl_sum_get_field_var( resp, 1, "FWPRH" ), 1e-5 );