Commit Graph
3971 Commits
Author SHA1 Message Date
Kai Bao 399298be21 using mapentry_t instead of iterator. 2016-07-05 15:28:02 +02:00
Kai Bao a8c2626e5a fixing comments.
no functional change.
2016-07-05 13:02:28 +02:00
Kai Bao 4dad47f90d adding warning tags to all the WECON related warnings. 2016-07-05 13:02:28 +02:00
Kai Bao aed2760b31 updating the path for the multi-segment wells test.
due to the renaming of the folder name in opm-data.
2016-07-05 13:02:28 +02:00
Kai Bao ddec62288a fixing the warning messages. 2016-07-05 13:02:28 +02:00
Kai Bao 6a70450422 wrtiting state to report at the end of each time step
insead of writing in the begining of each time step.
2016-07-05 13:02:28 +02:00
Kai Bao 8e52e71993 changing shutted to shut. 2016-07-05 13:02:28 +02:00
Kai Bao b2524a7dc3 making a forwarded updateListEconLimited in SimulatorBase.
and some changes to make the code compile for all the simulators.
2016-07-05 13:02:28 +02:00
Kai Bao 98a6495abc makeing wellModel public for flow_polymer and flow_solvent. 2016-07-05 13:02:27 +02:00
Kai Bao cc957a77fe some well will go to stopped list and infomation output. 2016-07-05 13:02:27 +02:00
Kai Bao e817719d48 When last connection is closed, the well is shut done. 2016-07-05 13:02:27 +02:00
Kai Bao 109b55f61c using OpmLog to give warning. 2016-07-05 13:02:27 +02:00
Kai Bao 41b9fca434 implementing checkRatioEconLimits 2016-07-05 13:02:27 +02:00
Kai Bao 9220a2bbaf refactoring updateListEconLimited based on new functions. 2016-07-05 13:02:27 +02:00
Kai Bao dd59762c0b adding checkMaxWaterCutLimit to StandardWells. 2016-07-05 13:02:27 +02:00
Kai Bao c77aa5af09 adding checkRateEconLimited to StandardWells
to check rate related to economic limits.
2016-07-05 13:02:27 +02:00
Kai Bao d48399ac3a WIP for handling the water cut ecnomic limit 2016-07-05 13:02:27 +02:00
Kai Bao a019460268 warning if requesting opening a new well after closing a well
it is not supported yet.
2016-07-05 13:02:27 +02:00
Kai Bao e903690107 giving a warning if the WECON request ending running
It is not supported yet to stop the whole program after a well is closed
due to economic limits.
2016-07-05 13:02:27 +02:00
Kai Bao 53490270e1 adding updateListEconLimited to StandardWells 2016-07-05 13:02:27 +02:00
Kai Bao 18fa442721 adapted to the interface change of WellsManager
At the moment, for the ParallelDebugOutput, we put a dummy
dyanmic_list_econ_limited, not sure how it will the parallel running.

The basic problem is that when initialzing the globalWellState_, what
will happen if they can not find state information for a well in the Wells*.

If some defaulted values are used, then no big problem here.
2016-07-05 13:02:27 +02:00
Bård Skaflestad b4df2ccff0 Merge pull request #750 from blattms/print-time-step-once-in-parallel-run
Use termininal_output_ to only print time step status once for parallel runs
2016-07-04 15:44:57 +02:00
Markus Blatt fb76737bea Moved step_msg inside if-branch
as it is not used outside of it.
2016-07-04 15:07:02 +02:00
Markus Blatt 047ae8f444 Use termininal_output_ to only print time step status once for parallel runs.
Previously each process printed this to the terminal
2016-07-04 13:46:29 +02:00
Joakim Hove 48c8d15ecd Merge pull request #738 from joakim-hove/write-tran
Write TRAN? to the INIT file.
2016-07-01 13:56:54 +02:00
Joakim Hove b60f1ac5e7 Added Python based integration test to check TRAN? 2016-07-01 13:18:34 +02:00
Joakim Hove be71a2f8b2 Removed NNC argument from EclipseWriter ctor. 2016-07-01 12:26:25 +02:00
Joakim Hove e262d0da68 Renamed writeInit -> writeInitAndEgrid( ) 2016-07-01 12:26:25 +02:00
Joakim Hove 5a89598788 Write TRAN? to the INIT file. 2016-07-01 12:26:25 +02:00
Joakim Hove 6fffc45e5a Merge pull request #748 from atgeirr/fix-minor-bug-and-warning
Fix minor bug and warning
2016-06-30 22:04:03 +02:00
Atgeirr Flø Rasmussen 895a1de3fc Make iteration counts signed integers.
Generated warning when compared to the minimum int in well iteration count.
2016-06-30 15:31:07 +02:00
Atgeirr Flø Rasmussen c7e6070d31 Correctly override NOSIM. 2016-06-30 15:30:49 +02:00
Atgeirr Flø Rasmussen 86b66863b4 Merge pull request #734 from qilicun/format-step-output
Format step output
2016-06-30 09:19:54 +02:00
Liu Ming d3e6a657cd Initial well iterations as a special number, output it if it is valid. 2016-06-30 09:04:44 +08:00
Joakim Hove 8d9090b8f9 Merge pull request #747 from joakim-hove/nosim-param
Will look for param: 'nosim' and override deck.
2016-06-29 16:41:36 +02:00
Liu Ming 136839bd20 fix warnings. 2016-06-29 16:42:43 +08:00
Joakim Hove 09f22f370a Will look for param: 'nosim' and override deck. 2016-06-29 08:03:38 +02:00
Liu Ming 3eb1484f47 Merge remote-tracking branch 'remotes/opm/master' into format-step-output
Conflicts:
	opm/autodiff/BlackoilPressureModel.hpp
	opm/autodiff/BlackoilTransportModel.hpp
