mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
The initBlackoilStateFromDeck is now called only if RS is given in deck
This commit is contained in:
parent
7d12b0cc5c
commit
aa126cb59f
@ -610,16 +610,15 @@ namespace Opm
|
|||||||
/// computation of A.
|
/// computation of A.
|
||||||
template <class Props, class State>
|
template <class Props, class State>
|
||||||
void initBlackoilSurfvol(const UnstructuredGrid& grid,
|
void initBlackoilSurfvol(const UnstructuredGrid& grid,
|
||||||
const Props& props,
|
const BlackoilPropertiesInterface& props,
|
||||||
const EclipseGridParser& deck,
|
|
||||||
State& state)
|
State& state)
|
||||||
{
|
{
|
||||||
const std::vector<double>& rs = deck.getFloatingPointValue("RS");
|
const std::vector<double>& rs = state.gasoilratio();
|
||||||
|
|
||||||
//make input for computation of the A matrix
|
//make input for computation of the A matrix
|
||||||
state.surfacevol() = state.saturation();
|
state.surfacevol() = state.saturation();
|
||||||
const PhaseUsage pu = phaseUsageFromDeck(deck);
|
//const PhaseUsage pu = phaseUsageFromDeck(deck);
|
||||||
//const int phase_used = props;
|
const PhaseUsage pu = props.phaseUsage();
|
||||||
|
|
||||||
const int np = props.numPhases();
|
const int np = props.numPhases();
|
||||||
const int nc = grid.number_of_cells;
|
const int nc = grid.number_of_cells;
|
||||||
@ -726,7 +725,6 @@ namespace Opm
|
|||||||
State& state)
|
State& state)
|
||||||
{
|
{
|
||||||
initStateFromDeck(grid, props, deck, gravity, state);
|
initStateFromDeck(grid, props, deck, gravity, state);
|
||||||
initBlackoilSurfvol(grid, props, deck, state);
|
|
||||||
if (deck.hasField("RS")) {
|
if (deck.hasField("RS")) {
|
||||||
const std::vector<double>& rs_deck = deck.getFloatingPointValue("RS");
|
const std::vector<double>& rs_deck = deck.getFloatingPointValue("RS");
|
||||||
const int num_cells = grid.number_of_cells;
|
const int num_cells = grid.number_of_cells;
|
||||||
@ -734,6 +732,7 @@ namespace Opm
|
|||||||
int c_deck = (grid.global_cell == NULL) ? c : grid.global_cell[c];
|
int c_deck = (grid.global_cell == NULL) ? c : grid.global_cell[c];
|
||||||
state.gasoilratio()[c] = rs_deck[c_deck];
|
state.gasoilratio()[c] = rs_deck[c_deck];
|
||||||
}
|
}
|
||||||
|
initBlackoilSurfvol(grid, props, state);
|
||||||
} else {
|
} else {
|
||||||
OPM_THROW(std::runtime_error, "Temporarily, we require the RS field.");
|
OPM_THROW(std::runtime_error, "Temporarily, we require the RS field.");
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user