mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
avoiding the oscillation treatment applied to well solution
it is a design to avoid some performance degeneration for parallel running.
This commit is contained in:
parent
cdb8220c9b
commit
28a7167d61
@ -301,6 +301,15 @@ namespace Opm {
|
|||||||
perfTimer.reset();
|
perfTimer.reset();
|
||||||
perfTimer.start();
|
perfTimer.start();
|
||||||
|
|
||||||
|
// handling well state update before oscillation treatment is a decision based
|
||||||
|
// on observation to avoid some big performance degeneration under some circumstances.
|
||||||
|
// there is no theorectical explanation which way is better for sure.
|
||||||
|
|
||||||
|
if( nw > 0 )
|
||||||
|
{
|
||||||
|
wellModel().recoverWellSolutionAndUpdateWellState(x, well_state);
|
||||||
|
}
|
||||||
|
|
||||||
if (param_.use_update_stabilization_) {
|
if (param_.use_update_stabilization_) {
|
||||||
// Stabilize the nonlinear update.
|
// Stabilize the nonlinear update.
|
||||||
bool isOscillate = false;
|
bool isOscillate = false;
|
||||||
@ -322,10 +331,6 @@ namespace Opm {
|
|||||||
// chopping of the update.
|
// chopping of the update.
|
||||||
updateState(x,iteration);
|
updateState(x,iteration);
|
||||||
|
|
||||||
if( nw > 0 )
|
|
||||||
{
|
|
||||||
wellModel().recoverWellSolutionAndUpdateWellState(x, well_state);
|
|
||||||
}
|
|
||||||
report.update_time += perfTimer.stop();
|
report.update_time += perfTimer.stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user