2016-06-28 16:24:58 +08:00
Liu Ming e6930df28c make assemble method return IterationReport. 2016-06-28 16:20:33 +08:00
Atgeirr Flø Rasmussen baeab02bd6 Adapt to changed updateWellControls() signature. 2016-06-28 15:50:50 +08:00
Markus Blatt 79670b1c29 Prevent signed-unsigned-comparison warning. 2016-06-28 15:50:50 +08:00
Markus Blatt c7cca46b2c Adds missing parallel reduction to euclidianNorm for multiple components 2016-06-28 15:50:50 +08:00
Markus Blatt 72d0b8123b Fixes the parallel Euclidian product for multiple phases.
This is used to compute the Euclidian product for the saturations.
Thes are ordered in an interleaved manner (all saturations for cell
with index 0, the all for index 1, ...). Up to now the implementation
assumed a different ordering: blockwise (all saturations for phase 0 first,
then all saturations phase 1, ...).
With this commit the computation uses the right assumption.
2016-06-28 15:50:50 +08:00
Markus Blatt 302d881557 Removed trailing underscore for local variable. 2016-06-28 15:50:50 +08:00
Markus Blatt b4feb28389 Make numWellVars work for null well pointers. 2016-06-28 15:50:50 +08:00
Markus Blatt 1a1797a061 Set wellsActive to false for null well pointers. 2016-06-28 15:50:50 +08:00
Markus Blatt 68f9180a65 Allow access to wells pointer for wells.
Using &stdwells.wells() throws an assertion for null pointers
without -DNDEBUG, but was used nevertheless. That prevented running
models without wells.
2016-06-28 15:50:50 +08:00
Markus Blatt 227b7f49b7 Do not store number of phases in StandardWells.
The wells pointer might be null and we need to access its number of
phases in the constructor to store it. With this commit we prevent that
storage and simply ask the well struct whenever we need the number of
phases. Of course the code using it needs to check that there are wells
but that is done in most parts of the opm-simulators currently
(MultiSegmentWells and Solvent are/might be an exception).
2016-06-28 15:50:50 +08:00
Markus Blatt f0cdacc7a0 Fix handling of no wells in WellStateFullyImplicitBlackoil.hpp
In that case we cannot call numPhases() on the wells as it produces
a floating point exception. As we do not use that information in this case
anyway, we simply use -1 instead to prevent the call.
2016-06-28 15:50:50 +08:00
Atgeirr Flø Rasmussen 6572aeed5e Add sequential models for black oil.
This commit adds sequential solvers, including a simulator variant
using them (flow_sequential.cpp) with an integration test (running
SPE1, same as for fully implicit).

The sequential code is capable of running several (but not all) test
cases without tuning or special parameters, but reducing ds_max a bit
(from default 0.2 to say 0.1) helps with transport solver
convergence. The Norne model runs fine (esp. with a little tuning). A
parameter iterate_to_fully_implicit (defaults to false) is available,
when set the simulator will iterate with alternating pressure and
transport solves towards the fully implicit solution. Although that
takes a lot extra time it serves as a correctness check.

Performance is not competitive with fully implicit at this point:
essentially both the pressure and transport models inherit the fully
implicit model and do a lot of double (or triple) work. The point has
been to establish a proof of concept and baseline for further
experiments, without disturbing the base model too much (or at all, if
possible).

Changes to existing code has been minimized by merging most such
changes as smaller PRs already, the only remaining such change is to
NewtonIterationBlackoilInterleaved. Admittedly, that code (to solve
the pressure system with AMG) is not ideal because it duplicates
similar code in CPRPreconditioner.hpp and is not parallel. I propose
to address this later by refactoring the "solve elliptic system" code
from CPRPreconditioner into a separate class that can be used also
from here
2016-06-28 15:50:50 +08:00