mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-01-02 12:36:54 -06:00
performing prepareTimeStep in assemble for StandardWellsDense
instead of model->preppareStep() to avoid segmenttation error from eclSimulator and also not intervening with NonlinearSolver
This commit is contained in:
parent
4a6dbbe0a7
commit
e39ffefb2e
@ -213,13 +213,11 @@ namespace Opm {
|
|||||||
/// \param[in, out] well_state well state variables
|
/// \param[in, out] well_state well state variables
|
||||||
void prepareStep(const SimulatorTimerInterface& /*timer*/,
|
void prepareStep(const SimulatorTimerInterface& /*timer*/,
|
||||||
const ReservoirState& reservoir_state,
|
const ReservoirState& reservoir_state,
|
||||||
WellState& well_state)
|
const WellState& /* well_state */)
|
||||||
{
|
{
|
||||||
if ( wellModel().wellCollection()->havingVREPGroups() ) {
|
if ( wellModel().wellCollection()->havingVREPGroups() ) {
|
||||||
updateRateConverter(reservoir_state);
|
updateRateConverter(reservoir_state);
|
||||||
}
|
}
|
||||||
|
|
||||||
well_model_.prepareTimeStep(ebosSimulator_, well_state);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -130,8 +130,7 @@ namespace Opm
|
|||||||
// TODO: this is not the correct fix, possibly breaking the sequential solver
|
// TODO: this is not the correct fix, possibly breaking the sequential solver
|
||||||
// TODO: the only reason to do this is that the wellPotentials() is part of the well_state, which will be modified
|
// TODO: the only reason to do this is that the wellPotentials() is part of the well_state, which will be modified
|
||||||
// during the well_potential calculation
|
// during the well_potential calculation
|
||||||
model_->prepareStep(timer, initial_reservoir_state, well_state);
|
model_->prepareStep(timer, initial_reservoir_state, initial_well_state);
|
||||||
// model_->prepareStep(timer, initial_reservoir_state, initial_reservoir_state);
|
|
||||||
|
|
||||||
int iteration = 0;
|
int iteration = 0;
|
||||||
|
|
||||||
|
@ -130,6 +130,10 @@ namespace Opm {
|
|||||||
WellState& well_state)
|
WellState& well_state)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
if (iterationIdx == 0) {
|
||||||
|
prepareTimeStep(ebosSimulator, well_state);
|
||||||
|
}
|
||||||
|
|
||||||
// after restarting, the well_controls can be modified while
|
// after restarting, the well_controls can be modified while
|
||||||
// the well_state still uses the old control index
|
// the well_state still uses the old control index
|
||||||
// we need to synchronize these two.
|
// we need to synchronize these two.
|
||||||
|
Loading…
Reference in New Issue
Block a user