Kai Bao
5a5c1bfcd3
addressing review comments from PR 1622
2018-11-14 12:45:41 +01:00
Kai Bao
afcdbcf202
detecting the NAN and INF values during VFP calculation
...
and give warning messages when they happen, since they can be the
culprits of the termination of simulation later.
For ADB related, I did not find a good way to do the detection, so there
is no warning message given.
2018-11-14 11:35:44 +01:00
Kai Bao
32b00b61f8
updating the thp value if VFP table is valid
...
through function isVFPActive().
2018-11-14 11:27:00 +01:00
Kai Bao
0d1a4b2d13
adding function isVFPActive() for WellInterface
...
Even the well does not have a THP target/constraint, but if it is
specified with a valid VFP table, we are supposed to update the thp
value for output purposes.
2018-11-14 11:27:00 +01:00
Kai Bao
8f56634b69
fixing different well number between Wells and Well_containers
...
when the solveWellEq did not get converged.
2018-11-13 20:01:38 +01:00
Kai Bao
2ed2c20f12
Merge pull request #1623 from atgeirr/use-convergencereport-gather
...
Use gatherConvergenceReport() in BlackoilWellModel.
2018-11-13 15:16:34 +01:00
Kai Bao
eb86404934
addressing review comments of PR #1615
2018-11-12 15:20:23 +01:00
Kai Bao
5e736fc4c7
decoupe the rate and fraction relaxation
...
the relaxation for these two have different goals and problems, it is
wise to decuple them.
2018-11-09 14:28:44 +01:00
Kai Bao
179a505b83
addressing the review comments #1597
2018-11-09 14:28:44 +01:00
Kai Bao
7e17a60c58
relaxation to avoid overshoot during Newton update in StandardWell
...
Solvent model is not handled yet.
2018-11-09 14:28:44 +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
Kai Bao
0c24a30459
some cleaning up
...
no funtionality changes.
2018-10-31 15:32:50 +01:00
Kai Bao
702c6e7b1f
refactoring the wellTesting in BlackoilWellModel
...
so that we can do well test for different closing reason.
2018-10-31 15:00:21 +01:00
Kai Bao
4d58b9c34d
splitting updateWellTestState to be two functions
...
one testing physical limits, and the other testing economic limits.
2018-10-31 12:54:39 +01:00
Kai Bao
6e2334dcad
removing the extra ; after BEGIN_PROPERTIES and END_PROPERTIES
...
which causes compilation warning.
2018-09-18 13:35:27 +02:00
Kai Bao
a154d89197
Merge pull request #1501 from totto82/wtest
...
Implement WTEST support
2018-07-04 10:45:27 +02:00
Kai Bao
1b587fa118
removing some whitespaces
2018-06-05 09:24:50 +02:00
Kai Bao
b3e3b625b6
Merge pull request #1371 from kel85uk/task/#3/BlackoilAquiferModel
...
[WIP] Task/#1372/blackoil aquifer model
2018-06-04 22:02:26 +02:00
Kai Bao
477740ca38
introducing aquiferActive() to reduce of the overhead
...
for the models that does not include a aquifer model.
2018-05-31 09:51:54 +02:00
Kai Bao
cb9fea6ba0
changing GTotal to WQTotal for StandardWell
2018-05-30 15:44:05 +02:00
Kai Bao
53ab8bc132
lowering the singular limit for the invertMatrix function.
...
to avoid failure due to singularity detection.
2018-05-29 09:36:55 +02:00
Kai Bao
97c51a7d02
addressing some comments
...
and handle the situation that a non-zero target specified for a
non-producing phases. We set the rates to zero for this case.
2018-05-28 16:05:02 +02:00
Kai Bao
ce849fe18e
adding a fix for the zero rate control for StandardWell
...
to avoid under-determined problem.
2018-05-28 16:05:02 +02:00
Kai Bao
efbac8a628
adding function updateThp() to StandardWell
...
hopefully, to improve the readability.
2018-05-28 16:05:02 +02:00
Kai Bao
f3f096dbbb
recovering some unecessary changes.
...
PR #1477 introduced different ways to improve the WellState initialization.
Basically, the WellState initialization will be something challenging to
handle along with the improvement of the well model.
2018-05-28 16:05:02 +02:00
Kai Bao
18917b81f4
adding THP well control equation
2018-05-28 16:05:02 +02:00
Kai Bao
b2bace449e
adding function processFractions()
...
to reduce the length of the function updatePrimaryVariablesNewton()
2018-05-28 16:05:02 +02:00
Kai Bao
e2e24ec355
adding the checking of tolerance of well control equation
2018-05-28 16:05:02 +02:00
Kai Bao
179a03144f
more bug fixing
...
mainly to recover the runnign related to group control example
2018-05-28 16:05:02 +02:00
Kai Bao
1d218d2fe4
small bug fixes.
2018-05-28 16:05:02 +02:00
Kai Bao
3b70f5004f
adding assembleControlEq to StandardWell
...
solvent model needs to be handled for the injector control.
2018-05-28 16:05:02 +02:00
Kai Bao
62947c85b9
updating updatePrimaryVariablesNewton with new primary variables.
2018-05-28 16:05:02 +02:00
Kai Bao
6066884a3d
refactoring updateWellState in StandardWell to be two functions
...
for other use.
2018-05-28 16:05:02 +02:00
Kai Bao
eb851b6580
adding BHP to the primary variables for StandardWell
2018-05-28 16:05:02 +02:00
Kai Bao
979d67e714
Merge pull request #1477 from totto82/vfp_fixes
...
WIP fix vfp in flow
2018-05-16 10:06:10 +02:00
Kai Bao
45023f304e
Merge pull request #1465 from atgeirr/fix-ilu-serial
...
Make sure we (re-)throw MatrixBlockError also in the serial case.
2018-05-08 10:39:15 +02:00
Kai Bao
78cc2b8ca4
adapting to the interface change of VFP related in parser.
2018-04-20 11:29:22 +02:00
Kai Bao
ed49fd1e88
adapting to the change related to VFP from the parser.
2018-04-11 09:22:52 +02:00
Kai Bao
87b3cccd7f
removing WPIMULT from MissingFeatures
2018-04-03 11:11:25 +02:00
Kai Bao
7eaaae3906
removing FlowMainPolymer.hpp
2018-04-03 11:08:25 +02:00
Kai Bao
90e69b59cf
silencing warning related to extra ; from BlackoilAmg
2018-03-14 12:02:07 +01:00
Kai Bao
f098579e0b
fixing test_multmatrixtransposed
2018-03-13 12:58:44 +01:00
Kai Bao
b0edfd2f04
adding POLYMW to the injectorType determination
...
just to silence a warning resulting from OPM/opm-common#348 .
2018-03-09 14:40:49 +01:00
Kai Bao
75e6bcefbb
fixing test_transmissibilitymultipliers
...
due to the change of the PVTO table policy from the parser
2018-03-07 10:01:34 +01:00
Kai Bao
56caffab67
fixing comments for PR#1416
2018-02-28 10:26:54 +01:00
Kai Bao
ec8dc4f534
trying to fix a problematic situation when updateWellState
...
for example, distr = 0 1 0, for rate control, F = 1 0 0, we will get a
zero F_target, then it is wrong to do the division with F_target.
It is okay when target = 0. When target != 0, the result is already very
wrong. Non-linear iteration can send us anywhere, not sure the best
solution for this kind of strange situation.
2018-02-28 09:47:22 +01:00
Kai Bao
b71949b09e
adding a test for polymer oil water
2018-02-28 08:39:38 +01:00
Kai Bao
635f6c7db2
trying to add the functionality to handle oil/water polymer
2018-02-28 08:39:38 +01:00
Kai Bao
a8f560b046
addressing the comments.
2018-02-21 14:45:22 +01:00
Kai Bao
89bb589755
update the reservoir volume in WellState
2018-02-21 12:20:43 +01:00
Kai Bao
abfe9d445b
recoring solution gas rate and solutiion oil rate in StandardWell
2018-02-21 12:20:43 +01:00
Kai Bao
f33657aabf
adding a few memebers to WellStateFullyImplicitBlackoil
...
to get ready for populating well reservoir rates, solution gas
production rates and solution oil production rates.
2018-02-21 12:20:43 +01:00
Kai Bao
efeccd8e74
fixing a test related to history mode.
2018-01-08 09:08:05 +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
Kai Bao
7b61f3e692
moving polymer related to updateWaterMobilityWithPolymer
...
in StandardWell.
And not calculating the shear effect for the injecting wells when the
injection wells do not inject polymer.
2017-11-27 09:24:02 +01:00
Kai Bao
f87e6d35db
removing more legacy Multisegment Wells related.
2017-11-24 12:27:43 +01:00
Kai Bao
59722e552c
making the single phase RESV injection work.
2017-11-24 11:44:53 +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
d9ed5a36b5
using looser tolerance for two failed cases related to umfpack.
...
24 - compareECLFiles_flow_legacy+SPE1CASE2_2P (Failed)
36 - compareECLFiles_flow_solvent+SPE5CASE1 (Failed)
2017-11-03 13:48:49 +01:00
Kai Bao
790db957f5
giving more information when umfpack is not available.
...
when calling invDXDirect.
2017-11-03 10:03:03 +01:00
Kai Bao
9fde417066
checking use_multisegment_well_ first in BlackoilModelParameters
2017-10-17 13:21:02 +02:00
Kai Bao
6b00d912c3
fixing jenkins warning.
2017-10-16 19:08:12 +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
93b7cceaf3
removing WellStateFullyImplicitBlackoilDense as the master
...
it caused some problem in rebasing.
2017-10-12 15:05:45 +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
6366087efd
using UMFPACK for the function invDX
...
for better robustness.
The iterative solvers require more improvement.
2017-10-12 13:43:04 +02:00
Kai Bao
78a28abf91
fixing a bug related to adding ms well during simulation.
...
When there is not ms well involved, all the ms well related is not
initialized. It causes problem when we want to add ms well after some
time of running.
The bug fix the running with model 2.
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
Kai Bao
ccc21e9dcd
removing WellStateMSWell.hpp
...
what was designed to use as WellState for one single Multisegment well.
2017-10-12 13:39:58 +02:00
Kai Bao
8c3f45f58e
fixing a few of bugs.
2017-10-12 13:39:58 +02:00
Kai Bao
4c207eb1f5
implementing computePerfCellPressDiffs
...
to calculate the pressure difference between perforation and perforated
grid cell.
2017-10-12 13:39:58 +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
f4f26395f6
fixing two compilation warning.
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
fc06923c50
changing StandardWellsDense to BlackoilModelEbos
...
for a better naming.
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
dd9ad42a28
correcting the size of seg_comp_initial_ based on num_comp
...
for standards wells, all the three equations are mass balance
equatiions, it is safe to use numWellEq.
for MS wells, there is one extra pressure equation, it should be the
number of mass balance equations. If we do not put the polymer equation
inside the well equations, we will face dilemma soon.
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
0dc041d46a
adding a use_multisegment_well_
...
to determine whether we will treat mutlisegment wells with
MultisegmentWell well model. Currently, it will be faulse by default.
It might be changed to be true by default when considering the
multisegment well model is well tested.
2017-10-12 13:37:05 +02:00
Kai Bao
3255626b2e
scaling the gas rates a little bit for MS well.
...
It can possibly benefit the StandardWell, while it is something needs a
little bit more investigation before using it.
2017-10-12 13:37:05 +02:00