mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Merge pull request #5720 from BigDataAccelerate/fix_convergence_sepwells
Fix index bug in gpubridge separate wells
This commit is contained in:
@@ -222,7 +222,7 @@ extract(WellContributions<Scalar>& wellContribs) const
|
|||||||
Cvals.reserve(BnumBlocks * numEq * numWellEq);
|
Cvals.reserve(BnumBlocks * numEq * numWellEq);
|
||||||
for (auto rowC = duneC_.begin(); rowC != duneC_.end(); ++rowC) {
|
for (auto rowC = duneC_.begin(); rowC != duneC_.end(); ++rowC) {
|
||||||
for (auto colC = rowC->begin(), endC = rowC->end(); colC != endC; ++colC) {
|
for (auto colC = rowC->begin(), endC = rowC->end(); colC != endC; ++colC) {
|
||||||
Ccols.emplace_back(colC.index());
|
Ccols.emplace_back(cells_[colC.index()]);
|
||||||
for (int i = 0; i < numWellEq; ++i) {
|
for (int i = 0; i < numWellEq; ++i) {
|
||||||
for (int j = 0; j < numEq; ++j) {
|
for (int j = 0; j < numEq; ++j) {
|
||||||
Cvals.emplace_back((*colC)[i][j]);
|
Cvals.emplace_back((*colC)[i][j]);
|
||||||
@@ -252,7 +252,7 @@ extract(WellContributions<Scalar>& wellContribs) const
|
|||||||
for (auto rowB = duneB_.begin(); rowB != duneB_.end(); ++rowB) {
|
for (auto rowB = duneB_.begin(); rowB != duneB_.end(); ++rowB) {
|
||||||
int sizeRow = 0;
|
int sizeRow = 0;
|
||||||
for (auto colB = rowB->begin(), endB = rowB->end(); colB != endB; ++colB) {
|
for (auto colB = rowB->begin(), endB = rowB->end(); colB != endB; ++colB) {
|
||||||
Bcols.emplace_back(colB.index());
|
Bcols.emplace_back(cells_[colB.index()]);
|
||||||
for (int i = 0; i < numWellEq; ++i) {
|
for (int i = 0; i < numWellEq; ++i) {
|
||||||
for (int j = 0; j < numEq; ++j) {
|
for (int j = 0; j < numEq; ++j) {
|
||||||
Bvals.emplace_back((*colB)[i][j]);
|
Bvals.emplace_back((*colB)[i][j]);
|
||||||
|
|||||||
@@ -207,7 +207,7 @@ extract(const int numStaticWellEq,
|
|||||||
for (auto colC = duneC_[0].begin(),
|
for (auto colC = duneC_[0].begin(),
|
||||||
endC = duneC_[0].end(); colC != endC; ++colC )
|
endC = duneC_[0].end(); colC != endC; ++colC )
|
||||||
{
|
{
|
||||||
colIndices.emplace_back(colC.index());
|
colIndices.emplace_back(cells_[colC.index()]);
|
||||||
for (int i = 0; i < numStaticWellEq; ++i) {
|
for (int i = 0; i < numStaticWellEq; ++i) {
|
||||||
for (int j = 0; j < numEq; ++j) {
|
for (int j = 0; j < numEq; ++j) {
|
||||||
nnzValues.emplace_back((*colC)[i][j]);
|
nnzValues.emplace_back((*colC)[i][j]);
|
||||||
@@ -236,7 +236,7 @@ extract(const int numStaticWellEq,
|
|||||||
for (auto colB = duneB_[0].begin(),
|
for (auto colB = duneB_[0].begin(),
|
||||||
endB = duneB_[0].end(); colB != endB; ++colB )
|
endB = duneB_[0].end(); colB != endB; ++colB )
|
||||||
{
|
{
|
||||||
colIndices.emplace_back(colB.index());
|
colIndices.emplace_back(cells_[colB.index()]);
|
||||||
for (int i = 0; i < numStaticWellEq; ++i) {
|
for (int i = 0; i < numStaticWellEq; ++i) {
|
||||||
for (int j = 0; j < numEq; ++j) {
|
for (int j = 0; j < numEq; ++j) {
|
||||||
nnzValues.emplace_back((*colB)[i][j]);
|
nnzValues.emplace_back((*colB)[i][j]);
|
||||||
|
|||||||
Reference in New Issue
Block a user