Commit Graph

95 Commits

Author SHA1 Message Date
Tor Harald Sandve
6084721812 Prepare for extended models.
Let the code loop over number of components instead of phase
Pass TypeTag as template parameter instead of all the properties.
2017-05-08 09:52:30 +02:00
Kai Bao
72d0d4ddb8 revising the computeWellPotentials in StandardWells
so it compute the potentials for each well instead of each perforation.
2017-04-11 16:51:16 +02:00
Markus Blatt
86209139db Make StandardWells support cases with no wells.
Dense case was handled in PR #1002. I was not aware that the same
regression was in the legacy code. wells_manager.c_wells() might return
a null pointer if there are no wells in the domain of a process.
2017-01-09 16:12:07 +01:00
Andreas Lauser
ef731672c9 remove the BlackoilPropsAdInterface abstraction layer
instead, directly use BlackoilPropsAdFromDeck.
2017-01-02 13:19:23 +01:00
Kai Bao
e57da11fbd making the updateWellControls an iterative process for StandardWells
Seperating the updateWellStateWithTarget from updateWellControls, will
update the controls when any of the control constraints gets broken.

The reason is that the updated well control can still break some of
other the contstaints. We need to choose one control to make sure all the
constraints are honored.
2016-11-24 11:27:59 +01:00
Andreas Lauser
b2f7b8c989 Merge remote-tracking branch 'origin/master' into frankenstein 2016-11-18 11:09:41 +01:00
Kai Bao
0ab04b04cd checking whethter group control is active
When applying group control related functions.
2016-11-17 16:01:59 +01:00
Kai Bao
d38a6eb459 adapting the change of the function findWellNode(). 2016-11-16 14:28:35 +01:00
Kai Bao
f85da3768e cleaning up and updating MultisegmentWells 2016-11-16 13:27:30 +01:00
Kai Bao
002439c5b1 WIP in testing new group update strtegy.
results with min_iter=2 works okay, while not min_iter=1.

It means the iteration stop at the wrong situation.
2016-11-16 13:26:28 +01:00
Kai Bao
a5aaf9b802 easier way to update whether the well under group control
potentially can be more consistent way.
It does not change the result.
2016-11-16 13:25:35 +01:00
Kai Bao
8a1e1e010a using findWellNode() to avoid dynamic_casting
form WellGroupInterface* to WellNode*.
2016-11-16 13:25:35 +01:00
Kai Bao
0f3e34bb25 cleaning up some comments. 2016-11-16 13:25:35 +01:00
Kai Bao
e65d24aa16 removing outdated log ouptut code about control switching
Which results from the rebasing process.
2016-11-16 13:25:35 +01:00
Kai Bao
e13cf827b5 applying the efficiency factors to the multi-segment wells. 2016-11-16 13:25:35 +01:00
Kai Bao
623ef3850e applying the efficiency factor to flow 2016-11-16 13:25:35 +01:00
Kai Bao
aca587b76b calculate efficiency factor in StandardWells
which will be used to scale the perforation flow rate when entering the
matrial balance equations.
2016-11-16 13:25:35 +01:00
Kai Bao
ac67a10316 removing one updateWellControls from solveWellEq
not recalling why adding it in the first place.

And correcting some comments for clarification.
2016-11-16 13:25:35 +01:00
Kai Bao
0df52603d7 fixing the interface of wellModel constructors
to make all the simulators compile.
2016-11-16 13:25:35 +01:00
Kai Bao
26b16c1050 cleaning up the output and adding more comments. 2016-11-16 13:25:11 +01:00
Kai Bao
d992161b82 output cleaning up and add more comment. 2016-11-16 13:24:39 +01:00
Kai Bao
e323f15d2f putting more things in the prototyping test. 2016-11-16 13:23:55 +01:00
Kai Bao
e0dd9bfabd keeping putting group control in. 2016-11-16 13:22:52 +01:00
Kai Bao
f62d40fc05 adding a pointer to the well_collection of WellsManger
might change to reference later. Using pointer now is trying to keep the
WellModel constant.
2016-11-16 13:22:52 +01:00
Tor Harald Sandve
f1a9b1f21b Remove unused file and #includes
removes StandardWellsDense_impl.hpp
2016-11-01 13:44:38 +01:00
Andreas Lauser
6754bad00b Merge branch 'master' into frankenstein
* master:
  Update to shared_ptr-less parser interface.
2016-10-20 20:16:42 +02:00
Jørgen Kvalsvik
1c6a4b34da Update to shared_ptr-less parser interface. 2016-10-20 14:08:04 +02:00
Andreas Lauser
44d3d5b536 Merge branch 'master' into frankenstein
* master: (42 commits)
  Let only one rank write to step_timing.txt
  Do not refer users to issue tracker if multiple procs log.
  Remove unused variable.
  Use vector instead of VLA, also add missing includes.
  changed: bundle eigen3 in the original tarball for debian
  update redhat6 packaging
  Bugfix parallel computation of weighted pressure etc.
  Fixed uninitialized bug, and added logging/comment
  Removed superfluous std::move
  Refactoring
  Initial version of summary data
  Do not store collective communication in the wells object.
  Make sure that updateWellControls is called on each process.
  Make WellSwitchingLogger work with DUNE 2.3
  Schedule::getGroup returns reference, not pointer
  Removed warning in WellSwitchLogger::calculateMessageSize
  Correctly initialize MPI for multisegment wells test
  Changed some names in WellSwitchingLogger
  Use speaking name for bool in getCellData
  Whitespace and other formatting changes
  ...
2016-10-14 19:31:56 +02:00
Markus Blatt
828f118801 Do not store collective communication in the wells object.
Instead of this we rely on the default constructor of
WellSwitchingLogger. This finally fixes the compile
issues with DUNE 2.3.
2016-10-07 10:46:54 +02:00
Markus Blatt
07318edfa1 Added a parallel aware logger for switching wells.
It will collect all the switches. Afterwards they are collect on
the root process and logged there.

This commit includes a small test program.
2016-10-05 10:33:15 +02:00
Tor Harald Sandve
a4dcc4b13d Remove unused code and remove Eigen vectors
-- isRS and phaseCondition is removed and hydroCarbonState in the state
is used instead
-- input of pressurediffs to computeHydrostaticCorrection() is changed
to double from Vector in WellHelpers.hpp
2016-09-07 12:25:54 +02:00
Andreas Lauser
415bb25166 allow StandardWells.hpp to be included independently
i.e., without BlackoilModelBase.hpp.
2016-08-09 12:23:29 +02:00
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
ddec62288a fixing the warning messages. 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
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
Atgeirr Flø Rasmussen
5e18aab106 Merge pull request #744 from blattms/fix-wells-for-null-pointers
Fix wells for null pointers
2016-06-27 16:24:01 +02:00
Atgeirr Flø Rasmussen
bcf210c03e Merge pull request #711 from blattms/print-all-well-switching-in-parallel
Print all well switching in parallel.
2016-06-27 16:22:02 +02:00