diff --git a/CMakeLists_files.cmake b/CMakeLists_files.cmake index 4a7bc041f..0b829af08 100644 --- a/CMakeLists_files.cmake +++ b/CMakeLists_files.cmake @@ -25,7 +25,6 @@ list (APPEND MAIN_SOURCE_FILES ebos/collecttoiorank.cc ebos/eclgenericcpgridvanguard.cc - ebos/eclgenericoutputblackoilmodule.cc ebos/eclgenericproblem.cc ebos/eclgenericthresholdpressure.cc ebos/eclgenerictracermodel.cc @@ -45,6 +44,7 @@ list (APPEND MAIN_SOURCE_FILES opm/simulators/flow/ConvergenceOutputConfiguration.cpp opm/simulators/flow/ExtraConvergenceOutputThread.cpp opm/simulators/flow/FlowMain.cpp + opm/simulators/flow/GenericOutputBlackoilModule.cpp opm/simulators/flow/InterRegFlows.cpp opm/simulators/flow/KeywordValidation.cpp opm/simulators/flow/LogOutputHelper.cpp @@ -420,7 +420,6 @@ list (APPEND PUBLIC_HEADER_FILES ebos/eclequilinitializer.hh ebos/eclfluxmodule.hh ebos/eclgenericcpgridvanguard.hh - ebos/eclgenericoutputblackoilmodule.hh ebos/eclgenericproblem.hh ebos/eclgenericproblem_impl.hh ebos/eclgenericthresholdpressure.hh @@ -432,7 +431,6 @@ list (APPEND PUBLIC_HEADER_FILES ebos/eclgenericwriter_impl.hh ebos/eclmixingratecontrols.hh ebos/eclnewtonmethod.hh - ebos/ecloutputblackoilmodule.hh ebos/eclpolyhedralgridvanguard.hh ebos/eclproblem.hh ebos/eclproblem_properties.hh @@ -455,11 +453,13 @@ list (APPEND PUBLIC_HEADER_FILES opm/simulators/flow/ExtraConvergenceOutputThread.hpp opm/simulators/flow/FlowMain.hpp opm/simulators/flow/FlowsData.hpp + opm/simulators/flow/GenericOutputBlackoilModule.hpp opm/simulators/flow/InterRegFlows.hpp opm/simulators/flow/KeywordValidation.hpp opm/simulators/flow/LogOutputHelper.hpp opm/simulators/flow/Main.hpp opm/simulators/flow/NonlinearSolver.hpp + opm/simulators/flow/OutputBlackoilModule.hpp opm/simulators/flow/partitionCells.hpp opm/simulators/flow/priVarsPacking.hpp opm/simulators/flow/RSTConv.hpp diff --git a/ebos/damariswriter.hh b/ebos/damariswriter.hh index 896248df9..ed918199e 100644 --- a/ebos/damariswriter.hh +++ b/ebos/damariswriter.hh @@ -36,11 +36,11 @@ #include #include #include -#include #include #include +#include #include #include #include @@ -167,7 +167,7 @@ public: numElements_ = std::distance(interior_elements.begin(), interior_elements.end()); this->elements_rank_offsets_.resize(nranks_) ; - this->damarisOutputModule_ = std::make_unique>(simulator, this->collectToIORank_); + this->damarisOutputModule_ = std::make_unique>(simulator, this->collectToIORank_); } /*! @@ -236,7 +236,7 @@ private: int numElements_ ; ///< size of the unique vector elements Simulator& simulator_; - std::unique_ptr> damarisOutputModule_; + std::unique_ptr> damarisOutputModule_; std::vector elements_rank_offsets_ ; bool damarisUpdate_ = false; ///< Whenever this is true writeOutput() will set up Damaris mesh information and offsets of model fields diff --git a/ebos/eclproblem.hh b/ebos/eclproblem.hh index 2219a19d2..210875ee4 100644 --- a/ebos/eclproblem.hh +++ b/ebos/eclproblem.hh @@ -40,7 +40,6 @@ #include #include #include -#include #include #include #include @@ -83,6 +82,7 @@ #include #include +#include #include #include #include @@ -1799,7 +1799,7 @@ public: void setConvData(const std::vector>& data) { - eclWriter_->mutableEclOutputModule().setCnvData(data); + eclWriter_->mutableOutputModule().setCnvData(data); } template @@ -2190,8 +2190,8 @@ protected: for (std::size_t elemIdx = 0; elemIdx < numElems; ++elemIdx) { auto& elemFluidState = initialFluidStates_[elemIdx]; elemFluidState.setPvtRegionIndex(pvtRegionIndex(elemIdx)); - eclWriter_->eclOutputModule().initHysteresisParams(simulator, elemIdx); - eclWriter_->eclOutputModule().assignToFluidState(elemFluidState, elemIdx); + eclWriter_->outputModule().initHysteresisParams(simulator, elemIdx); + eclWriter_->outputModule().assignToFluidState(elemFluidState, elemIdx); // Note: Function processRestartSaturations_() mutates the // 'ssol' argument--the value from the restart file--if solvent @@ -2201,27 +2201,27 @@ protected: // into 'solventSaturation_' unless solvent is enabled. { auto ssol = enableSolvent - ? eclWriter_->eclOutputModule().getSolventSaturation(elemIdx) + ? eclWriter_->outputModule().getSolventSaturation(elemIdx) : Scalar(0); processRestartSaturations_(elemFluidState, ssol); if constexpr (enableSolvent) { this->solventSaturation_[elemIdx] = ssol; - this->solventRsw_[elemIdx] = eclWriter_->eclOutputModule().getSolventRsw(elemIdx); + this->solventRsw_[elemIdx] = eclWriter_->outputModule().getSolventRsw(elemIdx); } } this->mixControls_.updateLastValues(elemIdx, elemFluidState.Rs(), elemFluidState.Rv()); if constexpr (enablePolymer) - this->polymer_.concentration[elemIdx] = eclWriter_->eclOutputModule().getPolymerConcentration(elemIdx); + this->polymer_.concentration[elemIdx] = eclWriter_->outputModule().getPolymerConcentration(elemIdx); if constexpr (enableMICP){ - this->micp_.microbialConcentration[elemIdx] = eclWriter_->eclOutputModule().getMicrobialConcentration(elemIdx); - this->micp_.oxygenConcentration[elemIdx] = eclWriter_->eclOutputModule().getOxygenConcentration(elemIdx); - this->micp_.ureaConcentration[elemIdx] = eclWriter_->eclOutputModule().getUreaConcentration(elemIdx); - this->micp_.biofilmConcentration[elemIdx] = eclWriter_->eclOutputModule().getBiofilmConcentration(elemIdx); - this->micp_.calciteConcentration[elemIdx] = eclWriter_->eclOutputModule().getCalciteConcentration(elemIdx); + this->micp_.microbialConcentration[elemIdx] = eclWriter_->outputModule().getMicrobialConcentration(elemIdx); + this->micp_.oxygenConcentration[elemIdx] = eclWriter_->outputModule().getOxygenConcentration(elemIdx); + this->micp_.ureaConcentration[elemIdx] = eclWriter_->outputModule().getUreaConcentration(elemIdx); + this->micp_.biofilmConcentration[elemIdx] = eclWriter_->outputModule().getBiofilmConcentration(elemIdx); + this->micp_.calciteConcentration[elemIdx] = eclWriter_->outputModule().getCalciteConcentration(elemIdx); } // if we need to restart for polymer molecular weight simulation, we need to add related here } diff --git a/ebos/eclproblem_properties.hh b/ebos/eclproblem_properties.hh index 944294727..dc7cc5f17 100644 --- a/ebos/eclproblem_properties.hh +++ b/ebos/eclproblem_properties.hh @@ -32,7 +32,6 @@ #include #include #include -#include #include #if HAVE_DAMARIS #include @@ -49,6 +48,7 @@ #include #include +#include #include @@ -62,7 +62,7 @@ namespace Opm::Properties { namespace TTag { struct EclBaseProblem { - using InheritsFrom = std::tuple; + using InheritsFrom = std::tuple; }; } diff --git a/ebos/eclwriter.hh b/ebos/eclwriter.hh index 3414bc2e1..545910356 100644 --- a/ebos/eclwriter.hh +++ b/ebos/eclwriter.hh @@ -33,12 +33,12 @@ #include #include #include -#include #include #include +#include #include #include #include @@ -126,7 +126,7 @@ public: static void registerParameters() { - EclOutputBlackOilModule::registerParameters(); + OutputBlackOilModule::registerParameters(); EWOMS_REGISTER_PARAM(TypeTag, bool, EnableAsyncEclOutput, "Write the ECL-formated results in a non-blocking way (i.e., using a separate thread)."); @@ -156,7 +156,7 @@ public: EWOMS_GET_PARAM(TypeTag, bool, EnableEsmry)) , simulator_(simulator) { - this->eclOutputModule_ = std::make_unique> + this->outputModule_ = std::make_unique> (simulator, this->collectToIORank_); rank_ = simulator_.vanguard().grid().comm().rank() ; @@ -214,7 +214,7 @@ public: const auto localWellTestState = simulator_.problem().wellModel().wellTestState(); this->prepareLocalCellData(isSubStep, reportStepNum); - if (this->eclOutputModule_->needInterfaceFluxes(isSubStep)) { + if (this->outputModule_->needInterfaceFluxes(isSubStep)) { this->captureLocalFluxData(); } @@ -222,13 +222,13 @@ public: OPM_BEGIN_PARALLEL_TRY_CATCH() this->collectToIORank_.collect({}, - eclOutputModule_->getBlockData(), + outputModule_->getBlockData(), localWellData, localWBP, localGroupAndNetworkData, localAquiferData, localWellTestState, - this->eclOutputModule_->getInterRegFlows(), + this->outputModule_->getInterRegFlows(), {}, {}); @@ -257,7 +257,7 @@ public: { OPM_TIMEBLOCK(outputFipLogAndFipresvLog); - inplace = eclOutputModule_->calc_inplace(miscSummaryData, regionData, simulator_.gridView().comm()); + inplace = outputModule_->calc_inplace(miscSummaryData, regionData, simulator_.gridView().comm()); if (this->collectToIORank_.isIORank()){ inplace_ = inplace; @@ -295,11 +295,11 @@ public: const auto& blockData = this->collectToIORank_.isParallel() ? this->collectToIORank_.globalBlockData() - : this->eclOutputModule_->getBlockData(); + : this->outputModule_->getBlockData(); const auto& interRegFlows = this->collectToIORank_.isParallel() ? this->collectToIORank_.globalInterRegFlows() - : this->eclOutputModule_->getInterRegFlows(); + : this->outputModule_->getInterRegFlows(); this->evalSummary(reportStepNum, curTime, @@ -311,7 +311,7 @@ public: miscSummaryData, regionData, inplace, - this->eclOutputModule_->initialInplace(), + this->outputModule_->initialInplace(), interRegFlows, this->summaryState(), this->udqState()); @@ -331,7 +331,7 @@ public: const int num_interior = detail:: countLocalInteriorCellsGridView(gridView); - this->eclOutputModule_-> + this->outputModule_-> allocBuffers(num_interior, 0, false, false, /*isRestart*/ false); #ifdef _OPENMP @@ -341,7 +341,7 @@ public: const auto& intQuants = *simulator_.model().cachedIntensiveQuantities(dofIdx, /*timeIdx=*/0); const auto totVolume = simulator_.model().dofTotalVolume(dofIdx); - this->eclOutputModule_->updateFluidInPlace(dofIdx, intQuants, totVolume); + this->outputModule_->updateFluidInPlace(dofIdx, intQuants, totVolume); } std::map miscSummaryData; @@ -352,13 +352,13 @@ public: boost::posix_time::ptime start_time = boost::posix_time::from_time_t(simulator_.vanguard().schedule().getStartTime()); - inplace = eclOutputModule_->calc_inplace(miscSummaryData, regionData, simulator_.gridView().comm()); + inplace = outputModule_->calc_inplace(miscSummaryData, regionData, simulator_.gridView().comm()); if (this->collectToIORank_.isIORank()){ inplace_ = inplace; - eclOutputModule_->outputFipAndResvLog(inplace_, 0, 0.0, start_time, - false, simulator_.gridView().comm()); + outputModule_->outputFipAndResvLog(inplace_, 0, 0.0, start_time, + false, simulator_.gridView().comm()); } } } @@ -369,7 +369,7 @@ public: const int reportStepNum = simulator_.episodeIndex() + 1; this->prepareLocalCellData(isSubStep, reportStepNum); - this->eclOutputModule_->outputErrorLog(simulator_.gridView().comm()); + this->outputModule_->outputErrorLog(simulator_.gridView().comm()); // output using eclWriter if enabled auto localWellData = simulator_.problem().wellModel().wellData(); @@ -379,11 +379,11 @@ public: auto localAquiferData = simulator_.problem().aquiferModel().aquiferData(); auto localWellTestState = simulator_.problem().wellModel().wellTestState(); - const bool isFlowsn = this->eclOutputModule_->hasFlowsn(); - auto flowsn = this->eclOutputModule_->getFlowsn(); + const bool isFlowsn = this->outputModule_->hasFlowsn(); + auto flowsn = this->outputModule_->getFlowsn(); - const bool isFloresn = this->eclOutputModule_->hasFloresn(); - auto floresn = this->eclOutputModule_->getFloresn(); + const bool isFloresn = this->outputModule_->hasFloresn(); + auto floresn = this->outputModule_->getFloresn(); // data::Solution localCellData = {}; if (! isSubStep) { @@ -392,25 +392,25 @@ public: if ((rstep > 0) && (this->collectToIORank_.isIORank())){ - eclOutputModule_->outputFipAndResvLog(inplace_, rstep, timer.simulationTimeElapsed(), - timer.currentDateTime(), false, simulator_.gridView().comm()); + outputModule_->outputFipAndResvLog(inplace_, rstep, timer.simulationTimeElapsed(), + timer.currentDateTime(), false, simulator_.gridView().comm()); - eclOutputModule_->outputTimeStamp("WELLS", timer.simulationTimeElapsed(), rstep, timer.currentDateTime()); + outputModule_->outputTimeStamp("WELLS", timer.simulationTimeElapsed(), rstep, timer.currentDateTime()); - eclOutputModule_->outputProdLog(reportStepNum); - eclOutputModule_->outputInjLog(reportStepNum); - eclOutputModule_->outputCumLog(reportStepNum); + outputModule_->outputProdLog(reportStepNum); + outputModule_->outputInjLog(reportStepNum); + outputModule_->outputCumLog(reportStepNum); OpmLog::note(""); // Blank line after all reports. } if (localCellData.empty()) { - this->eclOutputModule_->assignToSolution(localCellData); + this->outputModule_->assignToSolution(localCellData); } // Add cell data to perforations for RFT output - this->eclOutputModule_->addRftDataToWells(localWellData, reportStepNum); + this->outputModule_->addRftDataToWells(localWellData, reportStepNum); } if (this->collectToIORank_.isParallel() || @@ -422,7 +422,7 @@ public: // properties on the I/O rank. this->collectToIORank_.collect(localCellData, - this->eclOutputModule_->getBlockData(), + this->outputModule_->getBlockData(), localWellData, /* wbpData = */ {}, localGroupAndNetworkData, @@ -432,10 +432,10 @@ public: flowsn, floresn); if (this->collectToIORank_.isIORank()) { - this->eclOutputModule_->assignGlobalFieldsToSolution(this->collectToIORank_.globalCellData()); + this->outputModule_->assignGlobalFieldsToSolution(this->collectToIORank_.globalCellData()); } } else { - this->eclOutputModule_->assignGlobalFieldsToSolution(localCellData); + this->outputModule_->assignGlobalFieldsToSolution(localCellData); } if (this->collectToIORank_.isIORank()) { @@ -501,7 +501,7 @@ public: const auto& gridView = simulator_.vanguard().gridView(); unsigned numElements = gridView.size(/*codim=*/0); - eclOutputModule_->allocBuffers(numElements, restartStepIdx, /*isSubStep=*/false, /*log=*/false, /*isRestart*/ true); + outputModule_->allocBuffers(numElements, restartStepIdx, /*isSubStep=*/false, /*log=*/false, /*isRestart*/ true); { SummaryState& summaryState = simulator_.vanguard().summaryState(); @@ -510,7 +510,7 @@ public: gridView.grid().comm()); for (unsigned elemIdx = 0; elemIdx < numElements; ++elemIdx) { unsigned globalIdx = this->collectToIORank_.localIdxToGlobalIdx(elemIdx); - eclOutputModule_->setRestart(restartValues.solution, elemIdx, globalIdx); + outputModule_->setRestart(restartValues.solution, elemIdx, globalIdx); } auto& tracer_model = simulator_.problem().tracerModel(); @@ -542,11 +542,11 @@ public: void endRestart() {} - const EclOutputBlackOilModule& eclOutputModule() const - { return *eclOutputModule_; } + const OutputBlackOilModule& outputModule() const + { return *outputModule_; } - EclOutputBlackOilModule& mutableEclOutputModule() const - { return *eclOutputModule_; } + OutputBlackOilModule& mutableOutputModule() const + { return *outputModule_; } Scalar restartTimeStepSize() const { return restartTimeStepSize_; } @@ -554,7 +554,7 @@ public: template void serializeOp(Serializer& serializer) { - serializer(*eclOutputModule_); + serializer(*outputModule_); } private: @@ -581,7 +581,7 @@ private: { OPM_TIMEBLOCK(prepareLocalCellData); - if (this->eclOutputModule_->localDataValid()) { + if (this->outputModule_->localDataValid()) { return; } @@ -590,7 +590,7 @@ private: const int num_interior = detail:: countLocalInteriorCellsGridView(gridView); - this->eclOutputModule_-> + this->outputModule_-> allocBuffers(num_interior, reportStepNum, isSubStep, log, /*isRestart*/ false); @@ -601,16 +601,16 @@ private: { OPM_TIMEBLOCK(prepareCellBasedData); - this->eclOutputModule_->prepareDensityAccumulation(); + this->outputModule_->prepareDensityAccumulation(); for (const auto& elem : elements(gridView, Dune::Partitions::interior)) { elemCtx.updatePrimaryStencil(elem); elemCtx.updatePrimaryIntensiveQuantities(/*timeIdx=*/0); - this->eclOutputModule_->processElement(elemCtx); + this->outputModule_->processElement(elemCtx); } - this->eclOutputModule_->accumulateDensityParallel(); + this->outputModule_->accumulateDensityParallel(); } if constexpr (enableMech) { @@ -619,7 +619,7 @@ private: for (const auto& elem : elements(gridView, Dune::Partitions::interior)) { elemCtx.updatePrimaryStencil(elem); elemCtx.updatePrimaryIntensiveQuantities(/*timeIdx=*/0); - eclOutputModule_->processElementMech(elemCtx); + outputModule_->processElementMech(elemCtx); } } } @@ -630,7 +630,7 @@ private: elemCtx.updatePrimaryStencil(elem); elemCtx.updatePrimaryIntensiveQuantities(/*timeIdx=*/0); - this->eclOutputModule_->processElementFlows(elemCtx); + this->outputModule_->processElementFlows(elemCtx); } } @@ -640,7 +640,7 @@ private: elemCtx.updatePrimaryStencil(elem); elemCtx.updatePrimaryIntensiveQuantities(/*timeIdx=*/0); - this->eclOutputModule_->processElementBlockData(elemCtx); + this->outputModule_->processElementBlockData(elemCtx); } } @@ -654,11 +654,11 @@ private: const auto& intQuants = *simulator_.model().cachedIntensiveQuantities(dofIdx, /*timeIdx=*/0); const auto totVolume = simulator_.model().dofTotalVolume(dofIdx); - this->eclOutputModule_->updateFluidInPlace(dofIdx, intQuants, totVolume); + this->outputModule_->updateFluidInPlace(dofIdx, intQuants, totVolume); } } - this->eclOutputModule_->validateLocalData(); + this->outputModule_->validateLocalData(); OPM_END_PARALLEL_TRY_CATCH("EclWriter::prepareLocalCellData() failed: ", this->simulator_.vanguard().grid().comm()); @@ -684,7 +684,7 @@ private: return this->cartMapper_.cartesianIndex(elemIndex); }; - this->eclOutputModule_->initializeFluxData(); + this->outputModule_->initializeFluxData(); OPM_BEGIN_PARALLEL_TRY_CATCH(); @@ -693,17 +693,17 @@ private: elemCtx.updateIntensiveQuantities(timeIdx); elemCtx.updateExtensiveQuantities(timeIdx); - this->eclOutputModule_->processFluxes(elemCtx, activeIndex, cartesianIndex); + this->outputModule_->processFluxes(elemCtx, activeIndex, cartesianIndex); } OPM_END_PARALLEL_TRY_CATCH("EclWriter::captureLocalFluxData() failed: ", this->simulator_.vanguard().grid().comm()) - this->eclOutputModule_->finalizeFluxData(); + this->outputModule_->finalizeFluxData(); } Simulator& simulator_; - std::unique_ptr > eclOutputModule_; + std::unique_ptr > outputModule_; Scalar restartTimeStepSize_; int rank_ ; Inplace inplace_; diff --git a/opm/simulators/flow/BlackoilModel.hpp b/opm/simulators/flow/BlackoilModel.hpp index 56588a9e0..4934a0210 100644 --- a/opm/simulators/flow/BlackoilModel.hpp +++ b/opm/simulators/flow/BlackoilModel.hpp @@ -705,7 +705,7 @@ namespace Opm { { OPM_TIMEBLOCK(invalidateAndUpdateIntensiveQuantities); simulator_.model().invalidateAndUpdateIntensiveQuantities(/*timeIdx=*/0); - simulator_.problem().eclWriter()->mutableEclOutputModule().invalidateLocalData(); + simulator_.problem().eclWriter()->mutableOutputModule().invalidateLocalData(); } } diff --git a/ebos/eclgenericoutputblackoilmodule.cc b/opm/simulators/flow/GenericOutputBlackoilModule.cpp similarity index 96% rename from ebos/eclgenericoutputblackoilmodule.cc rename to opm/simulators/flow/GenericOutputBlackoilModule.cpp index 79e8b2697..497df8d14 100644 --- a/ebos/eclgenericoutputblackoilmodule.cc +++ b/opm/simulators/flow/GenericOutputBlackoilModule.cpp @@ -18,8 +18,7 @@ */ #include - -#include +#include #include @@ -167,22 +166,22 @@ std::string EclString(const Opm::Inplace::Phase phase) namespace Opm { template -EclGenericOutputBlackoilModule:: -EclGenericOutputBlackoilModule(const EclipseState& eclState, - const Schedule& schedule, - const SummaryConfig& summaryConfig, - const SummaryState& summaryState, - const std::string& moduleVersion, - bool enableEnergy, - bool enableTemperature, - bool enableMech, - bool enableSolvent, - bool enablePolymer, - bool enableFoam, - bool enableBrine, - bool enableSaltPrecipitation, - bool enableExtbo, - bool enableMICP) +GenericOutputBlackoilModule:: +GenericOutputBlackoilModule(const EclipseState& eclState, + const Schedule& schedule, + const SummaryConfig& summaryConfig, + const SummaryState& summaryState, + const std::string& moduleVersion, + bool enableEnergy, + bool enableTemperature, + bool enableMech, + bool enableSolvent, + bool enablePolymer, + bool enableFoam, + bool enableBrine, + bool enableSaltPrecipitation, + bool enableExtbo, + bool enableMICP) : eclState_(eclState) , schedule_(schedule) , summaryConfig_(summaryConfig) @@ -250,11 +249,11 @@ EclGenericOutputBlackoilModule(const EclipseState& eclState, } template -EclGenericOutputBlackoilModule:: -~EclGenericOutputBlackoilModule() = default; +GenericOutputBlackoilModule:: +~GenericOutputBlackoilModule() = default; template -void EclGenericOutputBlackoilModule:: +void GenericOutputBlackoilModule:: outputTimeStamp(const std::string& lbl, const double elapsed, const int rstep, @@ -264,7 +263,7 @@ outputTimeStamp(const std::string& lbl, } template -void EclGenericOutputBlackoilModule:: +void GenericOutputBlackoilModule:: prepareDensityAccumulation() { if (this->regionAvgDensity_.has_value()) { @@ -273,7 +272,7 @@ prepareDensityAccumulation() } template -void EclGenericOutputBlackoilModule:: +void GenericOutputBlackoilModule:: accumulateDensityParallel() { if (this->regionAvgDensity_.has_value()) { @@ -282,28 +281,28 @@ accumulateDensityParallel() } template -void EclGenericOutputBlackoilModule:: +void GenericOutputBlackoilModule:: outputCumLog(std::size_t reportStepNum) { this->logOutput_.cumulative(reportStepNum); } template -void EclGenericOutputBlackoilModule:: +void GenericOutputBlackoilModule:: outputProdLog(std::size_t reportStepNum) { this->logOutput_.production(reportStepNum); } template -void EclGenericOutputBlackoilModule:: +void GenericOutputBlackoilModule:: outputInjLog(std::size_t reportStepNum) { this->logOutput_.injection(reportStepNum); } template -Inplace EclGenericOutputBlackoilModule:: +Inplace GenericOutputBlackoilModule:: calc_inplace(std::map& miscSummaryData, std::map>& regionData, const Parallel::Communication& comm) @@ -321,9 +320,8 @@ calc_inplace(std::map& miscSummaryData, return inplace; } - template -void EclGenericOutputBlackoilModule:: +void GenericOutputBlackoilModule:: outputFipAndResvLog(const Inplace& inplace, const std::size_t reportStepNum, double elapsed, @@ -374,9 +372,8 @@ outputFipAndResvLog(const Inplace& inplace, } } - template -void EclGenericOutputBlackoilModule:: +void GenericOutputBlackoilModule:: addRftDataToWells(data::Wells& wellDatas, std::size_t reportStepNum) { const auto& rft_config = schedule_[reportStepNum].rft_config(); @@ -426,7 +423,7 @@ addRftDataToWells(data::Wells& wellDatas, std::size_t reportStepNum) } template -void EclGenericOutputBlackoilModule:: +void GenericOutputBlackoilModule:: assignToSolution(data::Solution& sol) { using DataEntry = @@ -707,7 +704,7 @@ assignToSolution(data::Solution& sol) } template -void EclGenericOutputBlackoilModule:: +void GenericOutputBlackoilModule:: setRestart(const data::Solution& sol, unsigned elemIdx, unsigned globalDofIndex) @@ -782,8 +779,8 @@ setRestart(const data::Solution& sol, } template -typename EclGenericOutputBlackoilModule::ScalarBuffer -EclGenericOutputBlackoilModule:: +typename GenericOutputBlackoilModule::ScalarBuffer +GenericOutputBlackoilModule:: regionSum(const ScalarBuffer& property, const std::vector& regionId, std::size_t maxNumberOfRegions, @@ -817,7 +814,7 @@ regionSum(const ScalarBuffer& property, } template -void EclGenericOutputBlackoilModule:: +void GenericOutputBlackoilModule:: doAllocBuffers(const unsigned bufferSize, const unsigned reportStepNum, const bool substep, @@ -1345,7 +1342,7 @@ doAllocBuffers(const unsigned bufferSize, } template -bool EclGenericOutputBlackoilModule:: +bool GenericOutputBlackoilModule:: isOutputCreationDirective_(const std::string& keyword) { return (keyword == "BASIC") || (keyword == "FREQ") @@ -1354,7 +1351,7 @@ isOutputCreationDirective_(const std::string& keyword) } template -void EclGenericOutputBlackoilModule:: +void GenericOutputBlackoilModule:: outputErrorLog(const Parallel::Communication& comm) const { const auto root = 0; @@ -1372,7 +1369,7 @@ outputErrorLog(const Parallel::Communication& comm) const } template -int EclGenericOutputBlackoilModule:: +int GenericOutputBlackoilModule:: regionMax(const std::vector& region, const Parallel::Communication& comm) { @@ -1381,7 +1378,7 @@ regionMax(const std::vector& region, } template -void EclGenericOutputBlackoilModule:: +void GenericOutputBlackoilModule:: update(Inplace& inplace, const std::string& region_name, const Inplace::Phase phase, @@ -1398,7 +1395,7 @@ update(Inplace& inplace, } template -void EclGenericOutputBlackoilModule:: +void GenericOutputBlackoilModule:: makeRegionSum(Inplace& inplace, const std::string& region_name, const Parallel::Communication& comm) const @@ -1436,7 +1433,7 @@ makeRegionSum(Inplace& inplace, } template -Inplace EclGenericOutputBlackoilModule:: +Inplace GenericOutputBlackoilModule:: accumulateRegionSums(const Parallel::Communication& comm) { Inplace inplace; @@ -1458,14 +1455,14 @@ accumulateRegionSums(const Parallel::Communication& comm) } template -Scalar EclGenericOutputBlackoilModule:: +Scalar GenericOutputBlackoilModule:: sum(const ScalarBuffer& v) { return std::accumulate(v.begin(), v.end(), Scalar{0}); } template -void EclGenericOutputBlackoilModule:: +void GenericOutputBlackoilModule:: updateSummaryRegionValues(const Inplace& inplace, std::map& miscSummaryData, std::map>& regionData) const @@ -1548,7 +1545,7 @@ updateSummaryRegionValues(const Inplace& inplace, } template -void EclGenericOutputBlackoilModule:: +void GenericOutputBlackoilModule:: setupBlockData(std::function isCartIdxOnThisRank) { for (const auto& node : summaryConfig_) { @@ -1564,7 +1561,7 @@ setupBlockData(std::function isCartIdxOnThisRank) } template -void EclGenericOutputBlackoilModule:: +void GenericOutputBlackoilModule:: assignGlobalFieldsToSolution(data::Solution& sol) { if (!this->cnvData_.empty()) { @@ -1578,6 +1575,6 @@ assignGlobalFieldsToSolution(data::Solution& sol) } } -template class EclGenericOutputBlackoilModule,double>; +template class GenericOutputBlackoilModule,double>; } // namespace Opm diff --git a/ebos/eclgenericoutputblackoilmodule.hh b/opm/simulators/flow/GenericOutputBlackoilModule.hpp similarity index 92% rename from ebos/eclgenericoutputblackoilmodule.hh rename to opm/simulators/flow/GenericOutputBlackoilModule.hpp index 7f95fa920..ba557f893 100644 --- a/ebos/eclgenericoutputblackoilmodule.hh +++ b/opm/simulators/flow/GenericOutputBlackoilModule.hpp @@ -18,10 +18,10 @@ */ /*! * \file - * \copydoc Opm::EclOutputBlackOilModule + * \copydoc Opm::OutputBlackOilModule */ -#ifndef EWOMS_ECL_GENERIC_OUTPUT_BLACK_OIL_MODULE_HH -#define EWOMS_ECL_GENERIC_OUTPUT_BLACK_OIL_MODULE_HH +#ifndef OPM_GENERIC_OUTPUT_BLACK_OIL_MODULE_HPP +#define OPM_GENERIC_OUTPUT_BLACK_OIL_MODULE_HPP #include @@ -54,8 +54,11 @@ class SummaryConfigNode; class SummaryState; template -class EclGenericOutputBlackoilModule { +class GenericOutputBlackoilModule { public: + // Virtual destructor for safer inheritance. + virtual ~GenericOutputBlackoilModule(); + Scalar* getPRESSURE_ptr(void) { return (this->fluidPressure_.data()) ; }; @@ -285,9 +288,6 @@ public: cnvData_ = data; } - // Virtual destructor for safer inheritance. - virtual ~EclGenericOutputBlackoilModule(); - template void serializeOp(Serializer& serializer) { @@ -313,21 +313,21 @@ protected: enum { waterCompIdx = FluidSystem::waterCompIdx }; using Dir = FaceDir::DirEnum; - EclGenericOutputBlackoilModule(const EclipseState& eclState, - const Schedule& schedule, - const SummaryConfig& summaryConfig, - const SummaryState& summaryState, - const std::string& moduleVersionName, - bool enableEnergy, - bool enableTemperature, - bool enableMech, - bool enableSolvent, - bool enablePolymer, - bool enableFoam, - bool enableBrine, - bool enableSaltPrecipitation, - bool enableExtbo, - bool enableMICP); + GenericOutputBlackoilModule(const EclipseState& eclState, + const Schedule& schedule, + const SummaryConfig& summaryConfig, + const SummaryState& summaryState, + const std::string& moduleVersionName, + bool enableEnergy, + bool enableTemperature, + bool enableMech, + bool enableSolvent, + bool enablePolymer, + bool enableFoam, + bool enableBrine, + bool enableSaltPrecipitation, + bool enableExtbo, + bool enableMICP); void doAllocBuffers(unsigned bufferSize, unsigned reportStepNum, @@ -525,4 +525,4 @@ protected: } // namespace Opm -#endif +#endif // OPM_GENERIC_OUTPUT_BLACK_OIL_MODULE_HPP diff --git a/ebos/ecloutputblackoilmodule.hh b/opm/simulators/flow/OutputBlackoilModule.hpp similarity index 99% rename from ebos/ecloutputblackoilmodule.hh rename to opm/simulators/flow/OutputBlackoilModule.hpp index 50b276fa2..338d14655 100644 --- a/ebos/ecloutputblackoilmodule.hh +++ b/opm/simulators/flow/OutputBlackoilModule.hpp @@ -22,21 +22,22 @@ */ /*! * \file - * \copydoc Opm::EclOutputBlackOilModule + * \copydoc Opm::OutputBlackOilModule */ -#ifndef EWOMS_ECL_OUTPUT_BLACK_OIL_MODULE_HH -#define EWOMS_ECL_OUTPUT_BLACK_OIL_MODULE_HH +#ifndef OPM_OUTPUT_BLACK_OIL_MODULE_HPP +#define OPM_OUTPUT_BLACK_OIL_MODULE_HPP #include #include -#include #include #include #include #include +#include + #include #include #include @@ -51,7 +52,7 @@ #include #include -#include +#include #include #include @@ -70,7 +71,7 @@ namespace Opm::Properties // create new type tag for the Ecl-output namespace TTag { - struct EclOutputBlackOil { + struct OutputBlackOil { }; } // namespace TTag @@ -80,7 +81,7 @@ struct ForceDisableFluidInPlaceOutput { }; template -struct ForceDisableFluidInPlaceOutput { +struct ForceDisableFluidInPlaceOutput { static constexpr bool value = false; }; @@ -91,7 +92,7 @@ struct ForceDisableResvFluidInPlaceOutput { }; template -struct ForceDisableResvFluidInPlaceOutput { +struct ForceDisableResvFluidInPlaceOutput { static constexpr bool value = false; }; @@ -105,14 +106,14 @@ template class EcfvDiscretization; /*! - * \ingroup EclBlackOilSimulator + * \ingroup BlackOilSimulator * * \brief Output module for the results black oil model writing in * ECL binary format. */ template -class EclOutputBlackOilModule : public EclGenericOutputBlackoilModule, - GetPropType> +class OutputBlackOilModule : public GenericOutputBlackoilModule, + GetPropType> { using Simulator = GetPropType; using Discretization = GetPropType; @@ -126,7 +127,7 @@ class EclOutputBlackOilModule : public EclGenericOutputBlackoilModule; using Element = typename GridView::template Codim<0>::Entity; using ElementIterator = typename GridView::template Codim<0>::Iterator; - using BaseType = EclGenericOutputBlackoilModule; + using BaseType = GenericOutputBlackoilModule; using Indices = GetPropType; using Dir = FaceDir::DirEnum; @@ -142,8 +143,8 @@ class EclOutputBlackOilModule : public EclGenericOutputBlackoilModule - EclOutputBlackOilModule(const Simulator& simulator, - const CollectDataToIORankType& collectToIORank) + OutputBlackOilModule(const Simulator& simulator, + const CollectDataToIORankType& collectToIORank) : BaseType(simulator.vanguard().eclState(), simulator.vanguard().schedule(), simulator.vanguard().summaryConfig(), @@ -1686,4 +1687,4 @@ private: } // namespace Opm -#endif +#endif // OPM_OUTPUT_BLACK_OIL_MODULE_HPP