mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
effectiveExtent: Fix out-of-bounds indexing
Commit 96cf137 introduced support for Peaceman index calculation that honoured general completion directions (X,Y,Z). This was accomplished through a permutation index that reordered the permeability and geometric extent components according to a local coordinate system along the completion. In a complete breakdown of logic, however, the d-component extent vector was indexed as though it were a d-by-d matrix. This commit restores sanity to the processing. Pointy hat: @bska.
This commit is contained in:
parent
402044a54a
commit
66293e8aed
@ -221,12 +221,11 @@ namespace WellsManagerDetail
|
|||||||
extent[2] *= ntg;
|
extent[2] *= ntg;
|
||||||
|
|
||||||
const auto p = directionIndices(direction);
|
const auto p = directionIndices(direction);
|
||||||
const std::array<double,3>::size_type d = extent.size();
|
|
||||||
|
|
||||||
std::array<double,3>
|
std::array<double,3>
|
||||||
D = {{ extent[ p[0]*(d + 1) ] ,
|
D = {{ extent[ p[0] ] ,
|
||||||
extent[ p[1]*(d + 1) ] ,
|
extent[ p[1] ] ,
|
||||||
extent[ p[2]*(d + 1) ] }};
|
extent[ p[2] ] }};
|
||||||
|
|
||||||
return D;
|
return D;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user