Init GuideRateModel from restart file
This commit is contained in:
parent
5a91c73b8e
commit
f6077809c7
@ -54,6 +54,16 @@ public:
|
||||
bool use_free_gas_arg);
|
||||
GuideRateModel() = default;
|
||||
|
||||
static bool rst_valid(double time_interval,
|
||||
double A,
|
||||
double B,
|
||||
double C,
|
||||
double D,
|
||||
double E,
|
||||
double F,
|
||||
double damping_factor);
|
||||
|
||||
|
||||
static GuideRateModel serializeObject();
|
||||
|
||||
bool updateLINCOM(const UDAValue& alpha, const UDAValue& beta, const UDAValue& gamma);
|
||||
|
@ -90,6 +90,29 @@ GuideRateModel GuideRateModel::serializeObject()
|
||||
return result;
|
||||
}
|
||||
|
||||
bool GuideRateModel::rst_valid(double time_interval,
|
||||
double A,
|
||||
double B,
|
||||
double C,
|
||||
double D,
|
||||
double E,
|
||||
double F,
|
||||
double damping_factor) {
|
||||
if (time_interval == 0 &&
|
||||
A == 0 &&
|
||||
B == 0 &&
|
||||
C == 0 &&
|
||||
D == 0 &&
|
||||
E == 0 &&
|
||||
F == 0 &&
|
||||
damping_factor == 0)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
double GuideRateModel::pot(double oil_pot, double gas_pot, double wat_pot) const {
|
||||
return pot(this->target(), oil_pot, gas_pot, wat_pot);
|
||||
}
|
||||
|
@ -1696,6 +1696,35 @@ namespace {
|
||||
|
||||
m_tuning.update(report_step, rst_state.tuning);
|
||||
m_events.addEvent( ScheduleEvents::TUNING_CHANGE , report_step);
|
||||
|
||||
{
|
||||
const auto& header = rst_state.header;
|
||||
bool time_interval = 0;
|
||||
GuideRateModel::Target target = GuideRateModel::Target::OIL;
|
||||
bool allow_increase = true;
|
||||
bool use_free_gas = false;
|
||||
if (GuideRateModel::rst_valid(time_interval,
|
||||
header.guide_rate_a,
|
||||
header.guide_rate_b,
|
||||
header.guide_rate_c,
|
||||
header.guide_rate_d,
|
||||
header.guide_rate_e,
|
||||
header.guide_rate_f,
|
||||
header.guide_rate_damping)) {
|
||||
auto guide_rate_model = GuideRateModel(time_interval,
|
||||
target,
|
||||
header.guide_rate_a,
|
||||
header.guide_rate_b,
|
||||
header.guide_rate_c,
|
||||
header.guide_rate_d,
|
||||
header.guide_rate_e,
|
||||
header.guide_rate_f,
|
||||
allow_increase,
|
||||
header.guide_rate_damping,
|
||||
use_free_gas);
|
||||
this->updateGuideRateModel(guide_rate_model, report_step);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
std::shared_ptr<const Python> Schedule::python() const
|
||||
|
Loading…
Reference in New Issue
Block a user