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,
|
io.summary().eval(st,
|
||||||
report_step,
|
report_step,
|
||||||
seconds_elapsed,
|
seconds_elapsed,
|
||||||
this->state,
|
|
||||||
schedule,
|
|
||||||
well_data,
|
well_data,
|
||||||
group_nwrk_data,
|
group_nwrk_data,
|
||||||
{});
|
{});
|
||||||
|
@ -63,8 +63,6 @@ public:
|
|||||||
void eval(SummaryState& summary_state,
|
void eval(SummaryState& summary_state,
|
||||||
const int report_step,
|
const int report_step,
|
||||||
const double secs_elapsed,
|
const double secs_elapsed,
|
||||||
const EclipseState& es,
|
|
||||||
const Schedule& schedule,
|
|
||||||
const data::WellRates& well_solution,
|
const data::WellRates& well_solution,
|
||||||
const data::GroupAndNetworkValues& group_and_nwrk_solution,
|
const data::GroupAndNetworkValues& group_and_nwrk_solution,
|
||||||
GlobalProcessParameters single_values,
|
GlobalProcessParameters single_values,
|
||||||
|
@ -2630,6 +2630,27 @@ makeResultSet(const Opm::IOConfig& iocfg, const std::string& basenm)
|
|||||||
return { iocfg.getOutputDir(), base };
|
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
|
} // Anonymous namespace
|
||||||
|
|
||||||
class Opm::out::Summary::SummaryImplementation
|
class Opm::out::Summary::SummaryImplementation
|
||||||
@ -2646,13 +2667,11 @@ public:
|
|||||||
SummaryImplementation& operator=(const SummaryImplementation& rhs) = delete;
|
SummaryImplementation& operator=(const SummaryImplementation& rhs) = delete;
|
||||||
SummaryImplementation& operator=(SummaryImplementation&& rhs) = default;
|
SummaryImplementation& operator=(SummaryImplementation&& rhs) = default;
|
||||||
|
|
||||||
void eval(const EclipseState& es,
|
void eval(const int sim_step,
|
||||||
const Schedule& sched,
|
const double secs_elapsed,
|
||||||
const int sim_step,
|
|
||||||
const double duration,
|
|
||||||
const data::WellRates& well_solution,
|
const data::WellRates& well_solution,
|
||||||
const data::GroupAndNetworkValues& grp_nwrk_solution,
|
const data::GroupAndNetworkValues& grp_nwrk_solution,
|
||||||
const GlobalProcessParameters& single_values,
|
GlobalProcessParameters& single_values,
|
||||||
const RegionParameters& region_values,
|
const RegionParameters& region_values,
|
||||||
const BlockValues& block_values,
|
const BlockValues& block_values,
|
||||||
const data::Aquifers& aquifer_values,
|
const data::Aquifers& aquifer_values,
|
||||||
@ -2672,6 +2691,8 @@ private:
|
|||||||
using EvalPtr = SummaryOutputParameters::EvalPtr;
|
using EvalPtr = SummaryOutputParameters::EvalPtr;
|
||||||
|
|
||||||
std::reference_wrapper<const Opm::EclipseGrid> grid_;
|
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_;
|
Opm::out::RegionCache regCache_;
|
||||||
|
|
||||||
std::unique_ptr<SMSpecStreamDeferredCreation> deferredSMSpec_;
|
std::unique_ptr<SMSpecStreamDeferredCreation> deferredSMSpec_;
|
||||||
@ -2721,6 +2742,8 @@ SummaryImplementation(const EclipseState& es,
|
|||||||
const Schedule& sched,
|
const Schedule& sched,
|
||||||
const std::string& basename)
|
const std::string& basename)
|
||||||
: grid_ (std::cref(grid))
|
: grid_ (std::cref(grid))
|
||||||
|
, es_ (std::cref(es))
|
||||||
|
, sched_ (std::cref(sched))
|
||||||
, regCache_ (sumcfg.fip_regions(), es.globalFieldProps(), grid, sched)
|
, regCache_ (sumcfg.fip_regions(), es.globalFieldProps(), grid, sched)
|
||||||
, deferredSMSpec_(makeDeferredSMSpecCreation(es, grid, sched))
|
, deferredSMSpec_(makeDeferredSMSpecCreation(es, grid, sched))
|
||||||
, rset_ (makeResultSet(es.cfg().io(), basename))
|
, rset_ (makeResultSet(es.cfg().io(), basename))
|
||||||
@ -2752,20 +2775,24 @@ internal_store(const SummaryState& st, const int report_step)
|
|||||||
|
|
||||||
void
|
void
|
||||||
Opm::out::Summary::SummaryImplementation::
|
Opm::out::Summary::SummaryImplementation::
|
||||||
eval(const EclipseState& es,
|
eval(const int sim_step,
|
||||||
const Schedule& sched,
|
const double secs_elapsed,
|
||||||
const int sim_step,
|
|
||||||
const double duration,
|
|
||||||
const data::WellRates& well_solution,
|
const data::WellRates& well_solution,
|
||||||
const data::GroupAndNetworkValues& grp_nwrk_solution,
|
const data::GroupAndNetworkValues& grp_nwrk_solution,
|
||||||
const GlobalProcessParameters& single_values,
|
GlobalProcessParameters& single_values,
|
||||||
const RegionParameters& region_values,
|
const RegionParameters& region_values,
|
||||||
const BlockValues& block_values,
|
const BlockValues& block_values,
|
||||||
const data::Aquifers& aquifer_values,
|
const data::Aquifers& aquifer_values,
|
||||||
Opm::SummaryState& st) const
|
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 {
|
const Evaluator::InputData input {
|
||||||
es, sched, this->grid_, this->regCache_
|
this->es_, this->sched_, this->grid_, this->regCache_
|
||||||
};
|
};
|
||||||
|
|
||||||
const Evaluator::SimulatorResults simRes {
|
const Evaluator::SimulatorResults simRes {
|
||||||
@ -2780,6 +2807,8 @@ eval(const EclipseState& es,
|
|||||||
(void)_;
|
(void)_;
|
||||||
evalPtr->update(sim_step, duration, input, simRes, st);
|
evalPtr->update(sim_step, duration, input, simRes, st);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
st.update_elapsed(duration);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Opm::out::Summary::SummaryImplementation::write()
|
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 {
|
namespace Opm { namespace out {
|
||||||
|
|
||||||
@ -3168,8 +3174,6 @@ Summary::Summary(const EclipseState& es,
|
|||||||
void Summary::eval(SummaryState& st,
|
void Summary::eval(SummaryState& st,
|
||||||
const int report_step,
|
const int report_step,
|
||||||
const double secs_elapsed,
|
const double secs_elapsed,
|
||||||
const EclipseState& es,
|
|
||||||
const Schedule& schedule,
|
|
||||||
const data::WellRates& well_solution,
|
const data::WellRates& well_solution,
|
||||||
const data::GroupAndNetworkValues& grp_nwrk_solution,
|
const data::GroupAndNetworkValues& grp_nwrk_solution,
|
||||||
GlobalProcessParameters single_values,
|
GlobalProcessParameters single_values,
|
||||||
@ -3177,12 +3181,6 @@ void Summary::eval(SummaryState& st,
|
|||||||
const BlockValues& block_values,
|
const BlockValues& block_values,
|
||||||
const Opm::data::Aquifers& aquifer_values) const
|
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 is the one-based sequence number of the containing report.
|
||||||
* Report_step = 0 for the initial condition, before simulation starts.
|
* 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. */
|
* wells, groups, connections &c in the Schedule object. */
|
||||||
const auto sim_step = std::max( 0, report_step - 1 );
|
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,
|
well_solution, grp_nwrk_solution, single_values,
|
||||||
region_values, block_values, aquifer_values, st);
|
region_values, block_values, aquifer_values, st);
|
||||||
|
|
||||||
st.update_elapsed(duration);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Summary::add_timestep(const SummaryState& st, const int report_step)
|
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());
|
SummaryState st(std::chrono::system_clock::now());
|
||||||
|
|
||||||
out::Summary writer( cfg.es, cfg.config, cfg.grid, cfg.schedule , cfg.name );
|
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.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.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.add_timestep( st, 2);
|
||||||
writer.write();
|
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 );
|
out::Summary writer( cfg.es, cfg.config, cfg.grid, cfg.schedule , cfg.name );
|
||||||
SummaryState st(std::chrono::system_clock::now());
|
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.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.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.add_timestep( st, 2);
|
||||||
writer.write();
|
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 );
|
out::Summary writer( cfg.es, cfg.config, cfg.grid, cfg.schedule, cfg.name );
|
||||||
SummaryState st(std::chrono::system_clock::now());
|
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.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.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.add_timestep( st, 2);
|
||||||
|
|
||||||
writer.write();
|
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 );
|
out::Summary writer( cfg.es, cfg.config, cfg.grid, cfg.schedule, cfg.name );
|
||||||
SummaryState st(std::chrono::system_clock::now());
|
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.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.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.add_timestep( st, 2);
|
||||||
writer.write();
|
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 );
|
out::Summary writer( cfg.es, cfg.config, cfg.grid, cfg.schedule, cfg.name );
|
||||||
SummaryState st(std::chrono::system_clock::now());
|
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.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.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.add_timestep( st, 2);
|
||||||
writer.write();
|
writer.write();
|
||||||
|
|
||||||
@ -1004,13 +1004,13 @@ BOOST_AUTO_TEST_CASE(DATE) {
|
|||||||
|
|
||||||
out::Summary writer( cfg.es, cfg.config, cfg.grid, cfg.schedule, cfg.name );
|
out::Summary writer( cfg.es, cfg.config, cfg.grid, cfg.schedule, cfg.name );
|
||||||
SummaryState st(std::chrono::system_clock::now());
|
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.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.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.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.add_timestep( st, 4);
|
||||||
writer.write();
|
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 );
|
out::Summary writer( cfg.es, cfg.config, cfg.grid, cfg.schedule, cfg.name );
|
||||||
SummaryState st(std::chrono::system_clock::now());
|
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.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.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.add_timestep( st, 2);
|
||||||
writer.write();
|
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 );
|
out::Summary writer( cfg.es, cfg.config, cfg.grid, cfg.schedule, cfg.name );
|
||||||
SummaryState st(std::chrono::system_clock::now());
|
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.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.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.add_timestep( st, 2);
|
||||||
writer.write();
|
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 );
|
out::Summary writer( cfg.es, cfg.config, cfg.grid, cfg.schedule, cfg.name );
|
||||||
SummaryState st(std::chrono::system_clock::now());
|
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.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.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.add_timestep( st, 2);
|
||||||
writer.write();
|
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 );
|
out::Summary writer( cfg.es, cfg.config, cfg.grid, cfg.schedule, cfg.name );
|
||||||
SummaryState st(std::chrono::system_clock::now());
|
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.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.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.add_timestep( st, 2);
|
||||||
writer.write();
|
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 );
|
out::Summary writer( cfg.es, cfg.config, cfg.grid, cfg.schedule, cfg.name );
|
||||||
SummaryState st(std::chrono::system_clock::now());
|
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.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.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.add_timestep( st, 2);
|
||||||
writer.write();
|
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 );
|
out::Summary writer( cfg.es, cfg.config, cfg.grid, cfg.schedule, cfg.name );
|
||||||
SummaryState st(std::chrono::system_clock::now());
|
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.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.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.add_timestep( st, 2);
|
||||||
writer.write();
|
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 );
|
out::Summary writer( cfg.es, cfg.config, cfg.grid, cfg.schedule, cfg.name );
|
||||||
SummaryState st(std::chrono::system_clock::now());
|
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.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.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.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.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.add_timestep( st, 4);
|
||||||
writer.write();
|
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 );
|
out::Summary writer( cfg.es, cfg.config, cfg.grid, cfg.schedule, cfg.name );
|
||||||
SummaryState st(std::chrono::system_clock::now());
|
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.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.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.add_timestep( st, 2);
|
||||||
|
|
||||||
writer.write();
|
writer.write();
|
||||||
@ -1576,11 +1576,11 @@ BOOST_AUTO_TEST_CASE(MISC) {
|
|||||||
|
|
||||||
out::Summary writer( cfg.es, cfg.config, cfg.grid, cfg.schedule , cfg.name );
|
out::Summary writer( cfg.es, cfg.config, cfg.grid, cfg.schedule , cfg.name );
|
||||||
SummaryState st(std::chrono::system_clock::now());
|
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.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.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.add_timestep( st, 2);
|
||||||
writer.write();
|
writer.write();
|
||||||
|
|
||||||
@ -1596,19 +1596,19 @@ BOOST_AUTO_TEST_CASE(EXTRA) {
|
|||||||
{
|
{
|
||||||
out::Summary writer( cfg.es, cfg.config, cfg.grid, cfg.schedule , cfg.name );
|
out::Summary writer( cfg.es, cfg.config, cfg.grid, cfg.schedule , cfg.name );
|
||||||
SummaryState st(std::chrono::system_clock::now());
|
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.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.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);
|
writer.add_timestep( st, 2);
|
||||||
|
|
||||||
/* Add a not-recognized key; that is OK */
|
/* 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));
|
BOOST_CHECK_NO_THROW( writer.add_timestep( st, 3));
|
||||||
|
|
||||||
/* Override a NOT MISC variable - ignored. */
|
/* 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.add_timestep( st, 4);
|
||||||
writer.write();
|
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 );
|
out::Summary writer( cfg.es, cfg.config, cfg.grid, cfg.schedule, cfg.name );
|
||||||
SummaryState st(std::chrono::system_clock::now());
|
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.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.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.add_timestep( st, 2);
|
||||||
writer.write();
|
writer.write();
|
||||||
auto res = readsum( cfg.name );
|
auto res = readsum( cfg.name );
|
||||||
@ -1968,11 +1968,11 @@ namespace {
|
|||||||
};
|
};
|
||||||
|
|
||||||
SummaryState st(std::chrono::system_clock::now());
|
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.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.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);
|
smry.add_timestep(st, 2);
|
||||||
|
|
||||||
return st;
|
return st;
|
||||||
@ -2968,11 +2968,11 @@ BOOST_AUTO_TEST_CASE(Write_Read)
|
|||||||
};
|
};
|
||||||
|
|
||||||
SummaryState st(std::chrono::system_clock::now());
|
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.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.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.add_timestep(st, 2);
|
||||||
writer.write();
|
writer.write();
|
||||||
|
|
||||||
|
@ -258,10 +258,10 @@ BOOST_AUTO_TEST_CASE(group_keywords) {
|
|||||||
SummaryState st(std::chrono::system_clock::now());
|
SummaryState st(std::chrono::system_clock::now());
|
||||||
|
|
||||||
out::Summary writer( cfg.es, cfg.config, cfg.grid, cfg.schedule , cfg.name );
|
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.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.add_timestep( st, 1);
|
||||||
|
|
||||||
writer.write();
|
writer.write();
|
||||||
|
Loading…
Reference in New Issue
Block a user