diff --git a/msim/src/msim.cpp b/msim/src/msim.cpp index 1390e6a8a..b33944e61 100644 --- a/msim/src/msim.cpp +++ b/msim/src/msim.cpp @@ -19,6 +19,7 @@ #include +#include #include #include #include @@ -117,6 +118,7 @@ void msim::run_step(const Schedule& schedule, Action::State& action_state, Summa seconds_elapsed, well_data, group_nwrk_data, + {}, {}); schedule.getUDQConfig( report_step ).eval(report_step, schedule.wellMatcher(report_step), st, udq_state); diff --git a/opm/output/eclipse/Summary.hpp b/opm/output/eclipse/Summary.hpp index 53d160db0..51746071a 100644 --- a/opm/output/eclipse/Summary.hpp +++ b/opm/output/eclipse/Summary.hpp @@ -35,6 +35,7 @@ namespace Opm { class Schedule; class SummaryConfig; class SummaryState; + class Inplace; } // namespace Opm namespace Opm { namespace data { @@ -66,6 +67,7 @@ public: const data::WellRates& well_solution, const data::GroupAndNetworkValues& group_and_nwrk_solution, GlobalProcessParameters single_values, + const Inplace& initial_inplace, const RegionParameters& region_values = {}, const BlockValues& block_values = {}, const data::Aquifers& aquifers_values = {}) const; diff --git a/src/opm/output/eclipse/Summary.cpp b/src/opm/output/eclipse/Summary.cpp index 3ff80710e..74f758be0 100644 --- a/src/opm/output/eclipse/Summary.cpp +++ b/src/opm/output/eclipse/Summary.cpp @@ -3177,6 +3177,7 @@ void Summary::eval(SummaryState& st, const data::WellRates& well_solution, const data::GroupAndNetworkValues& grp_nwrk_solution, GlobalProcessParameters single_values, + const Inplace& , const RegionParameters& region_values, const BlockValues& block_values, const Opm::data::Aquifers& aquifer_values) const diff --git a/tests/test_Summary.cpp b/tests/test_Summary.cpp index f39c20684..2fff4ec14 100755 --- a/tests/test_Summary.cpp +++ b/tests/test_Summary.cpp @@ -36,6 +36,7 @@ #include #include +#include #include #include #include @@ -467,13 +468,13 @@ BOOST_AUTO_TEST_CASE(well_keywords) { SummaryState st(std::chrono::system_clock::now()); out::Summary writer( cfg.es, cfg.config, cfg.grid, cfg.schedule , cfg.name ); - writer.eval(st, 0, 0*day, cfg.wells, cfg.grp_nwrk, {}); + writer.eval(st, 0, 0*day, cfg.wells, cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 0); - writer.eval(st, 1, 1*day, cfg.wells, cfg.grp_nwrk, {}); + writer.eval(st, 1, 1*day, cfg.wells, cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 1); - writer.eval(st, 2, 2*day, cfg.wells, cfg.grp_nwrk, {}); + writer.eval(st, 2, 2*day, cfg.wells, cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 2); writer.write(); @@ -692,11 +693,11 @@ BOOST_AUTO_TEST_CASE(udq_keywords) { out::Summary writer( cfg.es, cfg.config, cfg.grid, cfg.schedule , cfg.name ); SummaryState st(std::chrono::system_clock::now()); - writer.eval( st, 0, 0 * day, cfg.wells , cfg.grp_nwrk, {}); + writer.eval( st, 0, 0 * day, cfg.wells , cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 0); - writer.eval( st, 1, 1 * day, cfg.wells , cfg.grp_nwrk, {}); + writer.eval( st, 1, 1 * day, cfg.wells , cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 1); - writer.eval( st, 2, 2 * day, cfg.wells , cfg.grp_nwrk, {}); + writer.eval( st, 2, 2 * day, cfg.wells , cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 2); writer.write(); @@ -717,13 +718,13 @@ BOOST_AUTO_TEST_CASE(group_keywords) { out::Summary writer( cfg.es, cfg.config, cfg.grid, cfg.schedule, cfg.name ); SummaryState st(std::chrono::system_clock::now()); - writer.eval( st, 0, 0 * day, cfg.wells , cfg.grp_nwrk, {}); + writer.eval( st, 0, 0 * day, cfg.wells , cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 0); - writer.eval( st, 1, 1 * day, cfg.wells , cfg.grp_nwrk, {}); + writer.eval( st, 1, 1 * day, cfg.wells , cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 1); - writer.eval( st, 2, 2 * day, cfg.wells , cfg.grp_nwrk, {}); + writer.eval( st, 2, 2 * day, cfg.wells , cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 2); writer.write(); @@ -874,11 +875,11 @@ BOOST_AUTO_TEST_CASE(group_group) { out::Summary writer( cfg.es, cfg.config, cfg.grid, cfg.schedule, cfg.name ); SummaryState st(std::chrono::system_clock::now()); - writer.eval( st, 0, 0 * day, cfg.wells , cfg.grp_nwrk, {}); + writer.eval( st, 0, 0 * day, cfg.wells , cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 0); - writer.eval( st, 1, 1 * day, cfg.wells , cfg.grp_nwrk, {}); + writer.eval( st, 1, 1 * day, cfg.wells , cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 1); - writer.eval( st, 2, 2 * day, cfg.wells , cfg.grp_nwrk, {}); + writer.eval( st, 2, 2 * day, cfg.wells , cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 2); writer.write(); @@ -930,11 +931,11 @@ BOOST_AUTO_TEST_CASE(connection_kewords) { out::Summary writer( cfg.es, cfg.config, cfg.grid, cfg.schedule, cfg.name ); SummaryState st(std::chrono::system_clock::now()); - writer.eval( st, 0, 0 * day, cfg.wells , cfg.grp_nwrk, {}); + writer.eval( st, 0, 0 * day, cfg.wells , cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 0); - writer.eval( st, 1, 1 * day, cfg.wells , cfg.grp_nwrk, {}); + writer.eval( st, 1, 1 * day, cfg.wells , cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 1); - writer.eval( st, 2, 2 * day, cfg.wells , cfg.grp_nwrk, {}); + writer.eval( st, 2, 2 * day, cfg.wells , cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 2); writer.write(); @@ -1004,13 +1005,13 @@ BOOST_AUTO_TEST_CASE(DATE) { out::Summary writer( cfg.es, cfg.config, cfg.grid, cfg.schedule, cfg.name ); SummaryState st(std::chrono::system_clock::now()); - writer.eval( st, 1, 1 * day, cfg.wells , cfg.grp_nwrk, {}); + writer.eval( st, 1, 1 * day, cfg.wells , cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 1); - writer.eval( st, 2, 2 * day, cfg.wells , cfg.grp_nwrk, {}); + writer.eval( st, 2, 2 * day, cfg.wells , cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 2); - writer.eval( st, 3, 18 * day, cfg.wells , cfg.grp_nwrk, {}); + writer.eval( st, 3, 18 * day, cfg.wells , cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 3); - writer.eval( st, 4, 22 * day, cfg.wells , cfg.grp_nwrk, {}); + writer.eval( st, 4, 22 * day, cfg.wells , cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 4); writer.write(); @@ -1041,11 +1042,11 @@ BOOST_AUTO_TEST_CASE(field_keywords) { out::Summary writer( cfg.es, cfg.config, cfg.grid, cfg.schedule, cfg.name ); SummaryState st(std::chrono::system_clock::now()); - writer.eval( st, 0, 0 * day, cfg.wells , cfg.grp_nwrk, {}); + writer.eval( st, 0, 0 * day, cfg.wells , cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 0); - writer.eval( st, 1, 1 * day, cfg.wells , cfg.grp_nwrk, {}); + writer.eval( st, 1, 1 * day, cfg.wells , cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 1); - writer.eval( st, 2, 2 * day, cfg.wells , cfg.grp_nwrk, {}); + writer.eval( st, 2, 2 * day, cfg.wells , cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 2); writer.write(); @@ -1178,11 +1179,11 @@ BOOST_AUTO_TEST_CASE(report_steps_time) { out::Summary writer( cfg.es, cfg.config, cfg.grid, cfg.schedule, cfg.name ); SummaryState st(std::chrono::system_clock::now()); - writer.eval( st, 1, 2 * day, cfg.wells , cfg.grp_nwrk, {}); + writer.eval( st, 1, 2 * day, cfg.wells , cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 1); - writer.eval( st, 1, 5 * day, cfg.wells , cfg.grp_nwrk, {}); + writer.eval( st, 1, 5 * day, cfg.wells , cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 1); - writer.eval( st, 2, 10 * day, cfg.wells , cfg.grp_nwrk, {}); + writer.eval( st, 2, 10 * day, cfg.wells , cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 2); writer.write(); @@ -1205,11 +1206,11 @@ BOOST_AUTO_TEST_CASE(skip_unknown_var) { out::Summary writer( cfg.es, cfg.config, cfg.grid, cfg.schedule, cfg.name ); SummaryState st(std::chrono::system_clock::now()); - writer.eval( st, 1, 2 * day, cfg.wells , cfg.grp_nwrk, {}); + writer.eval( st, 1, 2 * day, cfg.wells , cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 1); - writer.eval( st, 1, 5 * day, cfg.wells , cfg.grp_nwrk, {}); + writer.eval( st, 1, 5 * day, cfg.wells , cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 1); - writer.eval( st, 2, 10 * day, cfg.wells , cfg.grp_nwrk, {}); + writer.eval( st, 2, 10 * day, cfg.wells , cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 2); writer.write(); @@ -1316,11 +1317,11 @@ BOOST_AUTO_TEST_CASE(region_vars) { { out::Summary writer( cfg.es, cfg.config, cfg.grid, cfg.schedule, cfg.name ); SummaryState st(std::chrono::system_clock::now()); - writer.eval( st, 1, 2 * day, cfg.wells, cfg.grp_nwrk, {}, region_values); + writer.eval( st, 1, 2 * day, cfg.wells, cfg.grp_nwrk, {}, {}, region_values); writer.add_timestep( st, 1); - writer.eval( st, 1, 5 * day, cfg.wells, cfg.grp_nwrk, {}, region_values); + writer.eval( st, 1, 5 * day, cfg.wells, cfg.grp_nwrk, {}, {}, region_values); writer.add_timestep( st, 1); - writer.eval( st, 2, 10 * day, cfg.wells, cfg.grp_nwrk, {}, region_values); + writer.eval( st, 2, 10 * day, cfg.wells, cfg.grp_nwrk, {}, {}, region_values); writer.add_timestep( st, 2); writer.write(); } @@ -1367,11 +1368,11 @@ BOOST_AUTO_TEST_CASE(region_production) { { out::Summary writer( cfg.es, cfg.config, cfg.grid, cfg.schedule, cfg.name ); SummaryState st(std::chrono::system_clock::now()); - writer.eval( st, 0, 0 * day, cfg.wells , cfg.grp_nwrk, {}); + writer.eval( st, 0, 0 * day, cfg.wells , cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 0); - writer.eval( st, 1, 1 * day, cfg.wells , cfg.grp_nwrk, {}); + writer.eval( st, 1, 1 * day, cfg.wells , cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 1); - writer.eval( st, 2, 2 * day, cfg.wells , cfg.grp_nwrk, {}); + writer.eval( st, 2, 2 * day, cfg.wells , cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 2); writer.write(); } @@ -1399,11 +1400,11 @@ BOOST_AUTO_TEST_CASE(region_injection) { out::Summary writer( cfg.es, cfg.config, cfg.grid, cfg.schedule, cfg.name ); SummaryState st(std::chrono::system_clock::now()); - writer.eval( st, 0, 0 * day, cfg.wells , cfg.grp_nwrk, {}); + writer.eval( st, 0, 0 * day, cfg.wells , cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 0); - writer.eval( st, 1, 1 * day, cfg.wells , cfg.grp_nwrk, {}); + writer.eval( st, 1, 1 * day, cfg.wells , cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 1); - writer.eval( st, 2, 2 * day, cfg.wells , cfg.grp_nwrk, {}); + writer.eval( st, 2, 2 * day, cfg.wells , cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 2); writer.write(); @@ -1457,15 +1458,15 @@ BOOST_AUTO_TEST_CASE(BLOCK_VARIABLES) { out::Summary writer( cfg.es, cfg.config, cfg.grid, cfg.schedule, cfg.name ); SummaryState st(std::chrono::system_clock::now()); - writer.eval( st, 0, 0 * day, cfg.wells , cfg.grp_nwrk, {},{}, block_values); + writer.eval( st, 0, 0 * day, cfg.wells , cfg.grp_nwrk, {},{}, {}, block_values); writer.add_timestep( st, 0); - writer.eval( st, 1, 1 * day, cfg.wells , cfg.grp_nwrk, {},{}, block_values); + writer.eval( st, 1, 1 * day, cfg.wells , cfg.grp_nwrk, {},{}, {}, block_values); writer.add_timestep( st, 1); - writer.eval( st, 2, 2 * day, cfg.wells , cfg.grp_nwrk, {},{}, block_values); + writer.eval( st, 2, 2 * day, cfg.wells , cfg.grp_nwrk, {},{}, {}, block_values); writer.add_timestep( st, 2); - writer.eval( st, 3, 2 * day, cfg.wells , cfg.grp_nwrk, {},{}, block_values); + writer.eval( st, 3, 2 * day, cfg.wells , cfg.grp_nwrk, {},{}, {}, block_values); writer.add_timestep( st, 3); - writer.eval( st, 4, 2 * day, cfg.wells , cfg.grp_nwrk, {},{}, block_values); + writer.eval( st, 4, 2 * day, cfg.wells , cfg.grp_nwrk, {},{}, {}, block_values); writer.add_timestep( st, 4); writer.write(); @@ -1518,13 +1519,13 @@ BOOST_AUTO_TEST_CASE(NODE_VARIABLES) { out::Summary writer( cfg.es, cfg.config, cfg.grid, cfg.schedule, cfg.name ); SummaryState st(std::chrono::system_clock::now()); - writer.eval( st, 0, 0 * day, cfg.wells , cfg.grp_nwrk, {}); + writer.eval( st, 0, 0 * day, cfg.wells , cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 0); - writer.eval( st, 1, 1 * day, cfg.wells , cfg.grp_nwrk, {}); + writer.eval( st, 1, 1 * day, cfg.wells , cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 1); - writer.eval( st, 2, 2 * day, cfg.wells , cfg.grp_nwrk, {}); + writer.eval( st, 2, 2 * day, cfg.wells , cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 2); writer.write(); @@ -1576,11 +1577,11 @@ BOOST_AUTO_TEST_CASE(MISC) { out::Summary writer( cfg.es, cfg.config, cfg.grid, cfg.schedule , cfg.name ); SummaryState st(std::chrono::system_clock::now()); - writer.eval( st, 0, 0 * day, cfg.wells , cfg.grp_nwrk, {}); + writer.eval( st, 0, 0 * day, cfg.wells , cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 0); - writer.eval( st, 1, 1 * day, cfg.wells , cfg.grp_nwrk, {}); + writer.eval( st, 1, 1 * day, cfg.wells , cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 1); - writer.eval( st, 2, 2 * day, cfg.wells , cfg.grp_nwrk, {}); + writer.eval( st, 2, 2 * day, cfg.wells , cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 2); writer.write(); @@ -1596,19 +1597,19 @@ BOOST_AUTO_TEST_CASE(EXTRA) { { out::Summary writer( cfg.es, cfg.config, cfg.grid, cfg.schedule , cfg.name ); SummaryState st(std::chrono::system_clock::now()); - writer.eval( st, 0, 0 * day, cfg.wells , cfg.grp_nwrk, { {"TCPU" , 0 }}); + writer.eval( st, 0, 0 * day, cfg.wells , cfg.grp_nwrk, { {"TCPU" , 0 }}, {}); writer.add_timestep( st, 0); - writer.eval( st, 1, 1 * day, cfg.wells , cfg.grp_nwrk, { {"TCPU" , 1 }}); + writer.eval( st, 1, 1 * day, cfg.wells , cfg.grp_nwrk, { {"TCPU" , 1 }}, {}); writer.add_timestep( st, 1); - writer.eval( st, 2, 2 * day, cfg.wells , cfg.grp_nwrk, { {"TCPU" , 2}}); + writer.eval( st, 2, 2 * day, cfg.wells , cfg.grp_nwrk, { {"TCPU" , 2}}, {}); writer.add_timestep( st, 2); /* Add a not-recognized key; that is OK */ - BOOST_CHECK_NO_THROW( writer.eval( st, 3, 3 * day, cfg.wells , cfg.grp_nwrk, { {"MISSING" , 2 }})); + BOOST_CHECK_NO_THROW( writer.eval( st, 3, 3 * day, cfg.wells , cfg.grp_nwrk, { {"MISSING" , 2 }}, {})); BOOST_CHECK_NO_THROW( writer.add_timestep( st, 3)); /* Override a NOT MISC variable - ignored. */ - writer.eval( st, 4, 4 * day, cfg.wells, cfg.grp_nwrk, {}); + writer.eval( st, 4, 4 * day, cfg.wells, cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 4); writer.write(); } @@ -1727,11 +1728,11 @@ BOOST_AUTO_TEST_CASE(efficiency_factor) { out::Summary writer( cfg.es, cfg.config, cfg.grid, cfg.schedule, cfg.name ); SummaryState st(std::chrono::system_clock::now()); - writer.eval( st, 0, 0 * day, cfg.wells, cfg.grp_nwrk, {}); + writer.eval( st, 0, 0 * day, cfg.wells, cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 0); - writer.eval( st, 1, 1 * day, cfg.wells, cfg.grp_nwrk, {}); + writer.eval( st, 1, 1 * day, cfg.wells, cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 1); - writer.eval( st, 2, 2 * day, cfg.wells, cfg.grp_nwrk, {}); + writer.eval( st, 2, 2 * day, cfg.wells, cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 2); writer.write(); auto res = readsum( cfg.name ); @@ -1968,11 +1969,11 @@ namespace { }; SummaryState st(std::chrono::system_clock::now()); - smry.eval(st, 0, 0*day, config.wells, config.grp_nwrk, {}); + smry.eval(st, 0, 0*day, config.wells, config.grp_nwrk, {}, {}); smry.add_timestep(st, 0); - smry.eval(st, 1, 1*day, config.wells, config.grp_nwrk, {}); + smry.eval(st, 1, 1*day, config.wells, config.grp_nwrk, {}, {}); smry.add_timestep(st, 1); - smry.eval(st, 2, 2*day, config.wells, config.grp_nwrk, {}); + smry.eval(st, 2, 2*day, config.wells, config.grp_nwrk, {}, {}); smry.add_timestep(st, 2); return st; @@ -2968,11 +2969,11 @@ BOOST_AUTO_TEST_CASE(Write_Read) }; SummaryState st(std::chrono::system_clock::now()); - writer.eval(st, 0, 0*day, config.wells, config.grp_nwrk, {}); + writer.eval(st, 0, 0*day, config.wells, config.grp_nwrk, {}, {}); writer.add_timestep(st, 0); - writer.eval(st, 1, 1*day, config.wells, config.grp_nwrk, {}); + writer.eval(st, 1, 1*day, config.wells, config.grp_nwrk, {}, {}); writer.add_timestep(st, 1); - writer.eval(st, 2, 2*day, config.wells, config.grp_nwrk, {}); + writer.eval(st, 2, 2*day, config.wells, config.grp_nwrk, {}, {}); writer.add_timestep(st, 2); writer.write(); diff --git a/tests/test_Summary_Group.cpp b/tests/test_Summary_Group.cpp index 61f7604a3..c208da599 100644 --- a/tests/test_Summary_Group.cpp +++ b/tests/test_Summary_Group.cpp @@ -38,6 +38,7 @@ #include #include #include +#include #include #include @@ -258,10 +259,10 @@ BOOST_AUTO_TEST_CASE(group_keywords) { SummaryState st(std::chrono::system_clock::now()); out::Summary writer( cfg.es, cfg.config, cfg.grid, cfg.schedule , cfg.name ); - writer.eval(st, 0, 0*day, cfg.wells, cfg.grp_nwrk, {}); + writer.eval(st, 0, 0*day, cfg.wells, cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 0); - writer.eval(st, 1, 1*day, cfg.wells, cfg.grp_nwrk, {}); + writer.eval(st, 1, 1*day, cfg.wells, cfg.grp_nwrk, {}, {}); writer.add_timestep( st, 1); writer.write();