Kai Bao
809a78780e
Merge pull request #1876 from bska/fipnum-supported-kw
...
Remove FIPNUM From List of Unsupported Keywords
2019-06-05 14:07:43 +02:00
Kai Bao
8fd1a8b7da
assert pressure derivative in getSegmentRateUpwinding is zero
2019-05-31 12:51:50 +02:00
Kai Bao
5aacda1880
adding some comments about getSegmentRateUpwinding()
2019-05-31 11:22:35 +02:00
Kai Bao
8796935f7c
Merge pull request #1867 from GitPaean/fixing_resv_prediction
...
not trying to update RESV target for prediction producers
2019-05-31 09:25:15 +02:00
Kai Bao
c5983eeec5
not trying to update RESV target for prediction producers
2019-05-30 11:58:23 +02:00
Kai Bao
236e4d7e33
adding function updateUpwindingSegments() for MSW
...
to update the upwinding segment for each segment based on flow direction
2019-05-28 12:35:59 +02:00
Kai Bao
8ac85b892c
Merge pull request #1859 from joakim-hove/use-exit
...
Return EXIT_FAILURE in main() instead of rethrow
2019-05-24 10:29:59 +02:00
Kai Bao
080e840f2f
using tolerance_wells_ for BHP control tolerance for MSW
2019-05-16 12:20:35 +02:00
Kai Bao
28f0274fb5
fixing bugs spotted in the review comments
2019-05-15 16:28:18 +02:00
Kai Bao
4593453d10
adding function checkConvergenceControlEq to refactor getWellConvergence
...
only functional change is that rate control or BHP control has different
tolerance for MSW now.
2019-05-15 16:28:18 +02:00
Kai Bao
ba106602e1
moving the output of the Report step information earlier
...
a lot of things have happened before the printing out the `Report step`
information. When some error messages get thrown, it is easy to make
people confused to look a the wrong report step.
2019-05-11 14:13:26 +02:00
Kai Bao
8c96aeebbe
updating well control during iterateWellEquations in MSW
2019-05-10 14:56:20 +02:00
Kai Bao
65db00c1f9
removing --use-multisegment-well in compareECLFiles
...
since MSW is activated by default now.
2019-04-30 10:25:36 +02:00
Kai Bao
6c2a806e61
correcting an assertion mistake introduced in PR#1803
2019-04-30 10:25:17 +02:00
Kai Bao
8e5bfa0c67
Merge pull request #1751 from GitPaean/fixing_multisegment_wells_cleaning_up
...
various improvements/corrections to the multisegment well model
2019-04-12 14:28:12 +02:00
Kai Bao
5a34922d11
silencing some compilation warnings.
2019-04-12 12:27:02 +02:00
Kai Bao
88fb158067
upwinding segment for top segment is itself
2019-04-12 11:25:19 +02:00
Kai Bao
1d7089fca8
some minor cleaning up
2019-04-12 10:43:30 +02:00
Kai Bao
af9a500b98
setting UseMultisegmentWell to be false by default
2019-04-12 10:30:50 +02:00
Kai Bao
683c097ecd
adding residual of control equation to getWellResiduals() for MSW
...
then it is consistent that when it is converged, we do not need to enter
this function anymore.
2019-04-12 10:30:03 +02:00
Kai Bao
1faf4de904
not throw for failure when failing in calculating well potentials
...
it is just a temporary approach to recover the prediction case. In the
case, there is no group control, while there is some requirements of
well potential output
2019-04-09 14:28:44 +02:00
Kai Bao
e73fc4ebe4
first version of using upwinding to handle mass balance for MSW
...
some details to come to make it complete.
We are not handling it for injectors and also we are not considering the
upwinding when handle the frictional pressure loss and acceleration
pressure loss.
2019-04-08 14:23:21 +02:00
Kai Bao
2c69556fad
correcting of the sign when calculating perforation pressure
...
the sign of the perforation and cell pressure difference was wrong.
2019-04-08 14:23:05 +02:00
Kai Bao
dadb31f093
fixing some mistakes from rebasing
2019-04-07 14:55:08 +02:00
Kai Bao
e5090a26fb
setting the simulation parameters
2019-04-07 14:55:08 +02:00
Kai Bao
49a8c7bfd1
changing the sign of the mass balance equations for ms wells
...
following the conventions with StandardWell
2019-04-07 14:55:08 +02:00
Kai Bao
23d2097d44
various improvements to the inner iteration of ms wells
2019-04-07 14:54:05 +02:00
Kai Bao
031c19fc78
fixing mistakes due to rebasing.
2019-04-07 14:54:05 +02:00
Kai Bao
e9c0bdba06
using B_avg for the inner iteration for multisegment wells
2019-04-07 14:54:05 +02:00
Kai Bao
1df65913d7
updating the primary variables before calculating accumulation term
2019-04-07 14:54:05 +02:00
Kai Bao
79e51ab724
handling the situation that not all the connections are open
...
Then Wells struct and well from parser hold different numbers of
connections.
The current approach is a temporary solution. The final approach should
be done through parser side.
Things can be difficult is because that connections can be removed due
to multiple different causes after parsing. How to keep information
always updated is not trivial.
2019-04-07 14:53:38 +02:00
Kai Bao
c78a59eb1f
considering the pressure dependence of the segment volume
...
segment volume is fixed, while duo to composition and pressure change,
within the fixed segment volume, different amounts of fluids can be
contained.
2019-04-07 14:53:38 +02:00
Kai Bao
972fed602e
using a small value drawdown for connection
...
when crossflow is banned from the well, while the crossflow is happening
for this connection for mutlisegment well.
2019-04-07 14:53:38 +02:00
Kai Bao
04c35c8916
UseMultisegmentWell is defaulted to be true
...
to make the testing of the multisegment well model easier.
2019-04-07 14:52:18 +02:00
Kai Bao
f8767e09ec
cleaning up and fixing the compilation error from rebasing
2019-04-07 14:52:18 +02:00
Kai Bao
9d83affb1b
first version of restarting for multisegment well
2019-04-07 14:52:18 +02:00
Kai Bao
0d99686e97
fixing the segment treatment in the init of WellStateFullyImplicitBlackoil
2019-04-07 14:52:18 +02:00
Kai Bao
e2b8edd968
updating perforation pressure and rates for MSW well
2019-04-05 10:38:01 +02:00
Kai Bao
b62dc0b5f2
addressing review comments
2019-04-04 16:22:19 +02:00
Kai Bao
ca69e2334a
recovering well restart data for multisegment well
...
When multisegment wells are involved for RESTART, based on the recovered
segment-related quantities as Opm::data::Segment objects, the segment
phase rates and segment pressure are recovered as part of the
WellStateFullyImplicitBlackoil.
2019-04-04 16:22:19 +02:00
Kai Bao
a7362abb04
Merge pull request #1758 from akva2/janitoring
...
convert to unix eol
2019-03-14 14:41:18 +01:00
Kai Bao
3c88cb2f9d
correcting the sign of the accumulation term of StandardWell
...
Following the sign of the production rates.
And also keep the primary variables updated when calculating the
explicit quantities.
2019-03-06 09:48:30 +01:00
Kai Bao
a83db39cce
warning instead of throwing for nnc between active cells and inactive cells
2019-03-04 12:49:17 +01:00
Kai Bao
83fc76e6a3
Merge pull request #1736 from andlaus/fix_aquifers
...
aquifers: add missing serialize() and deserialize() methods
2019-02-25 20:51:27 +01:00
Kai Bao
2d933f2303
Merge pull request #1695 from WesselDeZeeuw/BaseClassAquifer
...
Base class aquifer
2019-02-18 10:44:51 +01:00
Kai Bao
56e829329f
each phase needs to be above certain value to be treated to be present
...
it helps to recover some RESTART running based on single precision
format.
2019-01-22 13:53:08 +01:00
Kai Bao
1a5d38ec9c
Merge pull request #1711 from akva2/fix_update_fetkovich
...
fixed: spurious white space
2019-01-17 12:34:42 +01:00
Kai Bao
9e483bed45
updating more quantities when restart
...
lastRs_, lastRv_, maxDRs_, maxDRv_
to get better restart.
2019-01-12 17:20:44 +01:00
Kai Bao
affb767017
Merge pull request #1642 from WesselDeZeeuw/AquiferFetkovich
...
Aquifer fetkovich
2019-01-10 13:06:08 +01:00
Kai Bao
12cf3b6d58
adding the unit_test for PR#1693
2019-01-10 11:29:28 +01:00
Kai Bao
a9f40df678
not adding wells without perforations to WellsManager
2019-01-08 14:08:14 +01:00
Kai Bao
47b933a58e
removing DynamicListEconLimited
...
it is not used anymore. A lot of related implementation has been moved
to WellTestState.
Its existence makes some logic rather confusing and some new development
not easy.
2019-01-08 11:28:11 +01:00
Kai Bao
60e5a95972
only using Wells for determination of the RESV well
...
One of them is redundant, we do not need both of them.
2019-01-07 12:14:33 +01:00
Kai Bao
98450b5aa8
fixing the way in handling the RESV rates for WCONHIST
2019-01-04 15:10:18 +01:00
Kai Bao
bfc915849a
BHP limit is taken care of from parser side
...
WellsManager does not need to provide default bhp limit anymore.
2019-01-03 09:48:02 +01:00
Kai Bao
ecdb299671
handling the RESV well distr calculation correctly
...
more work has been done in the parser side, and the simulator side is
also updated accoridingly.
2019-01-03 09:48:02 +01:00
Kai Bao
9a6f390f38
Merge pull request #1691 from atgeirr/fix-missing-grat
...
Fix missing GRAT in switch.
2019-01-02 21:22:41 +01:00
Kai Bao
b3f29de675
using compressed cell index for cellToConnectionIdx_ in AquiferCarterTracy
2019-01-02 14:59:12 +01:00
Kai Bao
dcf036e757
removing some white spaces.
2019-01-02 13:39:00 +01:00
Kai Bao
f5648b13a1
adding --use-multisegment-well=true to msw-model-1 test
2018-12-19 16:36:56 +01:00
Kai Bao
3a55e4aac2
fixing grid_index for AquiferCarterTracy
...
adding the mapping from cartisian indices to the actual grid indices.
2018-12-14 15:36:49 +01:00
Kai Bao
0c42a179d5
makig StandardWellV can handle producer
...
now StandardWellV should be able to be used as the general Standard
Well.
2018-12-14 10:24:08 +01:00
Kai Bao
76edcc0d91
addressing the second part of comments form PR#1680
2018-12-13 21:31:36 +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
1ddcfcb679
adding test for polymer_injectivity
2018-12-12 16:24:24 +01:00
Kai Bao
5535406b67
cleaning StandardWell and StandardWellV
...
to make them more comparable, so that we can do refactoring easier
later.
2018-12-12 15:58:15 +01:00
Kai Bao
c9d9023039
addressing reviewing comments from PR #444
2018-12-12 14:50:22 +01:00
Kai Bao
932e4d1bf1
cleaning up of the code
...
there should be no functionality change
2018-12-11 21:55:20 +01:00
Kai Bao
31c18bd70e
adding the functionality to track the polymer molecular weight
...
it is used to evaluate the water-polymer mixture viscosities
2018-12-11 21:55:20 +01:00
Kai Bao
167306169b
including the injectivity program to flow
2018-12-11 21:41:44 +01:00
Kai Bao
525caad508
finishing the function addWellContributions for StandardWellV
2018-12-11 21:40:47 +01:00
Kai Bao
612ac74b89
finish the injecivity functionality
...
the result looks okay
2018-12-11 21:40:47 +01:00
Kai Bao
391d31e1d6
adding the polymer molecular related to the well model
2018-12-11 21:40:47 +01:00
Kai Bao
7923628f83
adding the few injectivity related functions to StandardWellV
2018-12-11 21:40:47 +01:00
Kai Bao
a08216efd5
creating StandardWellV as the new well model
...
to employ dynamic-size Evalution, vectors and matrices.
2018-12-11 21:40:47 +01:00
Kai Bao
b079c0a1e5
adding flow_injecitivity executable target
2018-12-11 21:40:47 +01:00
Kai Bao
e1ede3c9d5
adding polymer molecular weight to BlackoilPhases and phaseUsageFromDeck
2018-12-11 21:31:47 +01:00
Kai Bao
93fb5a2c52
add a few fields related to injectivity to WellStateFullyImplicitBlackoil
...
to account for the water throughput, skin pressure and water velocity
for each perforation.
2018-12-11 21:31:47 +01:00
Kai Bao
575907941d
removing some repeated code in phaseUsageFromDeck
2018-11-27 14:55:26 +01:00
Kai Bao
76271e3960
not shut a well because of cannot-produce-inject reason
...
which is a numerical reason. Removing it for now for better result.
It minght come back with more complete strategy and understanding.
2018-11-25 20:31:56 +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
680c45b8f8
not updateWellControl for non-operable wells
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
f9988057af
fixing comments from review of PR#1648
...
there should be no functional change
2018-11-20 13:56:14 +01:00
Kai Bao
8330c3a6a7
adjusting OperabilityStatus of WellInterface
...
hopefully, it improves the readability
2018-11-20 13:56:14 +01:00
Kai Bao
bf9b5367d9
some cleaning up, no functional changes
2018-11-20 13:56:14 +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
bba373c0b5
THP control tolerance changed to 1.e4
...
to fix some convergence problem.
2018-11-20 13:55:34 +01:00
Kai Bao
c994a99583
WCON keyword can open a well closed due to physical reason
...
more tests will be required to figure out more accurate specific way to
open a well closed due to physcal reason with WCON input.
2018-11-20 13:55:34 +01:00
Kai Bao
30742112c6
switching to BHP limit when THP limit is not operable
...
a well is specified with THP target, while it can not work under its THP
target. For this case, we will switch to its BHP limit.
2018-11-20 13:55:34 +01:00
Kai Bao
8e17d4aeba
shut/close well based on physical limits
2018-11-20 13:55:34 +01:00
Kai Bao
ea42d1de9d
adding function isOperable() to WellInterface
...
to indicate if the well is operable.
2018-11-20 13:55:34 +01:00
Kai Bao
ae3b514e0b
not switching to THP/BHP limit when not operable under them
2018-11-20 13:54:45 +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
Kai Bao
dbe047a8a5
adding function operabilityCheckingUnderTHP to VFPProdProperties
...
To test the operability under THP limit.
2018-11-20 13:54:21 +01:00
Kai Bao
b27dc3ec2e
stopping use function crossflowAllowed()
...
it turns on the crossflow when all the drawdown in the wrong direction,
then the well get rates in the wrong direction.
flow is not ready to handle this type of situation, then the only result
will be chopped time step.
2018-11-20 13:54:21 +01:00
Kai Bao
2e43b440e0
adding OperabilityStatus to WellInterface
...
to check the operability status of a well.
2018-11-20 13:54:21 +01:00
Kai Bao
7ded0907fe
using control in DECK to initialize the control in WellState
...
otherwise, it might not be initialized if the well does not exisit in
previous well state, which will result in undefined behavoir.
it causes failure in running some realizations.
2018-11-16 13:47:43 +01:00
Kai Bao
0e1ef4993b
Merge pull request #1641 from akva2/fix_sign_unsigned
...
fixed: signed/unsigned warnings
2018-11-16 09:35:31 +01:00