From 41edcce7d53403e7e23aa0ba6254f108052af724 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Atgeirr=20Fl=C3=B8=20Rasmussen?= Date: Thu, 5 Jan 2012 15:38:50 +0100 Subject: [PATCH] Implemented trivial parts of RockFromDeck, init() remains. --- opm/core/fluid/RockFromDeck.cpp | 43 +++++++++++++++++++++++++++++++ opm/core/fluid/RockFromDeck.hpp | 45 +++++++++++++++++++++++++++++++++ 2 files changed, 88 insertions(+) create mode 100644 opm/core/fluid/RockFromDeck.cpp diff --git a/opm/core/fluid/RockFromDeck.cpp b/opm/core/fluid/RockFromDeck.cpp new file mode 100644 index 000000000..dc0023e06 --- /dev/null +++ b/opm/core/fluid/RockFromDeck.cpp @@ -0,0 +1,43 @@ +/* + Copyright 2012 SINTEF ICT, Applied Mathematics. + + 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 . +*/ + + +#include + + +namespace Opm +{ + + /// Default constructor. + RockFromDeck::RockFromDeck() + : dim_(-1) + { + } + + + /// Initialize from deck and cell mapping. + /// \param deck Deck input parser + /// \param global_cell mapping from cell indices (typically from a processed grid) + /// to logical cartesian indices consistent with the deck. + void RockFromDeck::init(const Dune::EclipseGridParser& deck, + const std::vector& global_cell) + { + } + +} // namespace Opm diff --git a/opm/core/fluid/RockFromDeck.hpp b/opm/core/fluid/RockFromDeck.hpp index ae0d0611e..30ef877cd 100644 --- a/opm/core/fluid/RockFromDeck.hpp +++ b/opm/core/fluid/RockFromDeck.hpp @@ -21,11 +21,56 @@ #define OPM_ROCKFROMDECK_HEADER_INCLUDED +#include +#include + + namespace Opm { class RockFromDeck { + public: + /// Default constructor. + RockFromDeck(); + + /// Initialize from deck and cell mapping. + /// \param deck Deck input parser + /// \param global_cell mapping from cell indices (typically from a processed grid) + /// to logical cartesian indices consistent with the deck. + void init(const Dune::EclipseGridParser& deck, + const std::vector& global_cell); + + /// \return D, the number of spatial dimensions. + int numDimensions() const + { + return dim_; + } + + /// \return N, the number of cells. + int numCells() const + { + return porosity_.size(); + } + + /// \return Array of N porosity values. + const double* porosity() const + { + return &porosity_[0]; + } + + /// \return Array of ND^2 permeability values. + /// The D^2 permeability values for a cell are organized as a matrix, + /// which is symmetric (so ordering does not matter). + const double* permeability() const + { + return &permeability_[0]; + } + + private: + int dim_; + std::vector porosity_; + std::vector permeability_; };