Merge pull request #4398 from akva2/summaryconfig_hpp_include

Cleanup SummaryConfig.hpp includes and forward
This commit is contained in:
Bård Skaflestad 2023-01-18 15:43:49 +01:00 committed by GitHub
commit 1f85b1640c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 37 additions and 11 deletions

View File

@ -31,6 +31,7 @@
#include <opm/output/data/Solution.hpp>
#include <opm/input/eclipse/EclipseState/EclipseState.hpp>
#include <opm/input/eclipse/EclipseState/SummaryConfig/SummaryConfig.hpp>
#include <opm/input/eclipse/Schedule/RFTConfig.hpp>
#include <opm/input/eclipse/Schedule/Schedule.hpp>
#include <opm/input/eclipse/Schedule/SummaryState.hpp>
@ -140,6 +141,10 @@ EclGenericOutputBlackoilModule(const EclipseState& eclState,
}
}
template<class FluidSystem, class Scalar>
EclGenericOutputBlackoilModule<FluidSystem,Scalar>::
~EclGenericOutputBlackoilModule() = default;
template<class FluidSystem, class Scalar>
void EclGenericOutputBlackoilModule<FluidSystem,Scalar>::
outputCumLog(size_t reportStepNum, const bool substep, bool forceDisableCumOutput)
@ -1804,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>
@ -32,7 +33,6 @@
#include <opm/output/data/Wells.hpp>
#include <opm/output/eclipse/Inplace.hpp>
#include <opm/input/eclipse/EclipseState/SummaryConfig/SummaryConfig.hpp>
#include <opm/simulators/utils/ParallelCommunication.hpp>
@ -42,6 +42,9 @@ namespace Opm {
namespace data { class Solution; }
class EclipseState;
class Schedule;
class SummaryConfig;
class SummaryConfigNode;
class SummaryState;
template<class FluidSystem, class Scalar>
@ -207,7 +210,7 @@ public:
}
// Virtual destructor for safer inheritance.
virtual ~EclGenericOutputBlackoilModule() = default;
virtual ~EclGenericOutputBlackoilModule();
protected:
using ScalarBuffer = std::vector<Scalar>;
@ -371,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

@ -37,7 +37,6 @@
#include <opm/material/common/Valgrind.hpp>
#include <opm/input/eclipse/EclipseState/SummaryConfig/SummaryConfig.hpp>
#include <opm/output/data/Cells.hpp>
#include <opm/output/eclipse/EclipseIO.hpp>
#include <opm/output/eclipse/Inplace.hpp>
@ -152,14 +151,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)) {

View File

@ -32,6 +32,8 @@
#include <opm/grid/GridManager.hpp>
#include <opm/grid/cpgrid/GridHelpers.hpp>
#include <opm/input/eclipse/EclipseState/SummaryConfig/SummaryConfig.hpp>
#include <opm/input/eclipse/Units/Units.hpp>
#include <opm/models/utils/start.hh>

View File

@ -31,6 +31,7 @@
#include <ebos/ebos.hh>
#include <opm/models/utils/start.hh>
#include <opm/input/eclipse/EclipseState/SummaryConfig/SummaryConfig.hpp>
#include <opm/input/eclipse/Schedule/Schedule.hpp>
#include <opm/input/eclipse/Schedule/Well/Well.hpp>
#include <opm/simulators/utils/DeferredLogger.hpp>