EclOutputBlackoilModule: move code using SummaryConfig to compile unit

This commit is contained in:
Arne Morten Kvarving 2023-01-11 15:38:03 +01:00
parent f4ea11cfba
commit dbcbb15449
3 changed files with 25 additions and 8 deletions

View File

@ -1809,6 +1809,22 @@ updateSummaryRegionValues(const Inplace& inplace,
}
}
template<class FluidSystem,class Scalar>
void EclGenericOutputBlackoilModule<FluidSystem,Scalar>::
setupBlockData(std::function<bool(int)> isCartIdxOnThisRank)
{
for (const auto& node : summaryConfig_) {
if ((node.category() == SummaryConfigNode::Category::Block) &&
isCartIdxOnThisRank(node.number() - 1))
{
this->blockData_.emplace(std::piecewise_construct,
std::forward_as_tuple(node.keyword(),
node.number()),
std::forward_as_tuple(0.0));
}
}
}
template class EclGenericOutputBlackoilModule<BlackOilFluidSystem<double,BlackOilDefaultIndexTraits>,double>;
} // namespace Opm

View File

@ -24,6 +24,7 @@
#define EWOMS_ECL_GENERIC_OUTPUT_BLACK_OIL_MODULE_HH
#include <array>
#include <functional>
#include <map>
#include <numeric>
#include <optional>
@ -373,6 +374,8 @@ protected:
static Scalar sum(const ScalarBuffer& v);
void setupBlockData(std::function<bool(int)> isCartIdxOnThisRank);
virtual bool isDefunctParallelWell(std::string wname) const = 0;
const EclipseState& eclState_;

View File

@ -152,14 +152,12 @@ public:
this->createLocalRegion_(region_pair.second);
}
for (const auto& node : this->simulator_.vanguard().summaryConfig()) {
if ((node.category() == SummaryConfigNode::Category::Block)
&& collectToIORank.isCartIdxOnThisRank(node.number() - 1)) {
this->blockData_.emplace(std::piecewise_construct,
std::forward_as_tuple(node.keyword(), node.number()),
std::forward_as_tuple(0.0));
}
}
auto isCartIdxOnThisRank = [&collectToIORank](int idx)
{
return collectToIORank.isCartIdxOnThisRank(idx);
};
this->setupBlockData(isCartIdxOnThisRank);
for (const auto& global_index : wbp_index_list) {
if (collectToIORank.isCartIdxOnThisRank(global_index - 1)) {