Add default producer BHP control when not given in deck.

Default limit is 1 atm.
This commit is contained in:
Atgeirr Flø Rasmussen 2015-02-04 10:30:15 +01:00
parent 9cb9ec50b1
commit fb983a44b1
2 changed files with 8 additions and 3 deletions

View File

@ -601,10 +601,14 @@ namespace Opm
w_);
}
if (ok && productionProperties.hasProductionControl(WellProducer::BHP)) {
if (ok) {
// Always append a BHP control.
// If no explicit BHP control given, use a 1 atm control.
const bool has_explicit_limit = productionProperties.hasProductionControl(WellProducer::BHP);
const double bhp_limit = has_explicit_limit ? productionProperties.BHPLimit : unit::convert::from(1.0, unit::atm);
control_pos[WellsManagerDetail::ProductionControl::BHP] = well_controls_get_num(w_->ctrls[well_index]);
ok = append_well_controls(BHP,
productionProperties.BHPLimit ,
bhp_limit,
NULL,
well_index,
w_);

View File

@ -176,7 +176,8 @@ void check_controls_epoch1( struct WellControls ** ctrls) {
void check_controls_epoch3( struct WellControls ** ctrls) {
// The new producer
const struct WellControls * ctrls1 = ctrls[1];
BOOST_CHECK_EQUAL( 5 , well_controls_get_num(ctrls1));
// Note: controls include default (1 atm) BHP control.
BOOST_CHECK_EQUAL( 6 , well_controls_get_num(ctrls1));
}