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
Kai Bao
f7e1623b7a
only clearing matrix B and C when only_wells false.
...
to save a little calculation.
2017-10-12 13:37:05 +02:00
Kai Bao
c6be20c5cb
copying the segment rates and segment pressure from old well state.
...
It can be something rather tricky. It looks like with simple trival
initization, it is difficutl to converge. But when there is change to
the well, direct copying will not work anymore. Will we also facing
convergence problem?
2017-10-12 13:37:05 +02:00
Kai Bao
5dee45dc0a
various small improvements.
2017-10-12 13:37:05 +02:00
Kai Bao
a03a67c85e
not checking getWellConvergence more than one times
...
which is a bug. Not it is moved out of the for loop.
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
b6d324c95e
implement recoverWellSolutionAndUpdateWellState
...
for MultisegmentWell_impl.
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
c3b4188295
making message about catching FMatrixError more specific
...
in BlackoilModelEbos.
2017-10-12 13:37:05 +02:00
Kai Bao
23b0deb928
a few bug fixing for MultisegmentWell
2017-10-12 13:37:05 +02:00
Kai Bao
fe1f854138
adding getWellConvergence() to MultisegmentWell_impl
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
ae91296339
generating the pattern of the matrix of MultisegmentWell
...
need to be verified.
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
Kai Bao
1ffa87561b
adding computePerfRate() in MultisegmentWell
...
not tested yet.
2017-10-12 13:37:05 +02:00
Kai Bao
5d79a7f11b
adding computeSegmentFluidProperties for MultisegmentWell
...
only considering the fluid densities for now.
more fluid densities needs to be considered.
2017-10-12 13:37:05 +02:00