Merge pull request #2120 from joakim-hove/summary-store-ref
Store references to EclipseState and Schedule in Summary class
This commit is contained in:
commit
5338a1dd13
@ -115,8 +115,6 @@ void msim::run_step(const Schedule& schedule, Action::State& action_state, Summa
|
||||
io.summary().eval(st,
|
||||
report_step,
|
||||
seconds_elapsed,
|
||||
this->state,
|
||||
schedule,
|
||||
well_data,
|
||||
group_nwrk_data,
|
||||
{});
|
||||
|
@ -63,8 +63,6 @@ public:
|
||||
void eval(SummaryState& summary_state,
|
||||
const int report_step,
|
||||
const double secs_elapsed,
|
||||
const EclipseState& es,
|
||||
const Schedule& schedule,
|
||||
const data::WellRates& well_solution,
|
||||
const data::GroupAndNetworkValues& group_and_nwrk_solution,
|
||||
GlobalProcessParameters single_values,
|
||||
|
@ -2630,6 +2630,27 @@ makeResultSet(const Opm::IOConfig& iocfg, const std::string& basenm)
|
||||
return { iocfg.getOutputDir(), base };
|
||||
}
|
||||
|
||||
void validateElapsedTime(const double secs_elapsed,
|
||||
const Opm::EclipseState& es,
|
||||
const Opm::SummaryState& st)
|
||||
{
|
||||
if (! (secs_elapsed < st.get_elapsed()))
|
||||
return;
|
||||
|
||||
const auto& usys = es.getUnits();
|
||||
const auto elapsed = usys.from_si(measure::time, secs_elapsed);
|
||||
const auto prev_el = usys.from_si(measure::time, st.get_elapsed());
|
||||
const auto unt = '[' + std::string{ usys.name(measure::time) } + ']';
|
||||
|
||||
throw std::invalid_argument {
|
||||
"Elapsed time ("
|
||||
+ std::to_string(elapsed) + ' ' + unt
|
||||
+ ") must not precede previous elapsed time ("
|
||||
+ std::to_string(prev_el) + ' ' + unt
|
||||
+ "). Incorrect restart time?"
|
||||
};
|
||||
}
|
||||
|
||||
} // Anonymous namespace
|
||||
|
||||
class Opm::out::Summary::SummaryImplementation
|
||||
@ -2646,13 +2667,11 @@ public:
|
||||
SummaryImplementation& operator=(const SummaryImplementation& rhs) = delete;
|
||||
SummaryImplementation& operator=(SummaryImplementation&& rhs) = default;
|
||||
|
||||
void eval(const EclipseState& es,
|
||||
const Schedule& sched,
|
||||
const int sim_step,
|
||||
const double duration,
|
||||
void eval(const int sim_step,
|
||||
const double secs_elapsed,
|
||||
const data::WellRates& well_solution,
|
||||
const data::GroupAndNetworkValues& grp_nwrk_solution,
|
||||
const GlobalProcessParameters& single_values,
|
||||
GlobalProcessParameters& single_values,
|
||||
const RegionParameters& region_values,
|
||||
const BlockValues& block_values,
|
||||
const data::Aquifers& aquifer_values,
|
||||
@ -2672,6 +2691,8 @@ private:
|
||||
using EvalPtr = SummaryOutputParameters::EvalPtr;
|
||||
|
||||
std::reference_wrapper<const Opm::EclipseGrid> grid_;
|
||||
std::reference_wrapper<const Opm::EclipseState> es_;
|
||||
std::reference_wrapper<const Opm::Schedule> sched_;
|
||||
Opm::out::RegionCache regCache_;
|
||||
|
||||
std::unique_ptr<SMSpecStreamDeferredCreation> deferredSMSpec_;
|
||||
@ -2721,6 +2742,8 @@ SummaryImplementation(const EclipseState& es,
|
||||
const Schedule& sched,
|
||||
const std::string& basename)
|
||||
: grid_ (std::cref(grid))
|
||||
, es_ (std::cref(es))
|
||||
, sched_ (std::cref(sched))
|
||||
, regCache_ (sumcfg.fip_regions(), es.globalFieldProps(), grid, sched)
|
||||
, deferredSMSpec_(makeDeferredSMSpecCreation(es, grid, sched))
|
||||
, rset_ (makeResultSet(es.cfg().io(), basename))
|
||||
@ -2752,20 +2775,24 @@ internal_store(const SummaryState& st, const int report_step)
|
||||
|
||||
void
|
||||
Opm::out::Summary::SummaryImplementation::
|
||||
eval(const EclipseState& es,
|
||||
const Schedule& sched,
|
||||
const int sim_step,
|
||||
const double duration,
|
||||
eval(const int sim_step,
|
||||
const double secs_elapsed,
|
||||
const data::WellRates& well_solution,
|
||||
const data::GroupAndNetworkValues& grp_nwrk_solution,
|
||||
const GlobalProcessParameters& single_values,
|
||||
GlobalProcessParameters& single_values,
|
||||
const RegionParameters& region_values,
|
||||
const BlockValues& block_values,
|
||||
const data::Aquifers& aquifer_values,
|
||||
Opm::SummaryState& st) const
|
||||
{
|
||||
validateElapsedTime(secs_elapsed, this->es_, st);
|
||||
|
||||
const double duration = secs_elapsed - st.get_elapsed();
|
||||
single_values["TIMESTEP"] = duration;
|
||||
st.update("TIMESTEP", this->es_.get().getUnits().from_si(Opm::UnitSystem::measure::time, duration));
|
||||
|
||||
const Evaluator::InputData input {
|
||||
es, sched, this->grid_, this->regCache_
|
||||
this->es_, this->sched_, this->grid_, this->regCache_
|
||||
};
|
||||
|
||||
const Evaluator::SimulatorResults simRes {
|
||||
@ -2780,6 +2807,8 @@ eval(const EclipseState& es,
|
||||
(void)_;
|
||||
evalPtr->update(sim_step, duration, input, simRes, st);
|
||||
}
|
||||
|
||||
st.update_elapsed(duration);
|
||||
}
|
||||
|
||||
void Opm::out::Summary::SummaryImplementation::write()
|
||||
@ -3130,30 +3159,7 @@ createSmryStreamIfNecessary(const int report_step)
|
||||
}
|
||||
}
|
||||
|
||||
namespace {
|
||||
|
||||
void validateElapsedTime(const double secs_elapsed,
|
||||
const Opm::EclipseState& es,
|
||||
const Opm::SummaryState& st)
|
||||
{
|
||||
if (! (secs_elapsed < st.get_elapsed()))
|
||||
return;
|
||||
|
||||
const auto& usys = es.getUnits();
|
||||
const auto elapsed = usys.from_si(measure::time, secs_elapsed);
|
||||
const auto prev_el = usys.from_si(measure::time, st.get_elapsed());
|
||||
const auto unt = '[' + std::string{ usys.name(measure::time) } + ']';
|
||||
|
||||
throw std::invalid_argument {
|
||||
"Elapsed time ("
|
||||
+ std::to_string(elapsed) + ' ' + unt
|
||||
+ ") must not precede previous elapsed time ("
|
||||
+ std::to_string(prev_el) + ' ' + unt
|
||||
+ "). Incorrect restart time?"
|
||||
};
|
||||
}
|
||||
|
||||
} // Anonymous namespace
|
||||
|
||||
namespace Opm { namespace out {
|
||||
|
||||
@ -3168,8 +3174,6 @@ Summary::Summary(const EclipseState& es,
|
||||
void Summary::eval(SummaryState& st,
|
||||
const int report_step,
|
||||
const double secs_elapsed,
|
||||
const EclipseState& es,
|
||||
const Schedule& schedule,
|
||||
const data::WellRates& well_solution,
|
||||
const data::GroupAndNetworkValues& grp_nwrk_solution,
|
||||
GlobalProcessParameters single_values,
|
||||
@ -3177,12 +3181,6 @@ void Summary::eval(SummaryState& st,
|
||||
const BlockValues& block_values,
|
||||
const Opm::data::Aquifers& aquifer_values) const
|
||||
{
|
||||
validateElapsedTime(secs_elapsed, es, st);
|
||||
|
||||
const double duration = secs_elapsed - st.get_elapsed();
|
||||
single_values["TIMESTEP"] = duration;
|
||||
st.update("TIMESTEP", es.getUnits().from_si(Opm::UnitSystem::measure::time, duration));
|
||||
|
||||
|
||||
/* Report_step is the one-based sequence number of the containing report.
|
||||
* Report_step = 0 for the initial condition, before simulation starts.
|
||||
@ -3195,11 +3193,9 @@ void Summary::eval(SummaryState& st,
|
||||
* wells, groups, connections &c in the Schedule object. */
|
||||
const auto sim_step = std::max( 0, report_step - 1 );
|
||||
|
||||
this->pImpl_->eval(es, schedule, sim_step, duration,
|
||||
this->pImpl_->eval(sim_step, secs_elapsed,
|
||||
well_solution, grp_nwrk_solution, single_values,
|
||||
region_values, block_values, aquifer_values, st);
|
||||
|
||||
st.update_elapsed(duration);
|
||||
}
|
||||
|
||||
void Summary::add_timestep(const SummaryState& st, const int report_step)
|
||||
|
@ -467,13 +467,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.es, cfg.schedule, 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.es, cfg.schedule, 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.es, cfg.schedule, 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 +692,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.es, cfg.schedule, 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.es, cfg.schedule, 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.es, cfg.schedule, 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 +717,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.es, cfg.schedule, 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.es, cfg.schedule, 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.es, cfg.schedule, 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 +874,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.es, cfg.schedule, 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.es, cfg.schedule, 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.es, cfg.schedule, 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 +930,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.es, cfg.schedule, 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.es, cfg.schedule, 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.es, cfg.schedule, 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 +1004,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.es, cfg.schedule, 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.es, cfg.schedule, 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.es, cfg.schedule, 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.es, cfg.schedule, 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 +1041,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.es, cfg.schedule, 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.es, cfg.schedule, 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.es, cfg.schedule, 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 +1178,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.es, cfg.schedule, 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.es, cfg.schedule, 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.es, cfg.schedule, 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 +1205,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.es, cfg.schedule, 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.es, cfg.schedule, 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.es, cfg.schedule, 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 +1316,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.es, cfg.schedule, 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.es, cfg.schedule, 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.es, cfg.schedule, 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 +1367,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.es, cfg.schedule, 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.es, cfg.schedule, 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.es, cfg.schedule, 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 +1399,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.es, cfg.schedule, 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.es, cfg.schedule, 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.es, cfg.schedule, 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 +1457,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.es, cfg.schedule, 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.es, cfg.schedule, 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.es, cfg.schedule, 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.es, cfg.schedule, 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.es, cfg.schedule, 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 +1518,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.es, cfg.schedule, 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.es, cfg.schedule, 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.es, cfg.schedule, 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 +1576,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.es, cfg.schedule, 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.es, cfg.schedule, 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.es, cfg.schedule, 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 +1596,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.es, cfg.schedule, 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.es, cfg.schedule, 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.es, cfg.schedule, 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.es, cfg.schedule, 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.es, cfg.schedule, 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 +1727,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.es, cfg.schedule, 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.es, cfg.schedule, 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.es, cfg.schedule, 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 +1968,11 @@ namespace {
|
||||
};
|
||||
|
||||
SummaryState st(std::chrono::system_clock::now());
|
||||
smry.eval(st, 0, 0*day, config.es, config.schedule, 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.es, config.schedule, 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.es, config.schedule, 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 +2968,11 @@ BOOST_AUTO_TEST_CASE(Write_Read)
|
||||
};
|
||||
|
||||
SummaryState st(std::chrono::system_clock::now());
|
||||
writer.eval(st, 0, 0*day, config.es, config.schedule, 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.es, config.schedule, 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.es, config.schedule, config.wells, config.grp_nwrk, {});
|
||||
writer.eval(st, 2, 2*day, config.wells, config.grp_nwrk, {});
|
||||
writer.add_timestep(st, 2);
|
||||
writer.write();
|
||||
|
||||
|
@ -258,10 +258,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.es, cfg.schedule, 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.es, cfg.schedule, cfg.wells, cfg.grp_nwrk, {});
|
||||
writer.eval(st, 1, 1*day, cfg.wells, cfg.grp_nwrk, {});
|
||||
writer.add_timestep( st, 1);
|
||||
|
||||
writer.write();
|
||||
|
Loading…
Reference in New Issue
Block a user