diff --git a/src/finiteArea/faMatrices/faMatrix/faMatrix.C b/src/finiteArea/faMatrices/faMatrix/faMatrix.C index e5a1eed1a5..b98f60e66a 100644 --- a/src/finiteArea/faMatrices/faMatrix/faMatrix.C +++ b/src/finiteArea/faMatrices/faMatrix/faMatrix.C @@ -335,9 +335,15 @@ void Foam::faMatrix::setValuesFromList psi[facei] = value; source_[facei] = value*Diag[facei]; + } - if (symmetric() || asymmetric()) + if (symmetric() || asymmetric()) + { + forAll(faceLabels, i) { + const label facei = faceLabels[i]; + const Type& value = values[i]; + for (const label edgei : edges[facei]) { if (mesh.isInternalEdge(edgei)) diff --git a/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.C b/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.C index 1184146fb1..0a0879db77 100644 --- a/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.C +++ b/src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.C @@ -249,9 +249,15 @@ void Foam::fvMatrix::setValuesFromList psi[celli] = value; source_[celli] = value*Diag[celli]; + } - if (symmetric() || asymmetric()) + if (symmetric() || asymmetric()) + { + forAll(cellLabels, i) { + const label celli = cellLabels[i]; + const Type& value = values[i]; + for (const label facei : cells[celli]) { if (mesh.isInternalFace(facei))