mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Rename PhasePressureSaturationComputer -> InitialStateComputer.
Also add (unused so far) rs_ field to class.
This commit is contained in:
parent
a0d3bf6dd7
commit
5ee2c0cbc9
@ -243,19 +243,20 @@ namespace Opm
|
||||
}
|
||||
|
||||
template <class InputDeck>
|
||||
class PhasePressureSaturationComputer;
|
||||
class InitialStateComputer;
|
||||
|
||||
template <>
|
||||
class PhasePressureSaturationComputer<Opm::EclipseGridParser> {
|
||||
class InitialStateComputer<Opm::EclipseGridParser> {
|
||||
public:
|
||||
PhasePressureSaturationComputer(const BlackoilPropertiesInterface& props,
|
||||
const EclipseGridParser& deck ,
|
||||
const UnstructuredGrid& G ,
|
||||
const double grav = unit::gravity)
|
||||
InitialStateComputer(const BlackoilPropertiesInterface& props,
|
||||
const EclipseGridParser& deck ,
|
||||
const UnstructuredGrid& G ,
|
||||
const double grav = unit::gravity)
|
||||
: pp_(props.numPhases(),
|
||||
std::vector<double>(G.number_of_cells)),
|
||||
sat_(props.numPhases(),
|
||||
std::vector<double>(G.number_of_cells))
|
||||
std::vector<double>(G.number_of_cells)),
|
||||
rs_(G.number_of_cells)
|
||||
{
|
||||
// Get the equilibration records.
|
||||
const std::vector<EquilRecord> rec = getEquil(deck);
|
||||
@ -287,11 +288,11 @@ namespace Opm
|
||||
calcPressSat(eqlmap, rec, props, G, grav);
|
||||
}
|
||||
|
||||
typedef std::vector<double> PVal;
|
||||
typedef std::vector<PVal> PPress;
|
||||
typedef std::vector<double> Vec;
|
||||
typedef std::vector<Vec> PVec; // One per phase.
|
||||
|
||||
const PPress& press() const { return pp_; }
|
||||
const PPress& saturation() const { return sat_; }
|
||||
const PVec& press() const { return pp_; }
|
||||
const PVec& saturation() const { return sat_; }
|
||||
|
||||
private:
|
||||
typedef DensityCalculator<BlackoilPropertiesInterface> RhoCalc;
|
||||
@ -299,8 +300,9 @@ namespace Opm
|
||||
|
||||
std::vector< std::shared_ptr<Miscibility::RsFunction> > rs_func_;
|
||||
|
||||
PPress pp_;
|
||||
PPress sat_;
|
||||
PVec pp_;
|
||||
PVec sat_;
|
||||
Vec rs_;
|
||||
|
||||
template <class RMap>
|
||||
void
|
||||
@ -325,12 +327,13 @@ namespace Opm
|
||||
rs_func_[r], std::make_shared<NoMix>(),
|
||||
props.phaseUsage());
|
||||
|
||||
const PPress press = phasePressures(G, eqreg, cells, grav);
|
||||
const PPress sat = phaseSaturations(eqreg, cells, props, press);
|
||||
const PVec press = phasePressures(G, eqreg, cells, grav);
|
||||
const PVec sat = phaseSaturations(eqreg, cells, props, press);
|
||||
const Vec rs(cells.size());// = gasOilRatio();
|
||||
|
||||
for (int p = 0, np = props.numPhases(); p < np; ++p) {
|
||||
PVal& d = pp_[p];
|
||||
PVal::const_iterator s = press[p].begin();
|
||||
Vec& d = pp_[p];
|
||||
Vec::const_iterator s = press[p].begin();
|
||||
for (typename RMap::CellRange::const_iterator
|
||||
c = cells.begin(),
|
||||
e = cells.end();
|
||||
@ -340,8 +343,8 @@ namespace Opm
|
||||
}
|
||||
}
|
||||
for (int p = 0, np = props.numPhases(); p < np; ++p) {
|
||||
PVal& d = sat_[p];
|
||||
PVal::const_iterator s = sat[p].begin();
|
||||
Vec& d = sat_[p];
|
||||
Vec::const_iterator s = sat[p].begin();
|
||||
for (typename RMap::CellRange::const_iterator
|
||||
c = cells.begin(),
|
||||
e = cells.end();
|
||||
@ -350,6 +353,16 @@ namespace Opm
|
||||
d[*c] = *s;
|
||||
}
|
||||
}
|
||||
Vec::const_iterator s = rs.begin();
|
||||
Vec& d = rs_;
|
||||
for (typename RMap::CellRange::const_iterator
|
||||
c = cells.begin(),
|
||||
e = cells.end();
|
||||
c != e; ++c, ++s)
|
||||
{
|
||||
d[*c] = *s;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -328,7 +328,7 @@ BOOST_AUTO_TEST_CASE (DeckAllDead)
|
||||
grid(create_grid_cart3d(1, 1, 10), destroy_grid);
|
||||
Opm::EclipseGridParser deck("deadfluids.DATA");
|
||||
Opm::BlackoilPropertiesFromDeck props(deck, *grid, false);
|
||||
Opm::Equil::DeckDependent::PhasePressureSaturationComputer<Opm::EclipseGridParser> comp(props, deck, *grid, 10.0);
|
||||
Opm::Equil::DeckDependent::InitialStateComputer<Opm::EclipseGridParser> comp(props, deck, *grid, 10.0);
|
||||
const auto& pressures = comp.press();
|
||||
BOOST_REQUIRE(pressures.size() == 3);
|
||||
BOOST_REQUIRE(int(pressures[0].size()) == grid->number_of_cells);
|
||||
@ -405,7 +405,7 @@ BOOST_AUTO_TEST_CASE (DeckWithCapillary)
|
||||
Opm::EclipseGridParser deck("capillary.DATA");
|
||||
Opm::BlackoilPropertiesFromDeck props(deck, grid, false);
|
||||
|
||||
Opm::Equil::DeckDependent::PhasePressureSaturationComputer<Opm::EclipseGridParser> comp(props, deck, grid, 10.0);
|
||||
Opm::Equil::DeckDependent::InitialStateComputer<Opm::EclipseGridParser> comp(props, deck, grid, 10.0);
|
||||
const auto& pressures = comp.press();
|
||||
BOOST_REQUIRE(pressures.size() == 3);
|
||||
BOOST_REQUIRE(int(pressures[0].size()) == grid.number_of_cells);
|
||||
@ -443,7 +443,7 @@ BOOST_AUTO_TEST_CASE (DeckWithCapillaryOverlap)
|
||||
Opm::EclipseGridParser deck("capillary_overlap.DATA");
|
||||
Opm::BlackoilPropertiesFromDeck props(deck, grid, false);
|
||||
|
||||
Opm::Equil::DeckDependent::PhasePressureSaturationComputer<Opm::EclipseGridParser> comp(props, deck, grid, 10.0);
|
||||
Opm::Equil::DeckDependent::InitialStateComputer<Opm::EclipseGridParser> comp(props, deck, grid, 10.0);
|
||||
const auto& pressures = comp.press();
|
||||
BOOST_REQUIRE(pressures.size() == 3);
|
||||
BOOST_REQUIRE(int(pressures[0].size()) == grid.number_of_cells);
|
||||
@ -488,7 +488,7 @@ BOOST_AUTO_TEST_CASE (DeckWithLiveOil)
|
||||
Opm::EclipseGridParser deck("equil_liveoil.DATA");
|
||||
Opm::BlackoilPropertiesFromDeck props(deck, grid, false);
|
||||
|
||||
Opm::Equil::DeckDependent::PhasePressureSaturationComputer<Opm::EclipseGridParser> comp(props, deck, grid, 10.0);
|
||||
Opm::Equil::DeckDependent::InitialStateComputer<Opm::EclipseGridParser> comp(props, deck, grid, 10.0);
|
||||
const auto& pressures = comp.press();
|
||||
BOOST_REQUIRE(pressures.size() == 3);
|
||||
BOOST_REQUIRE(int(pressures[0].size()) == grid.number_of_cells);
|
||||
|
Loading…
Reference in New Issue
Block a user