Commit Graph

92 Commits

Author SHA1 Message Date
Franz G. Fuchs
42f6f4d784 Correct Logging for Black Oil Well Model for parallel runs using DeferredLogger 2019-02-05 15:24:10 +01:00
Franz G. Fuchs
7f1df40b74 fixed naming conventions, messages and comments 2019-01-21 08:26:28 +01:00
Franz G. Fuchs
129e7d181e replace well switching logger with deferred logger 2019-01-18 14:04:30 +01:00
Kai Bao
c4254240e2 addressing the first part of comments form PR#1680
there should be no functional change.
2018-12-13 13:29:59 +01:00
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
Atgeirr Flø Rasmussen
d858f2901a
Merge pull request #1614 from totto82/well_ppp
Output of well potential when asked for
2018-11-13 14:29:58 +01:00
Kai Bao
73f8ed912e detecting whether some well control events happens to a well
When there is some events happen to a well, we use the control mode
 from the DECK, and update the WellState based on the new control model.
 Otherwise, we can use the control mode from the previous well state,
 and keep the values from the previous well state as an intial guess.
2018-11-09 13:36:49 +01:00
Tor Harald Sandve
3bc292d168 Store well potential in well_state and pass it for output if asked for
A zero well potential is passed if the computation fails or
if it is a multisegmented well.
2018-11-08 13:28:24 +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
852765a65b Address review comments. 2018-10-25 12:12:06 +02:00
Atgeirr Flø Rasmussen
2bf4d15285 Rename ConvergenceStatus -> ConvergenceReport. 2018-10-25 11:57:47 +02:00
Atgeirr Flø Rasmussen
2bef8d7017 Use infinity as too-large boundary for multisegment pressure equation.
This is to preserve current behaviour. Infinity is used in the test
currently, rather than the provided parameter (that is only used for
mass balance/flux equations).
2018-10-24 21:43:26 +02:00
Atgeirr Flø Rasmussen
f9fae47f23 Use ConvergenceStatus in well subsystem. 2018-10-23 14:05:19 +02:00
Joakim Hove
b9df94a70f Use Well CF and Kh calculations from opm-common 2018-09-10 12:23:59 +02:00
Joakim Hove
514cdc574c Completion refactor 2018-06-26 12:30:54 +02:00
Joakim Hove
94d57f686c Refactor of connecrions & completions 2018-06-20 11:51:00 +02:00
Joakim Hove
bd57d574d3 Rename Completion -> Connection 2018-06-11 17:23:28 +02:00
Andreas Lauser
7f3a9f1f43 catch NumericalIssue instead of NumericalProblem
the underlying problem is that the OPM build system does not define a
HAVE_OPM_COMMON macro in config.h.
2018-02-08 12:02:25 +01: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
Kai Bao
8274fc9275 replacing BlackoilPhases:: with Oil Water Gas in well model
and also WellStateFullyImplicitBlackoil.

There are more places to do so, while it might be easier to create a
header file for this.
2017-11-16 12:08:58 +01:00
Kai Bao
89416720cb removing more HAVE_UMFAPACK related in MultisegmentWell_impl
which are left from the previous PR.
2017-11-03 14:54:32 +01:00
Kai Bao
790db957f5 giving more information when umfpack is not available.
when calling invDXDirect.
2017-11-03 10:03:03 +01:00
Andreas Lauser
720dc636e8 make the build work if UMFPACK is not available
this was caused by the recent work on multisegmented wells. If UMFPack
is available, it compiled.
2017-10-24 19:17:41 +02: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
7054317d98 checking the results from the direct solver invDX
since I has not figure out a way to detect/catch the singularity of the
matrix with UMFPack, currently, we only check the validity of the
results to make sure inf or nan not enter other part of the simulation.

It can easiliy results in assertion failure, and causes the running to
be terminated. After all, it mostly likely is a numerical issue
generated during the non-linear iteration process.
2017-10-15 12:13:42 +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
86269e0de2 cleaning up.
no functional change.
2017-10-12 15:36:54 +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
8a19b719d6 when Reynolds number is zero, return zero friction factor
which means there is not friction pressure loss. The formualtion has
problem in handling zero-value Reynolds number.
2017-10-12 13:43:04 +02:00
Kai Bao
c3a368e58e adding two more parameters related to ms wells
to help to tune and improve the convergence.
2017-10-12 13:43:04 +02:00
Kai Bao
fc64d34bc2 cleaning up some comments. 2017-10-12 13:43:04 +02:00
Kai Bao
6fb459a797 introducing tolerance_pressure_ms_wells for pressure equations
for the multisegment wells. More detailedly, we should distinguish the
rate control equations, bhp control equations and ordinary pressure
equations.
2017-10-12 13:43:04 +02:00
Kai Bao
92abdc4f23 correcting some bugs in frictional pressure loss. 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
aa8b1ae0f8 giving the friction pressure loss a direction. 2017-10-12 13:43:04 +02:00