mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
EclInterRegFlows: rename to InterRegFlows
This commit is contained in:
@@ -43,9 +43,9 @@ list (APPEND MAIN_SOURCE_FILES
|
|||||||
opm/simulators/flow/Banners.cpp
|
opm/simulators/flow/Banners.cpp
|
||||||
opm/simulators/flow/ConvergenceOutputConfiguration.cpp
|
opm/simulators/flow/ConvergenceOutputConfiguration.cpp
|
||||||
opm/simulators/flow/EclActionHandler.cpp
|
opm/simulators/flow/EclActionHandler.cpp
|
||||||
opm/simulators/flow/EclInterRegFlows.cpp
|
|
||||||
opm/simulators/flow/ExtraConvergenceOutputThread.cpp
|
opm/simulators/flow/ExtraConvergenceOutputThread.cpp
|
||||||
opm/simulators/flow/FlowMainEbos.cpp
|
opm/simulators/flow/FlowMainEbos.cpp
|
||||||
|
opm/simulators/flow/InterRegFlows.cpp
|
||||||
opm/simulators/flow/KeywordValidation.cpp
|
opm/simulators/flow/KeywordValidation.cpp
|
||||||
opm/simulators/flow/LogOutputHelper.cpp
|
opm/simulators/flow/LogOutputHelper.cpp
|
||||||
opm/simulators/flow/Main.cpp
|
opm/simulators/flow/Main.cpp
|
||||||
@@ -261,13 +261,13 @@ list (APPEND TEST_SOURCE_FILES
|
|||||||
tests/test_convergencereport.cpp
|
tests/test_convergencereport.cpp
|
||||||
tests/test_deferredlogger.cpp
|
tests/test_deferredlogger.cpp
|
||||||
tests/test_dilu.cpp
|
tests/test_dilu.cpp
|
||||||
tests/test_eclinterregflows.cpp
|
|
||||||
tests/test_equil.cc
|
tests/test_equil.cc
|
||||||
tests/test_extractMatrix.cpp
|
tests/test_extractMatrix.cpp
|
||||||
tests/test_flexiblesolver.cpp
|
tests/test_flexiblesolver.cpp
|
||||||
tests/test_glift1.cpp
|
tests/test_glift1.cpp
|
||||||
tests/test_graphcoloring.cpp
|
tests/test_graphcoloring.cpp
|
||||||
tests/test_GroupState.cpp
|
tests/test_GroupState.cpp
|
||||||
|
tests/test_interregflows.cpp
|
||||||
tests/test_invert.cpp
|
tests/test_invert.cpp
|
||||||
tests/test_keyword_validator.cpp
|
tests/test_keyword_validator.cpp
|
||||||
tests/test_LogOutputHelper.cpp
|
tests/test_LogOutputHelper.cpp
|
||||||
@@ -447,9 +447,9 @@ list (APPEND PUBLIC_HEADER_FILES
|
|||||||
opm/simulators/flow/Banners.hpp
|
opm/simulators/flow/Banners.hpp
|
||||||
opm/simulators/flow/ConvergenceOutputConfiguration.hpp
|
opm/simulators/flow/ConvergenceOutputConfiguration.hpp
|
||||||
opm/simulators/flow/EclActionHandler.hpp
|
opm/simulators/flow/EclActionHandler.hpp
|
||||||
opm/simulators/flow/EclInterRegFlows.hpp
|
|
||||||
opm/simulators/flow/ExtraConvergenceOutputThread.hpp
|
opm/simulators/flow/ExtraConvergenceOutputThread.hpp
|
||||||
opm/simulators/flow/FlowMainEbos.hpp
|
opm/simulators/flow/FlowMainEbos.hpp
|
||||||
|
opm/simulators/flow/InterRegFlows.hpp
|
||||||
opm/simulators/flow/Main.hpp
|
opm/simulators/flow/Main.hpp
|
||||||
opm/simulators/flow/NonlinearSolver.hpp
|
opm/simulators/flow/NonlinearSolver.hpp
|
||||||
opm/simulators/flow/RSTConv.hpp
|
opm/simulators/flow/RSTConv.hpp
|
||||||
|
|||||||
@@ -33,7 +33,7 @@
|
|||||||
#include <opm/output/data/Solution.hpp>
|
#include <opm/output/data/Solution.hpp>
|
||||||
#include <opm/output/data/Wells.hpp>
|
#include <opm/output/data/Wells.hpp>
|
||||||
|
|
||||||
#include <opm/simulators/flow/EclInterRegFlows.hpp>
|
#include <opm/simulators/flow/InterRegFlows.hpp>
|
||||||
|
|
||||||
#include <array>
|
#include <array>
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
@@ -81,7 +81,7 @@ public:
|
|||||||
const data::GroupAndNetworkValues& localGroupAndNetworkData,
|
const data::GroupAndNetworkValues& localGroupAndNetworkData,
|
||||||
const data::Aquifers& localAquiferData,
|
const data::Aquifers& localAquiferData,
|
||||||
const WellTestState& localWellTestState,
|
const WellTestState& localWellTestState,
|
||||||
const EclInterRegFlowMap& interRegFlows,
|
const InterRegFlowMap& interRegFlows,
|
||||||
const std::array<std::pair<std::string, std::pair<std::vector<int>, std::vector<double>>>, 3>& localFlowsn,
|
const std::array<std::pair<std::string, std::pair<std::vector<int>, std::vector<double>>>, 3>& localFlowsn,
|
||||||
const std::array<std::pair<std::string, std::pair<std::vector<int>, std::vector<double>>>, 3>& localFloresn);
|
const std::array<std::pair<std::string, std::pair<std::vector<int>, std::vector<double>>>, 3>& localFloresn);
|
||||||
|
|
||||||
@@ -109,10 +109,10 @@ public:
|
|||||||
const WellTestState& globalWellTestState() const
|
const WellTestState& globalWellTestState() const
|
||||||
{ return this->globalWellTestState_; }
|
{ return this->globalWellTestState_; }
|
||||||
|
|
||||||
EclInterRegFlowMap& globalInterRegFlows()
|
InterRegFlowMap& globalInterRegFlows()
|
||||||
{ return this->globalInterRegFlows_; }
|
{ return this->globalInterRegFlows_; }
|
||||||
|
|
||||||
const EclInterRegFlowMap& globalInterRegFlows() const
|
const InterRegFlowMap& globalInterRegFlows() const
|
||||||
{ return this->globalInterRegFlows_; }
|
{ return this->globalInterRegFlows_; }
|
||||||
|
|
||||||
const std::array<std::pair<std::string, std::pair<std::vector<int>, std::vector<double>>>, 3>& globalFlowsn() const
|
const std::array<std::pair<std::string, std::pair<std::vector<int>, std::vector<double>>>, 3>& globalFlowsn() const
|
||||||
@@ -147,7 +147,7 @@ public:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
P2PCommunicatorType toIORankComm_;
|
P2PCommunicatorType toIORankComm_;
|
||||||
EclInterRegFlowMap globalInterRegFlows_;
|
InterRegFlowMap globalInterRegFlows_;
|
||||||
IndexMapType globalCartesianIndex_;
|
IndexMapType globalCartesianIndex_;
|
||||||
IndexMapType localIndexMap_;
|
IndexMapType localIndexMap_;
|
||||||
IndexMapStorageType indexMaps_;
|
IndexMapStorageType indexMaps_;
|
||||||
|
|||||||
@@ -741,13 +741,13 @@ private:
|
|||||||
|
|
||||||
class PackUnpackInterRegFlows : public P2PCommunicatorType::DataHandleInterface
|
class PackUnpackInterRegFlows : public P2PCommunicatorType::DataHandleInterface
|
||||||
{
|
{
|
||||||
const EclInterRegFlowMap& localInterRegFlows_;
|
const InterRegFlowMap& localInterRegFlows_;
|
||||||
EclInterRegFlowMap& globalInterRegFlows_;
|
InterRegFlowMap& globalInterRegFlows_;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
PackUnpackInterRegFlows(const EclInterRegFlowMap& localInterRegFlows,
|
PackUnpackInterRegFlows(const InterRegFlowMap& localInterRegFlows,
|
||||||
EclInterRegFlowMap& globalInterRegFlows,
|
InterRegFlowMap& globalInterRegFlows,
|
||||||
const bool isIORank)
|
const bool isIORank)
|
||||||
: localInterRegFlows_(localInterRegFlows)
|
: localInterRegFlows_(localInterRegFlows)
|
||||||
, globalInterRegFlows_(globalInterRegFlows)
|
, globalInterRegFlows_(globalInterRegFlows)
|
||||||
{
|
{
|
||||||
@@ -850,7 +850,7 @@ CollectDataToIORank(const Grid& grid, const EquilGrid* equilGrid,
|
|||||||
const Dune::CartesianIndexMapper<EquilGrid>* equilCartMapper,
|
const Dune::CartesianIndexMapper<EquilGrid>* equilCartMapper,
|
||||||
const std::set<std::string>& fipRegionsInterregFlow)
|
const std::set<std::string>& fipRegionsInterregFlow)
|
||||||
: toIORankComm_(grid.comm())
|
: toIORankComm_(grid.comm())
|
||||||
, globalInterRegFlows_(EclInterRegFlowMap::createMapFromNames(toVector(fipRegionsInterregFlow)))
|
, globalInterRegFlows_(InterRegFlowMap::createMapFromNames(toVector(fipRegionsInterregFlow)))
|
||||||
{
|
{
|
||||||
// index maps only have to be build when reordering is needed
|
// index maps only have to be build when reordering is needed
|
||||||
if (!needsReordering && !isParallel())
|
if (!needsReordering && !isParallel())
|
||||||
@@ -974,7 +974,7 @@ collect(const data::Solution& localCellData,
|
|||||||
const data::GroupAndNetworkValues& localGroupAndNetworkData,
|
const data::GroupAndNetworkValues& localGroupAndNetworkData,
|
||||||
const data::Aquifers& localAquiferData,
|
const data::Aquifers& localAquiferData,
|
||||||
const WellTestState& localWellTestState,
|
const WellTestState& localWellTestState,
|
||||||
const EclInterRegFlowMap& localInterRegFlows,
|
const InterRegFlowMap& localInterRegFlows,
|
||||||
const std::array<std::pair<std::string, std::pair<std::vector<int>, std::vector<double>>>, 3>& localFlowsn,
|
const std::array<std::pair<std::string, std::pair<std::vector<int>, std::vector<double>>>, 3>& localFlowsn,
|
||||||
const std::array<std::pair<std::string, std::pair<std::vector<int>, std::vector<double>>>, 3>& localFloresn)
|
const std::array<std::pair<std::string, std::pair<std::vector<int>, std::vector<double>>>, 3>& localFloresn)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -143,11 +143,11 @@ std::string EclString(const Opm::Inplace::Phase phase)
|
|||||||
return eclState.fieldProps().get_int("FIPNUM").size();
|
return eclState.fieldProps().get_int("FIPNUM").size();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<Opm::EclInterRegFlowMap::SingleRegion>
|
std::vector<Opm::InterRegFlowMap::SingleRegion>
|
||||||
defineInterRegionFlowArrays(const Opm::EclipseState& eclState,
|
defineInterRegionFlowArrays(const Opm::EclipseState& eclState,
|
||||||
const Opm::SummaryConfig& summaryConfig)
|
const Opm::SummaryConfig& summaryConfig)
|
||||||
{
|
{
|
||||||
auto regions = std::vector<Opm::EclInterRegFlowMap::SingleRegion>{};
|
auto regions = std::vector<Opm::InterRegFlowMap::SingleRegion>{};
|
||||||
|
|
||||||
const auto& fprops = eclState.fieldProps();
|
const auto& fprops = eclState.fieldProps();
|
||||||
for (const auto& arrayName : summaryConfig.fip_regions_interreg_flow()) {
|
for (const auto& arrayName : summaryConfig.fip_regions_interreg_flow()) {
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
#include <opm/output/data/Wells.hpp>
|
#include <opm/output/data/Wells.hpp>
|
||||||
#include <opm/output/eclipse/Inplace.hpp>
|
#include <opm/output/eclipse/Inplace.hpp>
|
||||||
|
|
||||||
#include <opm/simulators/flow/EclInterRegFlows.hpp>
|
#include <opm/simulators/flow/InterRegFlows.hpp>
|
||||||
#include <opm/simulators/flow/LogOutputHelper.hpp>
|
#include <opm/simulators/flow/LogOutputHelper.hpp>
|
||||||
#include <opm/simulators/utils/ParallelCommunication.hpp>
|
#include <opm/simulators/utils/ParallelCommunication.hpp>
|
||||||
|
|
||||||
@@ -363,7 +363,7 @@ protected:
|
|||||||
const SummaryConfig& summaryConfig_;
|
const SummaryConfig& summaryConfig_;
|
||||||
const SummaryState& summaryState_;
|
const SummaryState& summaryState_;
|
||||||
|
|
||||||
EclInterRegFlowMap interRegionFlows_;
|
InterRegFlowMap interRegionFlows_;
|
||||||
LogOutputHelper<Scalar> logOutput_;
|
LogOutputHelper<Scalar> logOutput_;
|
||||||
|
|
||||||
bool enableEnergy_;
|
bool enableEnergy_;
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ namespace Opm {
|
|||||||
|
|
||||||
class EclipseIO;
|
class EclipseIO;
|
||||||
class EclipseState;
|
class EclipseState;
|
||||||
class EclInterRegFlowMap;
|
class InterRegFlowMap;
|
||||||
class Inplace;
|
class Inplace;
|
||||||
struct NNCdata;
|
struct NNCdata;
|
||||||
class Schedule;
|
class Schedule;
|
||||||
@@ -147,7 +147,7 @@ protected:
|
|||||||
const std::map<std::string, std::vector<double>>& regionData,
|
const std::map<std::string, std::vector<double>>& regionData,
|
||||||
const Inplace& inplace,
|
const Inplace& inplace,
|
||||||
const Inplace& initialInPlace,
|
const Inplace& initialInPlace,
|
||||||
const EclInterRegFlowMap& interRegFlows,
|
const InterRegFlowMap& interRegFlows,
|
||||||
SummaryState& summaryState,
|
SummaryState& summaryState,
|
||||||
UDQState& udqState);
|
UDQState& udqState);
|
||||||
|
|
||||||
|
|||||||
@@ -115,7 +115,7 @@ bool directVerticalNeighbors(const std::array<int, 3>& cartDims,
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::unordered_map<std::string, Opm::data::InterRegFlowMap>
|
std::unordered_map<std::string, Opm::data::InterRegFlowMap>
|
||||||
getInterRegFlowsAsMap(const Opm::EclInterRegFlowMap& map)
|
getInterRegFlowsAsMap(const Opm::InterRegFlowMap& map)
|
||||||
{
|
{
|
||||||
auto maps = std::unordered_map<std::string, Opm::data::InterRegFlowMap>{};
|
auto maps = std::unordered_map<std::string, Opm::data::InterRegFlowMap>{};
|
||||||
|
|
||||||
@@ -605,7 +605,7 @@ evalSummary(const int reportStepNum,
|
|||||||
const std::map<std::string, std::vector<double>>& regionData,
|
const std::map<std::string, std::vector<double>>& regionData,
|
||||||
const Inplace& inplace,
|
const Inplace& inplace,
|
||||||
const Inplace& initialInPlace,
|
const Inplace& initialInPlace,
|
||||||
const EclInterRegFlowMap& interRegFlows,
|
const InterRegFlowMap& interRegFlows,
|
||||||
SummaryState& summaryState,
|
SummaryState& summaryState,
|
||||||
UDQState& udqState)
|
UDQState& udqState)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -943,7 +943,7 @@ public:
|
|||||||
{
|
{
|
||||||
OPM_TIMEBLOCK_LOCAL(processFluxes);
|
OPM_TIMEBLOCK_LOCAL(processFluxes);
|
||||||
const auto identifyCell = [&activeIndex, &cartesianIndex](const Element& elem)
|
const auto identifyCell = [&activeIndex, &cartesianIndex](const Element& elem)
|
||||||
-> EclInterRegFlowMap::Cell
|
-> InterRegFlowMap::Cell
|
||||||
{
|
{
|
||||||
const auto cellIndex = activeIndex(elem);
|
const auto cellIndex = activeIndex(elem);
|
||||||
|
|
||||||
@@ -992,7 +992,7 @@ public:
|
|||||||
/*!
|
/*!
|
||||||
* \brief Get read-only access to collection of inter-region flows.
|
* \brief Get read-only access to collection of inter-region flows.
|
||||||
*/
|
*/
|
||||||
const EclInterRegFlowMap& getInterRegFlows() const
|
const InterRegFlowMap& getInterRegFlows() const
|
||||||
{
|
{
|
||||||
return this->interRegionFlows_;
|
return this->interRegionFlows_;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,13 +23,13 @@
|
|||||||
#include "config.h"
|
#include "config.h"
|
||||||
#endif // HAVE_CONFIG_H
|
#endif // HAVE_CONFIG_H
|
||||||
|
|
||||||
#include <opm/simulators/flow/EclInterRegFlows.hpp>
|
#include <opm/simulators/flow/InterRegFlows.hpp>
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
|
|
||||||
Opm::EclInterRegFlowMapSingleFIP::
|
Opm::InterRegFlowMapSingleFIP::
|
||||||
EclInterRegFlowMapSingleFIP(const std::vector<int>& region)
|
InterRegFlowMapSingleFIP(const std::vector<int>& region)
|
||||||
: region_(region.size(), 0)
|
: region_(region.size(), 0)
|
||||||
{
|
{
|
||||||
if (! region.empty()) {
|
if (! region.empty()) {
|
||||||
@@ -43,7 +43,7 @@ EclInterRegFlowMapSingleFIP(const std::vector<int>& region)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
Opm::EclInterRegFlowMapSingleFIP::
|
Opm::InterRegFlowMapSingleFIP::
|
||||||
addConnection(const Cell& source,
|
addConnection(const Cell& source,
|
||||||
const Cell& destination,
|
const Cell& destination,
|
||||||
const data::InterRegFlowMap::FlowRates& rates)
|
const data::InterRegFlowMap::FlowRates& rates)
|
||||||
@@ -75,30 +75,30 @@ addConnection(const Cell& source,
|
|||||||
this->iregFlow_.addConnection(r1, r2, rates);
|
this->iregFlow_.addConnection(r1, r2, rates);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Opm::EclInterRegFlowMapSingleFIP::compress()
|
void Opm::InterRegFlowMapSingleFIP::compress()
|
||||||
{
|
{
|
||||||
this->iregFlow_.compress(this->maxGlobalRegionID_);
|
this->iregFlow_.compress(this->maxGlobalRegionID_);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Opm::EclInterRegFlowMapSingleFIP::clear()
|
void Opm::InterRegFlowMapSingleFIP::clear()
|
||||||
{
|
{
|
||||||
this->iregFlow_.clear();
|
this->iregFlow_.clear();
|
||||||
this->isReadFromStream_ = false;
|
this->isReadFromStream_ = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
const Opm::data::InterRegFlowMap&
|
const Opm::data::InterRegFlowMap&
|
||||||
Opm::EclInterRegFlowMapSingleFIP::getInterRegFlows() const
|
Opm::InterRegFlowMapSingleFIP::getInterRegFlows() const
|
||||||
{
|
{
|
||||||
return this->iregFlow_;
|
return this->iregFlow_;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::size_t Opm::EclInterRegFlowMapSingleFIP::getLocalMaxRegionID() const
|
std::size_t Opm::InterRegFlowMapSingleFIP::getLocalMaxRegionID() const
|
||||||
{
|
{
|
||||||
return this->maxLocalRegionID_;
|
return this->maxLocalRegionID_;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
Opm::EclInterRegFlowMapSingleFIP::
|
Opm::InterRegFlowMapSingleFIP::
|
||||||
assignGlobalMaxRegionID(const std::size_t regID)
|
assignGlobalMaxRegionID(const std::size_t regID)
|
||||||
{
|
{
|
||||||
if (regID < this->maxLocalRegionID_) {
|
if (regID < this->maxLocalRegionID_) {
|
||||||
@@ -118,21 +118,21 @@ assignGlobalMaxRegionID(const std::size_t regID)
|
|||||||
//
|
//
|
||||||
// =====================================================================
|
// =====================================================================
|
||||||
|
|
||||||
Opm::EclInterRegFlowMap
|
Opm::InterRegFlowMap
|
||||||
Opm::EclInterRegFlowMap::createMapFromNames(std::vector<std::string> names)
|
Opm::InterRegFlowMap::createMapFromNames(std::vector<std::string> names)
|
||||||
{
|
{
|
||||||
auto map = EclInterRegFlowMap{};
|
auto map = InterRegFlowMap{};
|
||||||
|
|
||||||
map.names_ = std::move(names);
|
map.names_ = std::move(names);
|
||||||
map.regionMaps_.resize(map.names_.size(), EclInterRegFlowMapSingleFIP{});
|
map.regionMaps_.resize(map.names_.size(), InterRegFlowMapSingleFIP{});
|
||||||
|
|
||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
|
|
||||||
Opm::EclInterRegFlowMap::
|
Opm::InterRegFlowMap::
|
||||||
EclInterRegFlowMap(const std::size_t numCells,
|
InterRegFlowMap(const std::size_t numCells,
|
||||||
const std::vector<SingleRegion>& regions,
|
const std::vector<SingleRegion>& regions,
|
||||||
const std::size_t declaredMaxRegID)
|
const std::size_t declaredMaxRegID)
|
||||||
{
|
{
|
||||||
this->regionMaps_.reserve(regions.size());
|
this->regionMaps_.reserve(regions.size());
|
||||||
this->names_.reserve(regions.size());
|
this->names_.reserve(regions.size());
|
||||||
@@ -152,7 +152,7 @@ EclInterRegFlowMap(const std::size_t numCells,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
Opm::EclInterRegFlowMap::
|
Opm::InterRegFlowMap::
|
||||||
addConnection(const Cell& source,
|
addConnection(const Cell& source,
|
||||||
const Cell& destination,
|
const Cell& destination,
|
||||||
const data::InterRegFlowMap::FlowRates& rates)
|
const data::InterRegFlowMap::FlowRates& rates)
|
||||||
@@ -162,14 +162,14 @@ addConnection(const Cell& source,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Opm::EclInterRegFlowMap::compress()
|
void Opm::InterRegFlowMap::compress()
|
||||||
{
|
{
|
||||||
for (auto& regionMap : this->regionMaps_) {
|
for (auto& regionMap : this->regionMaps_) {
|
||||||
regionMap.compress();
|
regionMap.compress();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Opm::EclInterRegFlowMap::clear()
|
void Opm::InterRegFlowMap::clear()
|
||||||
{
|
{
|
||||||
for (auto& regionMap : this->regionMaps_) {
|
for (auto& regionMap : this->regionMaps_) {
|
||||||
regionMap.clear();
|
regionMap.clear();
|
||||||
@@ -179,13 +179,13 @@ void Opm::EclInterRegFlowMap::clear()
|
|||||||
}
|
}
|
||||||
|
|
||||||
const std::vector<std::string>&
|
const std::vector<std::string>&
|
||||||
Opm::EclInterRegFlowMap::names() const
|
Opm::InterRegFlowMap::names() const
|
||||||
{
|
{
|
||||||
return this->names_;
|
return this->names_;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<Opm::data::InterRegFlowMap>
|
std::vector<Opm::data::InterRegFlowMap>
|
||||||
Opm::EclInterRegFlowMap::getInterRegFlows() const
|
Opm::InterRegFlowMap::getInterRegFlows() const
|
||||||
{
|
{
|
||||||
auto maps = std::vector<data::InterRegFlowMap>{};
|
auto maps = std::vector<data::InterRegFlowMap>{};
|
||||||
maps.reserve(this->regionMaps_.size());
|
maps.reserve(this->regionMaps_.size());
|
||||||
@@ -198,7 +198,7 @@ Opm::EclInterRegFlowMap::getInterRegFlows() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::vector<std::size_t>
|
std::vector<std::size_t>
|
||||||
Opm::EclInterRegFlowMap::getLocalMaxRegionID() const
|
Opm::InterRegFlowMap::getLocalMaxRegionID() const
|
||||||
{
|
{
|
||||||
auto maxLocalRegionID = std::vector<std::size_t>{};
|
auto maxLocalRegionID = std::vector<std::size_t>{};
|
||||||
maxLocalRegionID.reserve(this->regionMaps_.size());
|
maxLocalRegionID.reserve(this->regionMaps_.size());
|
||||||
@@ -211,7 +211,7 @@ Opm::EclInterRegFlowMap::getLocalMaxRegionID() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
Opm::EclInterRegFlowMap::
|
Opm::InterRegFlowMap::
|
||||||
assignGlobalMaxRegionID(const std::vector<std::size_t>& regID)
|
assignGlobalMaxRegionID(const std::vector<std::size_t>& regID)
|
||||||
{
|
{
|
||||||
if (regID.size() != this->regionMaps_.size()) {
|
if (regID.size() != this->regionMaps_.size()) {
|
||||||
@@ -231,7 +231,7 @@ assignGlobalMaxRegionID(const std::vector<std::size_t>& regID)
|
|||||||
return assignmentOK;
|
return assignmentOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Opm::EclInterRegFlowMap::readIsConsistent() const
|
bool Opm::InterRegFlowMap::readIsConsistent() const
|
||||||
{
|
{
|
||||||
return this->readIsConsistent_;
|
return this->readIsConsistent_;
|
||||||
}
|
}
|
||||||
@@ -19,8 +19,8 @@
|
|||||||
along with OPM. If not, see <http://www.gnu.org/licenses/>.
|
along with OPM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef ECL_INTERREG_FLOWS_MODULE_HPP
|
#ifndef OPM_INTERREG_FLOWS_MODULE_HPP
|
||||||
#define ECL_INTERREG_FLOWS_MODULE_HPP
|
#define OPM_INTERREG_FLOWS_MODULE_HPP
|
||||||
|
|
||||||
#include <opm/output/data/InterRegFlowMap.hpp>
|
#include <opm/output/data/InterRegFlowMap.hpp>
|
||||||
|
|
||||||
@@ -38,12 +38,12 @@
|
|||||||
|
|
||||||
namespace Opm {
|
namespace Opm {
|
||||||
|
|
||||||
class EclInterRegFlowMap;
|
class InterRegFlowMap;
|
||||||
|
|
||||||
/// Form CSR adjacency matrix representation of inter-region flow rate
|
/// Form CSR adjacency matrix representation of inter-region flow rate
|
||||||
/// graph provided as a list of connections between regions on local MPI
|
/// graph provided as a list of connections between regions on local MPI
|
||||||
/// rank. Pertains to a single FIP definition array (e.g., FIPNUM).
|
/// rank. Pertains to a single FIP definition array (e.g., FIPNUM).
|
||||||
class EclInterRegFlowMapSingleFIP
|
class InterRegFlowMapSingleFIP
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
/// Minimal characteristics of a cell from a simulation grid.
|
/// Minimal characteristics of a cell from a simulation grid.
|
||||||
@@ -58,12 +58,12 @@ namespace Opm {
|
|||||||
bool isInterior{true};
|
bool isInterior{true};
|
||||||
};
|
};
|
||||||
|
|
||||||
friend class EclInterRegFlowMap;
|
friend class InterRegFlowMap;
|
||||||
|
|
||||||
/// Constructor
|
/// Constructor
|
||||||
///
|
///
|
||||||
/// \param[in] region Local rank's FIP region definition array.
|
/// \param[in] region Local rank's FIP region definition array.
|
||||||
explicit EclInterRegFlowMapSingleFIP(const std::vector<int>& region);
|
explicit InterRegFlowMapSingleFIP(const std::vector<int>& region);
|
||||||
|
|
||||||
/// Add flow rate connection between regions.
|
/// Add flow rate connection between regions.
|
||||||
///
|
///
|
||||||
@@ -171,11 +171,11 @@ namespace Opm {
|
|||||||
bool isReadFromStream_{false};
|
bool isReadFromStream_{false};
|
||||||
|
|
||||||
/// Default constructor.
|
/// Default constructor.
|
||||||
EclInterRegFlowMapSingleFIP() = default;
|
InterRegFlowMapSingleFIP() = default;
|
||||||
};
|
};
|
||||||
|
|
||||||
/// Inter-region flow accumulation maps for all region definition arrays
|
/// Inter-region flow accumulation maps for all region definition arrays
|
||||||
class EclInterRegFlowMap
|
class InterRegFlowMap
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
/// Minimal representation of a single named region defintion.
|
/// Minimal representation of a single named region defintion.
|
||||||
@@ -190,10 +190,10 @@ namespace Opm {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/// Characteristics of a cell from a simulation grid.
|
/// Characteristics of a cell from a simulation grid.
|
||||||
using Cell = EclInterRegFlowMapSingleFIP::Cell;
|
using Cell = InterRegFlowMapSingleFIP::Cell;
|
||||||
|
|
||||||
/// Default constructor.
|
/// Default constructor.
|
||||||
EclInterRegFlowMap() = default;
|
InterRegFlowMap() = default;
|
||||||
|
|
||||||
/// Special purpose constructor for global object being collected on
|
/// Special purpose constructor for global object being collected on
|
||||||
/// the I/O rank.
|
/// the I/O rank.
|
||||||
@@ -201,7 +201,7 @@ namespace Opm {
|
|||||||
/// Only knows about the FIP region set names.
|
/// Only knows about the FIP region set names.
|
||||||
///
|
///
|
||||||
/// \param[in] names Sorted sequence of FIP region names.
|
/// \param[in] names Sorted sequence of FIP region names.
|
||||||
static EclInterRegFlowMap
|
static InterRegFlowMap
|
||||||
createMapFromNames(std::vector<std::string> names);
|
createMapFromNames(std::vector<std::string> names);
|
||||||
|
|
||||||
/// Constructor.
|
/// Constructor.
|
||||||
@@ -214,15 +214,15 @@ namespace Opm {
|
|||||||
/// \param[in] declaredMaxRegID Declared maximum region ID in the
|
/// \param[in] declaredMaxRegID Declared maximum region ID in the
|
||||||
/// run-typically from the TABDIMS and/or REGDIMS keywords. Used
|
/// run-typically from the TABDIMS and/or REGDIMS keywords. Used
|
||||||
/// for sizing internal data structures if greater than zero.
|
/// for sizing internal data structures if greater than zero.
|
||||||
explicit EclInterRegFlowMap(const std::size_t numCells,
|
explicit InterRegFlowMap(const std::size_t numCells,
|
||||||
const std::vector<SingleRegion>& regions,
|
const std::vector<SingleRegion>& regions,
|
||||||
const std::size_t declaredMaxRegID = 0);
|
const std::size_t declaredMaxRegID = 0);
|
||||||
|
|
||||||
EclInterRegFlowMap(const EclInterRegFlowMap& rhs) = default;
|
InterRegFlowMap(const InterRegFlowMap& rhs) = default;
|
||||||
EclInterRegFlowMap(EclInterRegFlowMap&& rhs) noexcept = default;
|
InterRegFlowMap(InterRegFlowMap&& rhs) noexcept = default;
|
||||||
|
|
||||||
EclInterRegFlowMap& operator=(const EclInterRegFlowMap& rhs) = default;
|
InterRegFlowMap& operator=(const InterRegFlowMap& rhs) = default;
|
||||||
EclInterRegFlowMap& operator=(EclInterRegFlowMap&& rhs) noexcept = default;
|
InterRegFlowMap& operator=(InterRegFlowMap&& rhs) noexcept = default;
|
||||||
|
|
||||||
/// Add flow rate connection between regions for all region
|
/// Add flow rate connection between regions for all region
|
||||||
/// definitions.
|
/// definitions.
|
||||||
@@ -336,7 +336,7 @@ namespace Opm {
|
|||||||
// different number of maps). Unexpected. Read the values
|
// different number of maps). Unexpected. Read the values
|
||||||
// from the input stream, but do not merge with internal
|
// from the input stream, but do not merge with internal
|
||||||
// values.
|
// values.
|
||||||
auto map = EclInterRegFlowMapSingleFIP {
|
auto map = InterRegFlowMapSingleFIP {
|
||||||
std::vector<int>(this->numCells_, 1)
|
std::vector<int>(this->numCells_, 1)
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -352,7 +352,7 @@ namespace Opm {
|
|||||||
private:
|
private:
|
||||||
/// Inter-region flow accumulators. One accumulator map for each
|
/// Inter-region flow accumulators. One accumulator map for each
|
||||||
/// region definition array.
|
/// region definition array.
|
||||||
std::vector<EclInterRegFlowMapSingleFIP> regionMaps_{};
|
std::vector<InterRegFlowMapSingleFIP> regionMaps_{};
|
||||||
|
|
||||||
/// Names of region definition arrays. Typically "FIPNUM" and other
|
/// Names of region definition arrays. Typically "FIPNUM" and other
|
||||||
/// "FIPXYZ" array names.
|
/// "FIPXYZ" array names.
|
||||||
@@ -385,4 +385,4 @@ namespace Opm {
|
|||||||
};
|
};
|
||||||
} // namespace Opm
|
} // namespace Opm
|
||||||
|
|
||||||
#endif // ECL_INTERREG_FLOWS_MODULE_HPP
|
#endif // OPM_INTERREG_FLOWS_MODULE_HPP
|
||||||
@@ -36,7 +36,7 @@
|
|||||||
|
|
||||||
#include <opm/grid/common/p2pcommunicator.hh>
|
#include <opm/grid/common/p2pcommunicator.hh>
|
||||||
|
|
||||||
#include <opm/simulators/flow/EclInterRegFlows.hpp>
|
#include <opm/simulators/flow/InterRegFlows.hpp>
|
||||||
|
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
@@ -205,7 +205,7 @@ BOOST_AUTO_TEST_SUITE(Single_FIP_Region)
|
|||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(AllInternal)
|
BOOST_AUTO_TEST_CASE(AllInternal)
|
||||||
{
|
{
|
||||||
auto flows = Opm::EclInterRegFlowMapSingleFIP{ all_same_region() };
|
auto flows = Opm::InterRegFlowMapSingleFIP{ all_same_region() };
|
||||||
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{1});
|
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{1});
|
||||||
|
|
||||||
BOOST_CHECK_MESSAGE(flows.assignGlobalMaxRegionID(5),
|
BOOST_CHECK_MESSAGE(flows.assignGlobalMaxRegionID(5),
|
||||||
@@ -234,7 +234,7 @@ BOOST_AUTO_TEST_CASE(AllInternal)
|
|||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(LeftInternal_RightOther)
|
BOOST_AUTO_TEST_CASE(LeftInternal_RightOther)
|
||||||
{
|
{
|
||||||
auto flows = Opm::EclInterRegFlowMapSingleFIP{ all_same_region() };
|
auto flows = Opm::InterRegFlowMapSingleFIP{ all_same_region() };
|
||||||
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{1});
|
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{1});
|
||||||
|
|
||||||
BOOST_CHECK_MESSAGE(flows.assignGlobalMaxRegionID(5),
|
BOOST_CHECK_MESSAGE(flows.assignGlobalMaxRegionID(5),
|
||||||
@@ -263,7 +263,7 @@ BOOST_AUTO_TEST_CASE(LeftInternal_RightOther)
|
|||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(TopInternal_BottomOther)
|
BOOST_AUTO_TEST_CASE(TopInternal_BottomOther)
|
||||||
{
|
{
|
||||||
auto flows = Opm::EclInterRegFlowMapSingleFIP{ all_same_region() };
|
auto flows = Opm::InterRegFlowMapSingleFIP{ all_same_region() };
|
||||||
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{1});
|
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{1});
|
||||||
|
|
||||||
BOOST_CHECK_MESSAGE(flows.assignGlobalMaxRegionID(5),
|
BOOST_CHECK_MESSAGE(flows.assignGlobalMaxRegionID(5),
|
||||||
@@ -298,7 +298,7 @@ BOOST_AUTO_TEST_SUITE(Left_Right_Split_Region)
|
|||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(AllInternal)
|
BOOST_AUTO_TEST_CASE(AllInternal)
|
||||||
{
|
{
|
||||||
auto flows = Opm::EclInterRegFlowMapSingleFIP{ left_right_split_region() };
|
auto flows = Opm::InterRegFlowMapSingleFIP{ left_right_split_region() };
|
||||||
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{2});
|
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{2});
|
||||||
|
|
||||||
flows.addConnection({ 0, 0, true }, { 1, 1, true }, conn_01());
|
flows.addConnection({ 0, 0, true }, { 1, 1, true }, conn_01());
|
||||||
@@ -384,7 +384,7 @@ BOOST_AUTO_TEST_CASE(AllInternal)
|
|||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(LeftInternal_RightOther)
|
BOOST_AUTO_TEST_CASE(LeftInternal_RightOther)
|
||||||
{
|
{
|
||||||
auto flows = Opm::EclInterRegFlowMapSingleFIP{ left_right_split_region() };
|
auto flows = Opm::InterRegFlowMapSingleFIP{ left_right_split_region() };
|
||||||
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{2});
|
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{2});
|
||||||
|
|
||||||
flows.addConnection({ 0, 0, true } , { 1, 1, false }, conn_01());
|
flows.addConnection({ 0, 0, true } , { 1, 1, false }, conn_01());
|
||||||
@@ -470,7 +470,7 @@ BOOST_AUTO_TEST_CASE(LeftInternal_RightOther)
|
|||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(LeftOther_RightInternal)
|
BOOST_AUTO_TEST_CASE(LeftOther_RightInternal)
|
||||||
{
|
{
|
||||||
auto flows = Opm::EclInterRegFlowMapSingleFIP{ left_right_split_region() };
|
auto flows = Opm::InterRegFlowMapSingleFIP{ left_right_split_region() };
|
||||||
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{2});
|
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{2});
|
||||||
|
|
||||||
flows.addConnection({ 0, 0, false }, { 1, 1, true } , conn_01());
|
flows.addConnection({ 0, 0, false }, { 1, 1, true } , conn_01());
|
||||||
@@ -500,7 +500,7 @@ BOOST_AUTO_TEST_CASE(LeftOther_RightInternal)
|
|||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(TopOther_BottomInternal)
|
BOOST_AUTO_TEST_CASE(TopOther_BottomInternal)
|
||||||
{
|
{
|
||||||
auto flows = Opm::EclInterRegFlowMapSingleFIP{ left_right_split_region() };
|
auto flows = Opm::InterRegFlowMapSingleFIP{ left_right_split_region() };
|
||||||
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{2});
|
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{2});
|
||||||
|
|
||||||
flows.addConnection({ 0, 0, true } , { 1, 1, true } , conn_01());
|
flows.addConnection({ 0, 0, true } , { 1, 1, true } , conn_01());
|
||||||
@@ -551,7 +551,7 @@ BOOST_AUTO_TEST_CASE(TopOther_BottomInternal)
|
|||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(CheckerBoard_Internal)
|
BOOST_AUTO_TEST_CASE(CheckerBoard_Internal)
|
||||||
{
|
{
|
||||||
auto flows = Opm::EclInterRegFlowMapSingleFIP{ left_right_split_region() };
|
auto flows = Opm::InterRegFlowMapSingleFIP{ left_right_split_region() };
|
||||||
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{2});
|
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{2});
|
||||||
|
|
||||||
flows.addConnection({ 0, 0, false }, { 1, 1, true } , conn_01());
|
flows.addConnection({ 0, 0, false }, { 1, 1, true } , conn_01());
|
||||||
@@ -608,7 +608,7 @@ BOOST_AUTO_TEST_SUITE(Checker_Board_Region)
|
|||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(AllInternal)
|
BOOST_AUTO_TEST_CASE(AllInternal)
|
||||||
{
|
{
|
||||||
auto flows = Opm::EclInterRegFlowMapSingleFIP{ checker_board_region() };
|
auto flows = Opm::InterRegFlowMapSingleFIP{ checker_board_region() };
|
||||||
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{2});
|
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{2});
|
||||||
|
|
||||||
flows.addConnection({ 0, 0, true }, { 1, 1, true }, conn_01());
|
flows.addConnection({ 0, 0, true }, { 1, 1, true }, conn_01());
|
||||||
@@ -659,7 +659,7 @@ BOOST_AUTO_TEST_CASE(AllInternal)
|
|||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(LeftInternal_RightOther)
|
BOOST_AUTO_TEST_CASE(LeftInternal_RightOther)
|
||||||
{
|
{
|
||||||
auto flows = Opm::EclInterRegFlowMapSingleFIP{ checker_board_region() };
|
auto flows = Opm::InterRegFlowMapSingleFIP{ checker_board_region() };
|
||||||
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{2});
|
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{2});
|
||||||
|
|
||||||
flows.addConnection({ 0, 0, true } , { 1, 1, false }, conn_01());
|
flows.addConnection({ 0, 0, true } , { 1, 1, false }, conn_01());
|
||||||
@@ -710,7 +710,7 @@ BOOST_AUTO_TEST_CASE(LeftInternal_RightOther)
|
|||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(LeftOther_RightInternal)
|
BOOST_AUTO_TEST_CASE(LeftOther_RightInternal)
|
||||||
{
|
{
|
||||||
auto flows = Opm::EclInterRegFlowMapSingleFIP{ checker_board_region() };
|
auto flows = Opm::InterRegFlowMapSingleFIP{ checker_board_region() };
|
||||||
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{2});
|
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{2});
|
||||||
|
|
||||||
flows.addConnection({ 0, 0, false }, { 1, 1, true } , conn_01());
|
flows.addConnection({ 0, 0, false }, { 1, 1, true } , conn_01());
|
||||||
@@ -761,7 +761,7 @@ BOOST_AUTO_TEST_CASE(LeftOther_RightInternal)
|
|||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(TopOther_BottomInternal)
|
BOOST_AUTO_TEST_CASE(TopOther_BottomInternal)
|
||||||
{
|
{
|
||||||
auto flows = Opm::EclInterRegFlowMapSingleFIP{ checker_board_region() };
|
auto flows = Opm::InterRegFlowMapSingleFIP{ checker_board_region() };
|
||||||
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{2});
|
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{2});
|
||||||
|
|
||||||
flows.addConnection({ 0, 0, false }, { 1, 1, false }, conn_01());
|
flows.addConnection({ 0, 0, false }, { 1, 1, false }, conn_01());
|
||||||
@@ -812,7 +812,7 @@ BOOST_AUTO_TEST_CASE(TopOther_BottomInternal)
|
|||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(CheckerBoard_Internal)
|
BOOST_AUTO_TEST_CASE(CheckerBoard_Internal)
|
||||||
{
|
{
|
||||||
auto flows = Opm::EclInterRegFlowMapSingleFIP{ checker_board_region() };
|
auto flows = Opm::InterRegFlowMapSingleFIP{ checker_board_region() };
|
||||||
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{2});
|
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{2});
|
||||||
|
|
||||||
flows.addConnection({ 0, 0, false }, { 1, 1, true } , conn_01());
|
flows.addConnection({ 0, 0, false }, { 1, 1, true } , conn_01());
|
||||||
@@ -863,7 +863,7 @@ BOOST_AUTO_TEST_CASE(CheckerBoard_Internal)
|
|||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(Reverse_CheckerBoard_Internal)
|
BOOST_AUTO_TEST_CASE(Reverse_CheckerBoard_Internal)
|
||||||
{
|
{
|
||||||
auto flows = Opm::EclInterRegFlowMapSingleFIP{ checker_board_region() };
|
auto flows = Opm::InterRegFlowMapSingleFIP{ checker_board_region() };
|
||||||
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{2});
|
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{2});
|
||||||
|
|
||||||
flows.addConnection({ 0, 0, true } , { 1, 1, false }, conn_01());
|
flows.addConnection({ 0, 0, true } , { 1, 1, false }, conn_01());
|
||||||
@@ -920,7 +920,7 @@ BOOST_AUTO_TEST_SUITE(All_Separate_Region)
|
|||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(AllInternal)
|
BOOST_AUTO_TEST_CASE(AllInternal)
|
||||||
{
|
{
|
||||||
auto flows = Opm::EclInterRegFlowMapSingleFIP{ all_separate_region() };
|
auto flows = Opm::InterRegFlowMapSingleFIP{ all_separate_region() };
|
||||||
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{4});
|
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{4});
|
||||||
|
|
||||||
BOOST_CHECK_MESSAGE(! flows.assignGlobalMaxRegionID(2),
|
BOOST_CHECK_MESSAGE(! flows.assignGlobalMaxRegionID(2),
|
||||||
@@ -1059,7 +1059,7 @@ BOOST_AUTO_TEST_CASE(AllInternal)
|
|||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(LeftInternal_RightOther)
|
BOOST_AUTO_TEST_CASE(LeftInternal_RightOther)
|
||||||
{
|
{
|
||||||
auto flows = Opm::EclInterRegFlowMapSingleFIP{ all_separate_region() };
|
auto flows = Opm::InterRegFlowMapSingleFIP{ all_separate_region() };
|
||||||
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{4});
|
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{4});
|
||||||
|
|
||||||
flows.addConnection({ 0, 0, true } , { 1, 1, false }, conn_01());
|
flows.addConnection({ 0, 0, true } , { 1, 1, false }, conn_01());
|
||||||
@@ -1201,7 +1201,7 @@ BOOST_AUTO_TEST_CASE(LeftInternal_RightOther)
|
|||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(LeftOther_RightInternal)
|
BOOST_AUTO_TEST_CASE(LeftOther_RightInternal)
|
||||||
{
|
{
|
||||||
auto flows = Opm::EclInterRegFlowMapSingleFIP{ all_separate_region() };
|
auto flows = Opm::InterRegFlowMapSingleFIP{ all_separate_region() };
|
||||||
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{4});
|
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{4});
|
||||||
|
|
||||||
flows.addConnection({ 0, 0, false }, { 1, 1, true } , conn_01());
|
flows.addConnection({ 0, 0, false }, { 1, 1, true } , conn_01());
|
||||||
@@ -1287,7 +1287,7 @@ BOOST_AUTO_TEST_CASE(LeftOther_RightInternal)
|
|||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(TopOther_BottomInternal)
|
BOOST_AUTO_TEST_CASE(TopOther_BottomInternal)
|
||||||
{
|
{
|
||||||
auto flows = Opm::EclInterRegFlowMapSingleFIP{ all_separate_region() };
|
auto flows = Opm::InterRegFlowMapSingleFIP{ all_separate_region() };
|
||||||
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{4});
|
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{4});
|
||||||
|
|
||||||
flows.addConnection({ 0, 0, false }, { 1, 1, false }, conn_01());
|
flows.addConnection({ 0, 0, false }, { 1, 1, false }, conn_01());
|
||||||
@@ -1373,7 +1373,7 @@ BOOST_AUTO_TEST_CASE(TopOther_BottomInternal)
|
|||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(Checker_Board_Region)
|
BOOST_AUTO_TEST_CASE(Checker_Board_Region)
|
||||||
{
|
{
|
||||||
auto flows = Opm::EclInterRegFlowMapSingleFIP{ all_separate_region() };
|
auto flows = Opm::InterRegFlowMapSingleFIP{ all_separate_region() };
|
||||||
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{4});
|
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{4});
|
||||||
|
|
||||||
flows.addConnection({ 0, 0, false }, { 1, 1, true } , conn_01());
|
flows.addConnection({ 0, 0, false }, { 1, 1, true } , conn_01());
|
||||||
@@ -1487,7 +1487,7 @@ BOOST_AUTO_TEST_CASE(Checker_Board_Region)
|
|||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(Reverse_CheckerBoard_Internal)
|
BOOST_AUTO_TEST_CASE(Reverse_CheckerBoard_Internal)
|
||||||
{
|
{
|
||||||
auto flows = Opm::EclInterRegFlowMapSingleFIP{ all_separate_region() };
|
auto flows = Opm::InterRegFlowMapSingleFIP{ all_separate_region() };
|
||||||
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{4});
|
BOOST_CHECK_EQUAL(flows.getLocalMaxRegionID(), std::size_t{4});
|
||||||
|
|
||||||
flows.addConnection({ 0, 0, true } , { 1, 1, false }, conn_01());
|
flows.addConnection({ 0, 0, true } , { 1, 1, false }, conn_01());
|
||||||
@@ -1613,8 +1613,8 @@ namespace {
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <typename Predicate>
|
template <typename Predicate>
|
||||||
void addConnections(Predicate&& isInterior,
|
void addConnections(Predicate&& isInterior,
|
||||||
Opm::EclInterRegFlowMapSingleFIP& rank)
|
Opm::InterRegFlowMapSingleFIP& rank)
|
||||||
{
|
{
|
||||||
rank.addConnection({ 0, 0, isInterior(0) }, { 1, 1, isInterior(1) }, conn_01());
|
rank.addConnection({ 0, 0, isInterior(0) }, { 1, 1, isInterior(1) }, conn_01());
|
||||||
rank.addConnection({ 0, 0, isInterior(0) }, { 2, 2, isInterior(2) }, conn_02());
|
rank.addConnection({ 0, 0, isInterior(0) }, { 2, 2, isInterior(2) }, conn_02());
|
||||||
@@ -1627,7 +1627,7 @@ BOOST_AUTO_TEST_SUITE(Two_Processes)
|
|||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(Empty)
|
BOOST_AUTO_TEST_CASE(Empty)
|
||||||
{
|
{
|
||||||
using Map = Opm::EclInterRegFlowMapSingleFIP;
|
using Map = Opm::InterRegFlowMapSingleFIP;
|
||||||
|
|
||||||
auto rank = std::vector<Map>(2, Map { all_same_region() });
|
auto rank = std::vector<Map>(2, Map { all_same_region() });
|
||||||
|
|
||||||
@@ -1667,7 +1667,7 @@ BOOST_AUTO_TEST_CASE(Empty)
|
|||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(Single_FIP_Region)
|
BOOST_AUTO_TEST_CASE(Single_FIP_Region)
|
||||||
{
|
{
|
||||||
using Map = Opm::EclInterRegFlowMapSingleFIP;
|
using Map = Opm::InterRegFlowMapSingleFIP;
|
||||||
|
|
||||||
auto rank = std::vector<Map>(2, Map { all_same_region() });
|
auto rank = std::vector<Map>(2, Map { all_same_region() });
|
||||||
|
|
||||||
@@ -1710,7 +1710,7 @@ BOOST_AUTO_TEST_CASE(Single_FIP_Region)
|
|||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(Left_Right_Split_Region)
|
BOOST_AUTO_TEST_CASE(Left_Right_Split_Region)
|
||||||
{
|
{
|
||||||
using Map = Opm::EclInterRegFlowMapSingleFIP;
|
using Map = Opm::InterRegFlowMapSingleFIP;
|
||||||
|
|
||||||
auto rank = std::vector<Map>(2, Map { left_right_split_region() });
|
auto rank = std::vector<Map>(2, Map { left_right_split_region() });
|
||||||
|
|
||||||
@@ -1774,7 +1774,7 @@ BOOST_AUTO_TEST_CASE(Left_Right_Split_Region)
|
|||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(Checker_Board_Region)
|
BOOST_AUTO_TEST_CASE(Checker_Board_Region)
|
||||||
{
|
{
|
||||||
using Map = Opm::EclInterRegFlowMapSingleFIP;
|
using Map = Opm::InterRegFlowMapSingleFIP;
|
||||||
|
|
||||||
auto rank = std::vector<Map>(2, Map { checker_board_region() });
|
auto rank = std::vector<Map>(2, Map { checker_board_region() });
|
||||||
|
|
||||||
@@ -1839,7 +1839,7 @@ BOOST_AUTO_TEST_CASE(Checker_Board_Region)
|
|||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(All_Separate_Region)
|
BOOST_AUTO_TEST_CASE(All_Separate_Region)
|
||||||
{
|
{
|
||||||
using Map = Opm::EclInterRegFlowMapSingleFIP;
|
using Map = Opm::InterRegFlowMapSingleFIP;
|
||||||
|
|
||||||
auto rank = std::vector<Map>(2, Map { all_separate_region() });
|
auto rank = std::vector<Map>(2, Map { all_separate_region() });
|
||||||
|
|
||||||
@@ -1995,7 +1995,7 @@ BOOST_AUTO_TEST_SUITE(Four_Processes)
|
|||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(Single_FIP_Region)
|
BOOST_AUTO_TEST_CASE(Single_FIP_Region)
|
||||||
{
|
{
|
||||||
using Map = Opm::EclInterRegFlowMapSingleFIP;
|
using Map = Opm::InterRegFlowMapSingleFIP;
|
||||||
|
|
||||||
auto rank = std::vector<Map>(4, Map { all_same_region() });
|
auto rank = std::vector<Map>(4, Map { all_same_region() });
|
||||||
BOOST_CHECK_EQUAL(rank[0].getLocalMaxRegionID(), std::size_t{1});
|
BOOST_CHECK_EQUAL(rank[0].getLocalMaxRegionID(), std::size_t{1});
|
||||||
@@ -2047,7 +2047,7 @@ BOOST_AUTO_TEST_CASE(Single_FIP_Region)
|
|||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(Left_Right_Split_Region)
|
BOOST_AUTO_TEST_CASE(Left_Right_Split_Region)
|
||||||
{
|
{
|
||||||
using Map = Opm::EclInterRegFlowMapSingleFIP;
|
using Map = Opm::InterRegFlowMapSingleFIP;
|
||||||
|
|
||||||
auto rank = std::vector<Map>(4, Map { left_right_split_region() });
|
auto rank = std::vector<Map>(4, Map { left_right_split_region() });
|
||||||
BOOST_CHECK_EQUAL(rank[0].getLocalMaxRegionID(), std::size_t{2});
|
BOOST_CHECK_EQUAL(rank[0].getLocalMaxRegionID(), std::size_t{2});
|
||||||
@@ -2121,7 +2121,7 @@ BOOST_AUTO_TEST_CASE(Left_Right_Split_Region)
|
|||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(Checker_Board_Region)
|
BOOST_AUTO_TEST_CASE(Checker_Board_Region)
|
||||||
{
|
{
|
||||||
using Map = Opm::EclInterRegFlowMapSingleFIP;
|
using Map = Opm::InterRegFlowMapSingleFIP;
|
||||||
|
|
||||||
auto rank = std::vector<Map>(4, Map { checker_board_region() });
|
auto rank = std::vector<Map>(4, Map { checker_board_region() });
|
||||||
BOOST_CHECK_EQUAL(rank[0].getLocalMaxRegionID(), std::size_t{2});
|
BOOST_CHECK_EQUAL(rank[0].getLocalMaxRegionID(), std::size_t{2});
|
||||||
@@ -2196,7 +2196,7 @@ BOOST_AUTO_TEST_CASE(Checker_Board_Region)
|
|||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(All_Separate_Region)
|
BOOST_AUTO_TEST_CASE(All_Separate_Region)
|
||||||
{
|
{
|
||||||
using Map = Opm::EclInterRegFlowMapSingleFIP;
|
using Map = Opm::InterRegFlowMapSingleFIP;
|
||||||
|
|
||||||
auto rank = std::vector<Map>(4, Map { all_separate_region() });
|
auto rank = std::vector<Map>(4, Map { all_separate_region() });
|
||||||
BOOST_CHECK_EQUAL(rank[0].getLocalMaxRegionID(), std::size_t{4});
|
BOOST_CHECK_EQUAL(rank[0].getLocalMaxRegionID(), std::size_t{4});
|
||||||
@@ -2371,8 +2371,8 @@ namespace {
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <typename Predicate>
|
template <typename Predicate>
|
||||||
void addConnections(Predicate&& isInterior,
|
void addConnections(Predicate&& isInterior,
|
||||||
Opm::EclInterRegFlowMap& rank)
|
Opm::InterRegFlowMap& rank)
|
||||||
{
|
{
|
||||||
rank.addConnection({ 0, 0, isInterior(0) }, { 1, 1, isInterior(1) }, conn_01());
|
rank.addConnection({ 0, 0, isInterior(0) }, { 1, 1, isInterior(1) }, conn_01());
|
||||||
rank.addConnection({ 0, 0, isInterior(0) }, { 2, 2, isInterior(2) }, conn_02());
|
rank.addConnection({ 0, 0, isInterior(0) }, { 2, 2, isInterior(2) }, conn_02());
|
||||||
@@ -2388,7 +2388,7 @@ BOOST_AUTO_TEST_CASE(Single_Process)
|
|||||||
const auto fipchk = checker_board_region();
|
const auto fipchk = checker_board_region();
|
||||||
const auto fipsep = all_separate_region();
|
const auto fipsep = all_separate_region();
|
||||||
|
|
||||||
auto flows = Opm::EclInterRegFlowMap {
|
auto flows = Opm::InterRegFlowMap {
|
||||||
fipnum.size(),
|
fipnum.size(),
|
||||||
{
|
{
|
||||||
{ "FIPNUM", std::cref(fipnum) },
|
{ "FIPNUM", std::cref(fipnum) },
|
||||||
@@ -2693,7 +2693,7 @@ BOOST_AUTO_TEST_CASE(Single_Process)
|
|||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(Two_Processes)
|
BOOST_AUTO_TEST_CASE(Two_Processes)
|
||||||
{
|
{
|
||||||
using Map = Opm::EclInterRegFlowMap;
|
using Map = Opm::InterRegFlowMap;
|
||||||
|
|
||||||
const auto fipnum = all_same_region();
|
const auto fipnum = all_same_region();
|
||||||
const auto fipspl = left_right_split_region();
|
const auto fipspl = left_right_split_region();
|
||||||
@@ -3013,7 +3013,7 @@ BOOST_AUTO_TEST_CASE(Two_Processes)
|
|||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(Two_Processes_Inconsistent_ReadWrite)
|
BOOST_AUTO_TEST_CASE(Two_Processes_Inconsistent_ReadWrite)
|
||||||
{
|
{
|
||||||
using Map = Opm::EclInterRegFlowMap;
|
using Map = Opm::InterRegFlowMap;
|
||||||
|
|
||||||
const auto fipnum = all_same_region();
|
const auto fipnum = all_same_region();
|
||||||
const auto fipspl = left_right_split_region();
|
const auto fipspl = left_right_split_region();
|
||||||
@@ -3058,7 +3058,7 @@ BOOST_AUTO_TEST_CASE(Two_Processes_Inconsistent_ReadWrite)
|
|||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(Four_Processes)
|
BOOST_AUTO_TEST_CASE(Four_Processes)
|
||||||
{
|
{
|
||||||
using Map = Opm::EclInterRegFlowMap;
|
using Map = Opm::InterRegFlowMap;
|
||||||
|
|
||||||
const auto fipnum = all_same_region();
|
const auto fipnum = all_same_region();
|
||||||
const auto fipspl = left_right_split_region();
|
const auto fipspl = left_right_split_region();
|
||||||
@@ -3384,7 +3384,7 @@ BOOST_AUTO_TEST_CASE(Four_Processes)
|
|||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(Four_Processes_Declared_MaxID)
|
BOOST_AUTO_TEST_CASE(Four_Processes_Declared_MaxID)
|
||||||
{
|
{
|
||||||
using Map = Opm::EclInterRegFlowMap;
|
using Map = Opm::InterRegFlowMap;
|
||||||
|
|
||||||
const auto fipnum = all_same_region();
|
const auto fipnum = all_same_region();
|
||||||
const auto fipspl = left_right_split_region();
|
const auto fipspl = left_right_split_region();
|
||||||
Reference in New Issue
Block a user