Kai Bao
612ac74b89
finish the injecivity functionality
...
the result looks okay
2018-12-11 21:40:47 +01:00
Atgeirr Flø Rasmussen
7e91381cd8
Fix another parallel bug.
...
A WellSwitchingLogger was created in a local context (meaning not
all processes might be there), but since its destructor does
communication it must be called in a global context (guaranteeing
that all processes create it).
2018-11-26 10:21:25 +01:00
Kai Bao
3dac7266b0
typo correction and message output adjustment for WTEST
...
recovering the const for updateWellStateWithTarget
there is no functional change.
2018-11-25 20:31:56 +01:00
Kai Bao
eaa3ad19f5
first version of the well testing for physical reason
...
the key difficulty is that we do not have reliable explicit information
to do the testing.
In this version, we try to obtain the explicit information by finishing
one converged solving.
2018-11-25 20:31:56 +01:00
Kai Bao
7d721408f2
adding canProduceInjectWithCurrentBhp to StandardWell
...
and use it the operability_status determination.
2018-11-22 07:05:46 +01:00
Kai Bao
90f805bf3e
we need to open the cross-flow to solve the sigularity
...
if a well is banned from cross-flow. When it is under RATE control, its
BHP might be initialized in way causing all the drawdown in the wrong
direction. It will cause singular well equations.
here, we open the croff-flow to fix the singularity and rely on Newton
iteraton to get desired result.
possible alternative approach is to adust the BHP to avoid the situation
that all the drawdown are in the wrong direction.
2018-11-20 13:56:14 +01:00
Kai Bao
5204bbe4ca
adding function checkWellOperatability() to StandardWell
...
it includes BHPLimit check, THPlimit check, and also to see whether if
the well can produce/inject in the correct direction.
2018-11-20 13:54:45 +01:00
Atgeirr Flø Rasmussen
c006ea23f2
Merge pull request #1651 from totto82/speed_up_add_cell_rates
...
Speed up add cell rates
2018-11-19 10:49:19 +01:00
Tor Harald Sandve
3a38b9fe53
Move addCellRates to interface and add is_cell_penetrated
2018-11-19 09:41:00 +01:00
Kai Bao
76a3f2a1f5
adding function updateWellStateWithTHPTargetIPR()
...
this function can update the well state related based on the inflow
perfomance relationship and THP target.
2018-11-15 11:46:22 +01:00
Tor Harald Sandve
5edd63c554
flow: let the wells be managed by EclProblem
2018-11-08 10:40:28 +01:00
Atgeirr Flø Rasmussen
2bf4d15285
Rename ConvergenceStatus -> ConvergenceReport.
2018-10-25 11:57:47 +02:00
Atgeirr Flø Rasmussen
f9fae47f23
Use ConvergenceStatus in well subsystem.
2018-10-23 14:05:19 +02:00
Joakim Hove
94d57f686c
Refactor of connecrions & completions
2018-06-20 11:51:00 +02:00
Tor Harald Sandve
969d8f238d
Use phase and comp info from FluidSystem
...
TODO: The output, fip and restart still uses a mixture of old and
new phase indices. This needs to be adressed in future PRs
2018-01-03 08:44:37 +01:00
Kai Bao
9317c1f023
removing the current argument in updateWellStateWithTarget
...
and some other cleaning up.
2017-11-30 17:14:29 +01:00
Kai Bao
ea3cbd1fe8
removing numComponents() from WellInterface
...
which is dumplicated from BlackoilWellModel.
2017-11-30 16:31:48 +01:00
Tor Harald Sandve
c076ed6485
Move Rateconverter and pvtIdx to the wellInterface
2017-11-23 08:37:30 +01:00
Tor Harald Sandve
b9bc4b00cb
Make the wellModel self-contained
...
The wellModel is now persistent over the time steps,
with an update method called every reportStep/episode.
This allows the following simplifications:
1. move the wellState to the WellModel
2. add a ref to the ebosSimulator to the wellModel
3. clean up the parameters passed to the wellModel methods
4. move RESV handling to the WellModel and the rateConverter
5. move the econLimit update to the WellModel
2017-11-08 13:57:36 +01:00
Kai Bao
ba8eb708d1
fixing reviewing comments from PR 1279.
2017-10-16 17:01:15 +02:00
Kai Bao
4efaf64cf7
adapting to the interface change in OPM-parser#1145.
2017-10-16 14:39:07 +02:00
Kai Bao
d407e516ce
throw for unsupported situations and fix warnings
...
for MultisegmentWell.
2017-10-13 10:16:44 +02:00
Kai Bao
7a29c5098f
changing the strategy of the updateWellState in MultisegmentWell
...
only applying relaxation during the inner iteration.
2017-10-12 16:46:25 +02:00
Kai Bao
6a4260c264
various improvement and bug fixing.
...
fixed one invalid memory reading of perforation_segment_depth_diffs_
in computePerfRate, which caused different results for different
running.
2017-10-12 14:10:36 +02:00
Kai Bao
1a7b5571b6
trying to add an inner well iteration to speed up convergence.
2017-10-12 14:10:24 +02:00
Kai Bao
fc64d34bc2
cleaning up some comments.
2017-10-12 13:43:04 +02:00
Kai Bao
f6ad3669f8
considering the two pressure difference to MultisegmentWell
...
while the sign of the pressure differences are not sure or well tested
yet.
2017-10-12 13:43:04 +02:00
Kai Bao
df593cf1d2
adding the calculation of depth differences
...
between the perforations and their segments, and also the perforations
and perforated grid blocks.
2017-10-12 13:39:58 +02:00
Kai Bao
2b4a99edf9
handling the acceleration pressure drop
...
not tested yet.
2017-10-12 13:39:58 +02:00
Kai Bao
4893334567
adding function getFrictionPressureLoss()
...
it should be related to the flow direction, which needs some tests.
2017-10-12 13:39:58 +02:00
Kai Bao
aa8ffe9386
removing the unit conversion factors in frictional formular.
...
since we are using the SI unit internally, they should not be needed.
2017-10-12 13:39:58 +02:00
Kai Bao
7ae5bd5187
adding the code to calculate the segment viscosities.
...
not tested yet.
2017-10-12 13:39:58 +02:00
Kai Bao
391abcec7f
adding helper fuction to calculate frictional pressure loss
...
not tested yet.
2017-10-12 13:39:58 +02:00
Kai Bao
ad964210e5
move invDX to MSWellHelpers.hpp.
2017-10-12 13:39:58 +02:00
Kai Bao
20c21a6cb2
removing a few variables related to matrix opertaion
2017-10-12 13:39:58 +02:00
Kai Bao
6ef0c5010c
adapting the change of PR 1263
2017-10-12 13:37:05 +02:00
Kai Bao
282d678622
removing flowToEbosPvIdx from MultisegmentWell
...
as a result from rebase.
2017-10-12 13:37:05 +02:00
Kai Bao
5dee45dc0a
various small improvements.
2017-10-12 13:37:05 +02:00
Kai Bao
bafe292af0
adding some comments for later implementation.
2017-10-12 13:37:05 +02:00
Kai Bao
596814943c
bug fixing to make the hydroPrssureLoss correct.
2017-10-12 13:37:05 +02:00
Kai Bao
f784cf97eb
a few bug fixing for MultisegmentWell
2017-10-12 13:37:05 +02:00
Kai Bao
5ffd2bf026
correct the treatment of the pressure equation
...
the derivative of the inlet contribution should go to the correction
location in duneD_.
2017-10-12 13:37:05 +02:00
Kai Bao
1f380713e8
using function invDX to implement functions in MultisegmentWell
...
it compiles, while not sure how it gonna work.
2017-10-12 13:37:05 +02:00
Kai Bao
ba3c7a88db
adding a functin invDX to calculate D^-1 X
...
not sure why putting it in ISTLSolver.hpp caused linking problem.
Putting it in MultisegmentWell for now.
2017-10-12 13:37:05 +02:00
Kai Bao
6f6f3ead5e
adding updateWellState for MultisegmentWell
2017-10-12 13:37:05 +02:00
Kai Bao
1adc081430
adding function processFractions() to MultisegmentWell
...
to handle the undershooting and overshooting of the fractions during
updateWellState.
2017-10-12 13:37:05 +02:00
Kai Bao
0e7b77fac2
adding getHydorPressureLoss() to MultisegmentWell
...
to handle the hydrostatic pressure loss.
2017-10-12 13:37:05 +02:00
Kai Bao
d30c1eb2c5
adding getPressureEq() to MultisegmentWell
2017-10-12 13:37:05 +02:00
Kai Bao
2bf82b4262
adding getControlEq() to MultisegmentWell
...
to handle the well control equation. THP control is not handled there
yet.
2017-10-12 13:37:05 +02:00
Kai Bao
b3a233eecc
WIP in adding assembleWellEq for MultisegmentWell
2017-10-12 13:37:05 +02:00