mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Transmissibility::update: use ThreadedMap for dispersivity_
this in preparation for multithreading the loop
This commit is contained in:
parent
a502a86dc1
commit
d551d95762
@ -294,6 +294,8 @@ update(bool global, const TransUpdateQuantities update_quantities,
|
|||||||
MapBuilderInsertionMode::Insert_Or_Assign);
|
MapBuilderInsertionMode::Insert_Or_Assign);
|
||||||
ThreadSafeMapBuilder diffusivity(diffusivity_, 1,
|
ThreadSafeMapBuilder diffusivity(diffusivity_, 1,
|
||||||
MapBuilderInsertionMode::Insert_Or_Assign);
|
MapBuilderInsertionMode::Insert_Or_Assign);
|
||||||
|
ThreadSafeMapBuilder dispersivity(dispersivity_, 1,
|
||||||
|
MapBuilderInsertionMode::Insert_Or_Assign);
|
||||||
|
|
||||||
// compute the transmissibilities for all intersections
|
// compute the transmissibilities for all intersections
|
||||||
for (const auto& elem : elements(gridView_)) {
|
for (const auto& elem : elements(gridView_)) {
|
||||||
@ -416,7 +418,7 @@ update(bool global, const TransUpdateQuantities update_quantities,
|
|||||||
diffusivity.insert_or_assign(details::isId(inside.elemIdx, outside.elemIdx), 0.0);
|
diffusivity.insert_or_assign(details::isId(inside.elemIdx, outside.elemIdx), 0.0);
|
||||||
}
|
}
|
||||||
if (updateDispersivity && !onlyTrans) {
|
if (updateDispersivity && !onlyTrans) {
|
||||||
dispersivity_.insert_or_assign(details::isId(inside.elemIdx, outside.elemIdx), 0.0);
|
dispersivity.insert_or_assign(details::isId(inside.elemIdx, outside.elemIdx), 0.0);
|
||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -487,8 +489,8 @@ update(bool global, const TransUpdateQuantities update_quantities,
|
|||||||
|
|
||||||
// update the "dispersivity half transmissibility" for the intersection
|
// update the "dispersivity half transmissibility" for the intersection
|
||||||
if (updateDispersivity && !onlyTrans) {
|
if (updateDispersivity && !onlyTrans) {
|
||||||
dispersivity_.insert_or_assign(details::isId(inside.elemIdx, outside.elemIdx),
|
dispersivity.insert_or_assign(details::isId(inside.elemIdx, outside.elemIdx),
|
||||||
computeHalfMean(halfDiff, dispersion_));
|
computeHalfMean(halfDiff, dispersion_));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -499,6 +501,7 @@ update(bool global, const TransUpdateQuantities update_quantities,
|
|||||||
thermalHalfTransBoundary.finalize();
|
thermalHalfTransBoundary.finalize();
|
||||||
thermalHalfTrans.finalize();
|
thermalHalfTrans.finalize();
|
||||||
diffusivity.finalize();
|
diffusivity.finalize();
|
||||||
|
dispersivity.finalize();
|
||||||
|
|
||||||
// Potentially overwrite and/or modify transmissibilities based on input from deck
|
// Potentially overwrite and/or modify transmissibilities based on input from deck
|
||||||
this->updateFromEclState_(global);
|
this->updateFromEclState_(global);
|
||||||
|
Loading…
Reference in New Issue
Block a user