mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Use well index for segment rates
This commit is contained in:
@@ -965,7 +965,6 @@ void WellState::initWellStateMSWell(const std::vector<Well>& wells_ecl,
|
||||
continue;
|
||||
}
|
||||
|
||||
const int old_top_segment_index = prev_well_state->topSegmentIndex(old_index_well);
|
||||
const int new_top_segment_index = topSegmentIndex(new_index_well);
|
||||
int number_of_segment = 0;
|
||||
// if it is the last well in list
|
||||
@@ -975,10 +974,10 @@ void WellState::initWellStateMSWell(const std::vector<Well>& wells_ecl,
|
||||
number_of_segment = topSegmentIndex(new_index_well + 1) - new_top_segment_index;
|
||||
}
|
||||
|
||||
auto * segment_rates = &this->seg_rates_[new_top_segment_index*np];
|
||||
auto segment_rates = this->segRates(w);
|
||||
auto segment_pressure = this->segPress(w);
|
||||
|
||||
const auto * prev_segment_rates = &prev_well_state->segRates()[old_top_segment_index*np];
|
||||
const auto prev_segment_rates = prev_well_state->segRates(old_index_well);
|
||||
const auto prev_segment_pressure = prev_well_state->segPress(old_index_well);
|
||||
|
||||
for (int seg=0; seg < number_of_segment; ++seg) {
|
||||
@@ -1152,13 +1151,8 @@ WellState::reportSegmentResults(const PhaseUsage& pu,
|
||||
const int seg_no) const
|
||||
{
|
||||
auto seg_res = data::Segment{};
|
||||
|
||||
const auto seg_dof =
|
||||
this->topSegmentIndex(well_id) + seg_ix;
|
||||
|
||||
const auto* rate =
|
||||
&this->segRates()[seg_dof * this->numPhases()];
|
||||
|
||||
{
|
||||
using Value = data::SegmentPressures::Value;
|
||||
auto& segpress = seg_res.pressures;
|
||||
@@ -1169,6 +1163,8 @@ WellState::reportSegmentResults(const PhaseUsage& pu,
|
||||
segpress[Value::PDropAccel] = this->segPressDropAcceleration()[seg_dof];
|
||||
}
|
||||
|
||||
const auto segment_rates = this->segRates(well_id);
|
||||
const auto rate = &segment_rates[seg_ix * this->numPhases()];
|
||||
if (pu.phase_used[Water]) {
|
||||
seg_res.rates.set(data::Rates::opt::wat,
|
||||
rate[pu.phase_pos[Water]]);
|
||||
|
||||
Reference in New Issue
Block a user