mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Merge pull request #311 from totto82/fix_verticalscaling
Apply the swatinit scaling to new_props
This commit is contained in:
@@ -95,7 +95,7 @@ try
|
||||
}
|
||||
std::shared_ptr<GridManager> grid;
|
||||
std::shared_ptr<BlackoilPropertiesInterface> props;
|
||||
std::shared_ptr<BlackoilPropsAdInterface> new_props;
|
||||
std::shared_ptr<BlackoilPropsAdFromDeck> new_props;
|
||||
std::shared_ptr<RockCompressibility> rock_comp;
|
||||
BlackoilState state;
|
||||
// bool check_well_controls = false;
|
||||
@@ -170,6 +170,16 @@ try
|
||||
initBlackoilStateFromDeck(*grid->c_grid(), *props, deck, gravity[2], state);
|
||||
}
|
||||
|
||||
// The capillary pressure is scaled in new_props to match the scaled capillary pressure in props.
|
||||
if (deck->hasKeyword("SWATINIT")) {
|
||||
const int nc = grid->c_grid()->number_of_cells;
|
||||
std::vector<int> cells(nc);
|
||||
for (int c = 0; c < nc; ++c) { cells[c] = c; }
|
||||
std::vector<double> pc = state.saturation();
|
||||
props->capPress(nc, state.saturation().data(), cells.data(), pc.data(),NULL);
|
||||
new_props->setSwatInitScaling(state.saturation(),pc);
|
||||
}
|
||||
|
||||
bool use_gravity = (gravity[0] != 0.0 || gravity[1] != 0.0 || gravity[2] != 0.0);
|
||||
const double *grav = use_gravity ? &gravity[0] : 0;
|
||||
|
||||
|
||||
@@ -207,6 +207,17 @@ try
|
||||
*props, deck, gravity[2], state);
|
||||
}
|
||||
|
||||
|
||||
// The capillary pressure is scaled in new_props to match the scaled capillary pressure in props.
|
||||
if (deck->hasKeyword("SWATINIT")) {
|
||||
const int nc = grid->numCells();
|
||||
std::vector<int> cells(nc);
|
||||
for (int c = 0; c < nc; ++c) { cells[c] = c; }
|
||||
std::vector<double> pc = state.saturation();
|
||||
props->capPress(nc, state.saturation().data(), cells.data(), pc.data(),NULL);
|
||||
new_props->setSwatInitScaling(state.saturation(),pc);
|
||||
}
|
||||
|
||||
BlackoilState distributed_state;
|
||||
std::shared_ptr<Opm::BlackoilPropsAdFromDeck> distributed_props = new_props;
|
||||
Dune::CpGrid distributed_grid = *grid;
|
||||
|
||||
Reference in New Issue
Block a user