mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Add communication when multiplying with the matrix duneB_ in apply
Here we go from cells to segments, and everything concerning segments is stored globally.
This commit is contained in:
parent
6784db2d1d
commit
81a5da8b63
@ -152,6 +152,11 @@ apply(const BVector& x, BVector& Ax) const
|
|||||||
|
|
||||||
duneB_.mv(x, Bx);
|
duneB_.mv(x, Bx);
|
||||||
|
|
||||||
|
if (this->pw_info_.communication().size() == 1) {
|
||||||
|
// We need to communicate here to get the contributions from all segments
|
||||||
|
this->pw_info_.communication().sum(Bx.data(), Bx.size());
|
||||||
|
}
|
||||||
|
|
||||||
// invDBx = duneD^-1 * Bx_
|
// invDBx = duneD^-1 * Bx_
|
||||||
const BVectorWell invDBx = mswellhelpers::applyUMFPack(*duneDSolver_, Bx);
|
const BVectorWell invDBx = mswellhelpers::applyUMFPack(*duneDSolver_, Bx);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user