mirror of
https://github.com/OPM/opm-simulators.git
synced 2024-12-28 18:21:00 -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
|
||||
void prepareStep(const SimulatorTimerInterface& /*timer*/,
|
||||
const ReservoirState& reservoir_state,
|
||||
WellState& well_state)
|
||||
const WellState& /* well_state */)
|
||||
{
|
||||
if ( wellModel().wellCollection()->havingVREPGroups() ) {
|
||||
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: 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
|
||||
model_->prepareStep(timer, initial_reservoir_state, well_state);
|
||||
// model_->prepareStep(timer, initial_reservoir_state, initial_reservoir_state);
|
||||
model_->prepareStep(timer, initial_reservoir_state, initial_well_state);
|
||||
|
||||
int iteration = 0;
|
||||
|
||||
|
@ -130,6 +130,10 @@ namespace Opm {
|
||||
WellState& well_state)
|
||||
{
|
||||
|
||||
if (iterationIdx == 0) {
|
||||
prepareTimeStep(ebosSimulator, well_state);
|
||||
}
|
||||
|
||||
// after restarting, the well_controls can be modified while
|
||||
// the well_state still uses the old control index
|
||||
// we need to synchronize these two.
|
||||
|
Loading…
Reference in New Issue
Block a user