Merge pull request #3746 from bska/remove-unused-sparse-schedule-grid

Remove SparseScheduleGrid Component
This commit is contained in:
Arne Morten Kvarving
2023-11-03 07:01:38 +01:00
committed by GitHub
2 changed files with 0 additions and 103 deletions

View File

@@ -1,101 +0,0 @@
/*
Copyright 2021 Statoil ASA.
This file is part of the Open Porous Media project (OPM).
OPM is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OPM is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with OPM. If not, see <http://www.gnu.org/licenses/>.
*/
#include <opm/input/eclipse/EclipseState/Grid/SparseScheduleGrid.hpp>
#include <stdexcept>
Opm::SparseScheduleGrid::Cell Opm::SparseScheduleGrid::loadCell(const Opm::ScheduleGrid& source, const Opm::ScheduleGrid::CellKey& key) {
std::size_t
i { key[0] } ,
j { key[1] } ,
k { key[2] } ;
std::optional<std::size_t> activeIndex {};
if (source.isCellActive(i, j, k)) {
activeIndex = source.getActiveIndex(i, j, k);
}
Cell loadedCell {
i, j, k,
source.getGlobalIndex(i, j, k),
activeIndex,
source.getCellDepth(i, j, k),
source.getCellDimensions(i, j, k),
};
return loadedCell;
}
Opm::SparseScheduleGrid::CellMap Opm::SparseScheduleGrid::loadCells(const Opm::ScheduleGrid& source, const std::set<Opm::ScheduleGrid::CellKey>& loadKeys) {
Opm::SparseScheduleGrid::CellMap loadedCells { } ;
for (const auto &key : loadKeys) {
loadedCells[key] = loadCell(source, key);
}
return loadedCells;
}
Opm::SparseScheduleGrid::SparseScheduleGrid(const Opm::ScheduleGrid& source, const std::set<Opm::ScheduleGrid::CellKey>& loadKeys)
: loadedCells { loadCells(source, loadKeys) }
{
}
const Opm::SparseScheduleGrid::Cell& Opm::SparseScheduleGrid::getCell(std::size_t i, std::size_t j, std::size_t k) const {
const auto iter { loadedCells.find({i, j, k}) } ;
if (iter == loadedCells.end()) {
throw std::logic_error("BUG: SparseScheduleGrid::getCell called on a sparse grid missing the cell");
}
return iter->second;
}
std::size_t Opm::SparseScheduleGrid::getActiveIndex(std::size_t i, std::size_t j, std::size_t k) const {
const auto& cell { getCell(i, j, k) } ;
return cell.activeIndex.value();
}
std::size_t Opm::SparseScheduleGrid::getGlobalIndex(std::size_t i, std::size_t j, std::size_t k) const {
const auto& cell { getCell(i, j, k) } ;
return cell.globalIndex;
}
bool Opm::SparseScheduleGrid::isCellActive(std::size_t i, std::size_t j, std::size_t k) const {
const auto& cell { getCell(i, j, k) } ;
return bool(cell.activeIndex);
}
double Opm::SparseScheduleGrid::getCellDepth(std::size_t i, std::size_t j, std::size_t k) const {
const auto& cell { getCell(i, j, k) } ;
return cell.depth;
}
std::array<double, 3> Opm::SparseScheduleGrid::getCellDimensions(std::size_t i, std::size_t j, std::size_t k) const {
const auto& cell { getCell(i, j, k) } ;
return cell.dimensions;
}

View File

@@ -239,8 +239,6 @@ namespace Opm {
} else {
this->iterateScheduleSection( 0, this->m_sched_deck.size(), parseContext, errors, grid, nullptr, "");
}
//m_grid = std::make_shared<SparseScheduleGrid>(grid, gridWrapper.getHitKeys());
}
catch (const OpmInputError& opm_error) {
OpmLog::error(opm_error.what());