diff --git a/opm/core/fluid/blackoil/BlackoilPvtProperties.hpp b/opm/core/fluid/blackoil/BlackoilPvtProperties.hpp deleted file mode 100644 index 29abb1f74..000000000 --- a/opm/core/fluid/blackoil/BlackoilPvtProperties.hpp +++ /dev/null @@ -1,127 +0,0 @@ -/* - 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 . -*/ - -#ifndef OPM_BLACKOILPVTPROPERTIES_HEADER_INCLUDED -#define OPM_BLACKOILPVTPROPERTIES_HEADER_INCLUDED - - - -#include -#include -#include -#include -#include - -namespace Opm -{ - - /// Class collecting the pvt properties for all active phases. - /// For all the methods, the following apply: p and z - /// are expected to be of size n and n*num_phases, respectively. - /// Output arrays shall be of size n*num_phases, and must be valid - /// before calling the method. - /// NOTE: The difference between this interface and the one defined - /// by SinglePvtInterface is that this collects all phases' properties, - /// and therefore the output arrays are of size n*num_phases as opposed - /// to size n in SinglePvtInterface. - class BlackoilPvtProperties : public BlackoilPhases - { - public: - /// Default constructor. - BlackoilPvtProperties(); - - /// Initialize from deck. - /// \param deck An input deck. - /// \param samples If greater than zero, indicates the number of - /// uniform samples to be taken from monotone spline - /// curves interpolating the fluid data. - /// Otherwise, interpolate linearly in the original - /// data without fitting a spline. - void init(const EclipseGridParser& deck, const int samples); - - /// Number of active phases. - int numPhases() const; - - /// For each canonical phase, indicates if it is - /// active or not (boolean usage of int). - /// \return Array of size MaxNumPhases - const int* phaseUsed() const; - - /// Positions of canonical phases in arrays of phase - /// properties (saturations etc.). - /// \return Array of size MaxNumPhases - const int* phasePosition() const; - - /// Densities of stock components at surface conditions. - /// \return Array of size numPhases(). - const double* surfaceDensities() const; - - /// Viscosity as a function of p and z. - void mu(const int n, - const double* p, - const double* z, - double* output_mu) const; - - /// Formation volume factor as a function of p and z. - void B(const int n, - const double* p, - const double* z, - double* output_B) const; - - /// Formation volume factor and p-derivative as functions of p and z. - void dBdp(const int n, - const double* p, - const double* z, - double* output_B, - double* output_dBdp) const; - - /// Solution factor as a function of p and z. - void R(const int n, - const double* p, - const double* z, - double* output_R) const; - - /// Solution factor and p-derivative as functions of p and z. - void dRdp(const int n, - const double* p, - const double* z, - double* output_R, - double* output_dRdp) const; - - private: - // Disabling copying (just to avoid surprises, since we use shared_ptr). - BlackoilPvtProperties(const BlackoilPvtProperties&); - BlackoilPvtProperties& operator=(const BlackoilPvtProperties&); - - PhaseUsage phase_usage_; - - int region_number_; - - std::vector > props_; - - double densities_[MaxNumPhases]; - mutable std::vector data1_; - mutable std::vector data2_; - }; - -} - - - -#endif // OPM_BLACKOILPVTPROPERTIES_HEADER_INCLUDED diff --git a/opm/core/fluid/blackoil/BlackoilPhases.hpp b/opm/core/props/BlackoilPhases.hpp similarity index 100% rename from opm/core/fluid/blackoil/BlackoilPhases.hpp rename to opm/core/props/BlackoilPhases.hpp diff --git a/opm/core/fluid/BlackoilPropertiesBasic.cpp b/opm/core/props/BlackoilPropertiesBasic.cpp similarity index 100% rename from opm/core/fluid/BlackoilPropertiesBasic.cpp rename to opm/core/props/BlackoilPropertiesBasic.cpp diff --git a/opm/core/fluid/BlackoilPropertiesBasic.hpp b/opm/core/props/BlackoilPropertiesBasic.hpp similarity index 100% rename from opm/core/fluid/BlackoilPropertiesBasic.hpp rename to opm/core/props/BlackoilPropertiesBasic.hpp diff --git a/opm/core/fluid/BlackoilPropertiesFromDeck.cpp b/opm/core/props/BlackoilPropertiesFromDeck.cpp similarity index 100% rename from opm/core/fluid/BlackoilPropertiesFromDeck.cpp rename to opm/core/props/BlackoilPropertiesFromDeck.cpp diff --git a/opm/core/fluid/BlackoilPropertiesFromDeck.hpp b/opm/core/props/BlackoilPropertiesFromDeck.hpp similarity index 100% rename from opm/core/fluid/BlackoilPropertiesFromDeck.hpp rename to opm/core/props/BlackoilPropertiesFromDeck.hpp diff --git a/opm/core/fluid/BlackoilPropertiesInterface.hpp b/opm/core/props/BlackoilPropertiesInterface.hpp similarity index 100% rename from opm/core/fluid/BlackoilPropertiesInterface.hpp rename to opm/core/props/BlackoilPropertiesInterface.hpp diff --git a/opm/core/fluid/IncompPropertiesBasic.cpp b/opm/core/props/IncompPropertiesBasic.cpp similarity index 100% rename from opm/core/fluid/IncompPropertiesBasic.cpp rename to opm/core/props/IncompPropertiesBasic.cpp diff --git a/opm/core/fluid/IncompPropertiesBasic.hpp b/opm/core/props/IncompPropertiesBasic.hpp similarity index 100% rename from opm/core/fluid/IncompPropertiesBasic.hpp rename to opm/core/props/IncompPropertiesBasic.hpp diff --git a/opm/core/fluid/IncompPropertiesFromDeck.cpp b/opm/core/props/IncompPropertiesFromDeck.cpp similarity index 100% rename from opm/core/fluid/IncompPropertiesFromDeck.cpp rename to opm/core/props/IncompPropertiesFromDeck.cpp diff --git a/opm/core/fluid/IncompPropertiesFromDeck.hpp b/opm/core/props/IncompPropertiesFromDeck.hpp similarity index 100% rename from opm/core/fluid/IncompPropertiesFromDeck.hpp rename to opm/core/props/IncompPropertiesFromDeck.hpp diff --git a/opm/core/fluid/IncompPropertiesInterface.hpp b/opm/core/props/IncompPropertiesInterface.hpp similarity index 100% rename from opm/core/fluid/IncompPropertiesInterface.hpp rename to opm/core/props/IncompPropertiesInterface.hpp diff --git a/opm/core/fluid/blackoil/phaseUsageFromDeck.hpp b/opm/core/props/phaseUsageFromDeck.hpp similarity index 100% rename from opm/core/fluid/blackoil/phaseUsageFromDeck.hpp rename to opm/core/props/phaseUsageFromDeck.hpp diff --git a/opm/core/fluid/PvtPropertiesBasic.cpp b/opm/core/props/pvt/PvtPropertiesBasic.cpp similarity index 100% rename from opm/core/fluid/PvtPropertiesBasic.cpp rename to opm/core/props/pvt/PvtPropertiesBasic.cpp diff --git a/opm/core/fluid/PvtPropertiesBasic.hpp b/opm/core/props/pvt/PvtPropertiesBasic.hpp similarity index 100% rename from opm/core/fluid/PvtPropertiesBasic.hpp rename to opm/core/props/pvt/PvtPropertiesBasic.hpp diff --git a/opm/core/fluid/PvtPropertiesIncompFromDeck.cpp b/opm/core/props/pvt/PvtPropertiesIncompFromDeck.cpp similarity index 100% rename from opm/core/fluid/PvtPropertiesIncompFromDeck.cpp rename to opm/core/props/pvt/PvtPropertiesIncompFromDeck.cpp diff --git a/opm/core/fluid/PvtPropertiesIncompFromDeck.hpp b/opm/core/props/pvt/PvtPropertiesIncompFromDeck.hpp similarity index 100% rename from opm/core/fluid/PvtPropertiesIncompFromDeck.hpp rename to opm/core/props/pvt/PvtPropertiesIncompFromDeck.hpp diff --git a/opm/core/props/rock/RockBasic.cpp b/opm/core/props/rock/RockBasic.cpp new file mode 100644 index 000000000..b66ccccec --- /dev/null +++ b/opm/core/props/rock/RockBasic.cpp @@ -0,0 +1,54 @@ +/* + 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. + RockBasic::RockBasic() + : dimensions_(-1) + { + } + + + /// Initialize with homogenous porosity and permeability. + void RockBasic::init(const int dimensions, + const int num_cells, + const double poro, + const double perm) + { + dimensions_ = dimensions; + porosity_.clear(); + porosity_.resize(num_cells, poro); + permeability_.clear(); + const int dsq = dimensions*dimensions; + permeability_.resize(num_cells*dsq, 0.0); +// #pragma omp parallel for + for (int i = 0; i < num_cells; ++i) { + for (int d = 0; d < dimensions; ++d) { + permeability_[dsq*i + dimensions*d + d] = perm; + } + } + } + + +} // namespace Opm diff --git a/opm/core/fluid/RockBasic.hpp b/opm/core/props/rock/RockBasic.hpp similarity index 100% rename from opm/core/fluid/RockBasic.hpp rename to opm/core/props/rock/RockBasic.hpp diff --git a/opm/core/fluid/RockCompressibility.cpp b/opm/core/props/rock/RockCompressibility.cpp similarity index 100% rename from opm/core/fluid/RockCompressibility.cpp rename to opm/core/props/rock/RockCompressibility.cpp diff --git a/opm/core/fluid/RockCompressibility.hpp b/opm/core/props/rock/RockCompressibility.hpp similarity index 100% rename from opm/core/fluid/RockCompressibility.hpp rename to opm/core/props/rock/RockCompressibility.hpp diff --git a/opm/core/fluid/RockFromDeck.cpp b/opm/core/props/rock/RockFromDeck.cpp similarity index 100% rename from opm/core/fluid/RockFromDeck.cpp rename to opm/core/props/rock/RockFromDeck.cpp diff --git a/opm/core/fluid/RockFromDeck.hpp b/opm/core/props/rock/RockFromDeck.hpp similarity index 100% rename from opm/core/fluid/RockFromDeck.hpp rename to opm/core/props/rock/RockFromDeck.hpp diff --git a/opm/core/fluid/SaturationPropsBasic.cpp b/opm/core/props/satfunc/SaturationPropsBasic.cpp similarity index 100% rename from opm/core/fluid/SaturationPropsBasic.cpp rename to opm/core/props/satfunc/SaturationPropsBasic.cpp diff --git a/opm/core/fluid/SaturationPropsBasic.hpp b/opm/core/props/satfunc/SaturationPropsBasic.hpp similarity index 100% rename from opm/core/fluid/SaturationPropsBasic.hpp rename to opm/core/props/satfunc/SaturationPropsBasic.hpp diff --git a/opm/core/fluid/blackoil/SinglePvtInterface.cpp b/opm/core/props/satfunc/SaturationPropsFromDeck.cpp similarity index 58% rename from opm/core/fluid/blackoil/SinglePvtInterface.cpp rename to opm/core/props/satfunc/SaturationPropsFromDeck.cpp index 1241b5221..83c942c59 100644 --- a/opm/core/fluid/blackoil/SinglePvtInterface.cpp +++ b/opm/core/props/satfunc/SaturationPropsFromDeck.cpp @@ -17,31 +17,18 @@ along with OPM. If not, see . */ -#include - +#include +#include +#include +#include +#include namespace Opm { - SinglePvtInterface::SinglePvtInterface() - : num_phases_(MaxNumPhases) - { - for (int i = 0; i < MaxNumPhases; ++i) { - phase_pos_[i] = i; - } - } - - SinglePvtInterface::~SinglePvtInterface() - { - } - - void SinglePvtInterface::setPhaseConfiguration(const int num_phases, const int* phase_pos) - { - num_phases_ = num_phases; - for (int i = 0; i < MaxNumPhases; ++i) { - phase_pos_[i] = phase_pos[i]; - } - } - + // This file should be removed in the future. + // Holding off until refactoring of SaturationPropsFromDeck class is done. } // namespace Opm + + diff --git a/opm/core/fluid/SaturationPropsFromDeck.hpp b/opm/core/props/satfunc/SaturationPropsFromDeck.hpp similarity index 100% rename from opm/core/fluid/SaturationPropsFromDeck.hpp rename to opm/core/props/satfunc/SaturationPropsFromDeck.hpp diff --git a/opm/core/fluid/SaturationPropsFromDeck_impl.hpp b/opm/core/props/satfunc/SaturationPropsFromDeck_impl.hpp similarity index 100% rename from opm/core/fluid/SaturationPropsFromDeck_impl.hpp rename to opm/core/props/satfunc/SaturationPropsFromDeck_impl.hpp diff --git a/opm/core/fluid/SaturationPropsInterface.hpp b/opm/core/props/satfunc/SaturationPropsInterface.hpp similarity index 100% rename from opm/core/fluid/SaturationPropsInterface.hpp rename to opm/core/props/satfunc/SaturationPropsInterface.hpp