diff --git a/opm/input/eclipse/EclipseState/EclipseState.hpp b/opm/input/eclipse/EclipseState/EclipseState.hpp index bfcd0e1a3..b7d7873d3 100644 --- a/opm/input/eclipse/EclipseState/EclipseState.hpp +++ b/opm/input/eclipse/EclipseState/EclipseState.hpp @@ -96,7 +96,7 @@ namespace Opm { const EclipseConfig& cfg() const; const GridDims& gridDims() const; - virtual const CarfinManager& getInputGLgr() const; + const LgrCollection& getLgrs() const; bool hasInputLGR() const; // the unit system used by the deck. note that it is rarely needed @@ -170,7 +170,7 @@ namespace Opm { EclipseGrid m_inputGrid; NNC m_inputNnc; GridDims m_gridDims; - LgrCollection m_inputLgr; + LgrCollection m_lgrs; FieldPropsManager field_props; SimulationConfig m_simulationConfig; AquiferConfig aquifer_config; diff --git a/opm/input/eclipse/EclipseState/Grid/LgrCollection.hpp b/opm/input/eclipse/EclipseState/Grid/LgrCollection.hpp index 611123677..b195e10c6 100644 --- a/opm/input/eclipse/EclipseState/Grid/LgrCollection.hpp +++ b/opm/input/eclipse/EclipseState/Grid/LgrCollection.hpp @@ -16,12 +16,11 @@ #ifndef OPM_PARSER_LGR_COLLECTION_HPP #define OPM_PARSER_LGR_COLLECTION_HPP -#include #include #include -#include #include +#include namespace Opm { @@ -33,21 +32,13 @@ namespace Opm { class LgrCollection { public: LgrCollection(); - LgrCollection(const GRIDSection& gridSection, const GridDims& grid); + LgrCollection(const GRIDSection& gridSection, const GridDims& gridDims); - static LgrCollection serializationTestObject(); size_t size() const; bool hasLgr(const std::string& lgrName) const; Carfin& getLgr(const std::string& lgrName); const Carfin& getLgr(const std::string& lgrName) const; - Carfin& getLgr(size_t lgrIndex); - const Carfin& getLgr(size_t lgrIndex) const; - - - void addLgr(const std::string& lgrName); - - bool operator==(const LgrCollection& data) const; template void serializeOp(Serializer& serializer) @@ -56,8 +47,8 @@ public: } private: + OrderedMap m_lgrs; -OrderedMap m_lgrs; }; } diff --git a/src/opm/input/eclipse/EclipseState/EclipseState.cpp b/src/opm/input/eclipse/EclipseState/EclipseState.cpp index 05721b398..c56e1d4a2 100644 --- a/src/opm/input/eclipse/EclipseState/EclipseState.cpp +++ b/src/opm/input/eclipse/EclipseState/EclipseState.cpp @@ -127,7 +127,7 @@ namespace Opm { , m_inputNnc( m_inputGrid, deck) , m_gridDims( deck ) , field_props( deck, m_runspec.phases(), m_inputGrid, m_tables) - , m_inputLgrs( deck) + , m_lgrs( deck) , m_simulationConfig( m_eclipseConfig.init().restartRequested(), deck, field_props) , aquifer_config( m_tables, m_inputGrid, deck, field_props) , m_transMult( GridDims(deck), deck, field_props) @@ -236,6 +236,10 @@ namespace Opm { return m_faults; } + const LgrCollection& EclipseState::getLgrs() const { + return m_lgrs; + } + const MICPpara& EclipseState::getMICPpara() const { return m_micppara; } diff --git a/src/opm/input/eclipse/EclipseState/Grid/LgrCollection.cpp b/src/opm/input/eclipse/EclipseState/Grid/LgrCollection.cpp index 8b9dd5f48..2d586082d 100644 --- a/src/opm/input/eclipse/EclipseState/Grid/LgrCollection.cpp +++ b/src/opm/input/eclipse/EclipseState/Grid/LgrCollection.cpp @@ -13,21 +13,15 @@ along with OPM. If not, see . */ -#include -#include -#include -#include - #include #include #include #include #include #include -#include #include #include -#include + namespace Opm { @@ -35,84 +29,34 @@ namespace Opm { LgrCollection::LgrCollection() {} + /* + This class stores all LGR's. At this moment we only support lgr's input from CARFIN blocks + TODO: Collect also lgrs from RADFIN blocks... + */ + LgrCollection::LgrCollection(const GRIDSection& gridSection, const GridDims& grid) { const auto& lgrKeywords = gridSection.getKeywordList(); for (auto keyword_iter = lgrKeywords.begin(); keyword_iter != lgrKeywords.end(); ++keyword_iter) { const auto& lgrsKeyword = *keyword_iter; - OpmLog::info(OpmInputError::format("\nLoading faults from {keyword} in {file} line {line}", lgrsKeyword->location())); + OpmLog::info(OpmInputError::format("\nLoading lgrs from {keyword} in {file} line {line}", lgrsKeyword->location())); for (auto iter = lgrsKeyword->begin(); iter != lgrsKeyword->end(); ++iter) { const auto& lgrRecord = *iter; const std::string& lgrName = lgrRecord.getItem(0).get< std::string >(0); - addLgr(grid, lgrRecord, lgrName); + //addLgr(lgrName); } } } - LgrCollection LgrCollection::serializationTestObject() - { - LgrCollection result; - result.m_lgrs.insert({"test", Carfin::serializationTestObject()}); - - return result; - } - - void LgrCollection::addFaultFaces(const GridDims& grid, - const DeckRecord& lgrRecord, - const std::string& lgrName) - { - int I1 = faultRecord.getItem(1).get(0) - 1; - int I2 = faultRecord.getItem(2).get(0) - 1; - int J1 = faultRecord.getItem(3).get(0) - 1; - int J2 = faultRecord.getItem(4).get(0) - 1; - int K1 = faultRecord.getItem(5).get(0) - 1; - int K2 = faultRecord.getItem(6).get(0) - 1; - FaceDir::DirEnum faceDir = FaceDir::FromString(faultRecord.getItem(7).get(0)); - FaultFace face { grid.getNX(), grid.getNY(), grid.getNZ(), - size_t(I1), size_t(I2), - size_t(J1), size_t(J2), - size_t(K1), size_t(K2), - faceDir }; - - if (!hasFault(faultName)) - addFault(faultName); - - getFault( faultName ).addFace( face ); - } - size_t LgrCollection::size() const { return m_lgrs.size(); } - bool LgrCollection::hasFault(const std::string& faultName) const { - return m_flgrs.count( faultName ) > 0; + bool LgrCollection::hasLgr(const std::string& lgrName) const { + return m_lgrs.count( lgrName ) > 0; } - const Fault& FaultCollection::getFault(const std::string& faultName) const { - return m_lgrs.get( faultName ); - } - - Fault& LgrCollection::getFault(const std::string& faultName) { - return m_lgrs.get( faultName ); - } - - Fault& LgrCollection::getFault(size_t faultIndex) { - return m_lgrs.iget( faultIndex ); - } - - const Fault& LgrCollection::getFault(size_t faultIndex) const { - return m_lgrs.iget( faultIndex ); - } - - void LgrCollection::addLgr(const std::string& lgrName) { - Carfin lgr(lgrName); - m_lgrs.insert(std::make_pair(lgr.getName() , lgr)); - } - - bool LgrCollection::operator==(const LgrCollection& data) const { - return this->m_lgrs == data.m_lgrs; - } }