Commit Graph
100 Commits
Author SHA1 Message Date
Kai Bao eea833ced2 correcting the way of calculate initial aquifer pressure
for AquiferFetkovich.
2019-11-17 10:37:10 +01:00
Kai Bao 383748b161 some cleaning up for the AquiferFetkovich 2019-11-17 10:37:10 +01:00
Kai Bao 21d69a7af0 making dp is Eval for AquiferFetkovich 2019-11-17 10:37:10 +01:00
Kai Bao b36ac45fea removing several keywords from MissingFeatures.cpp
COMPSEGS, AQUFET and PLYROCK
2019-11-16 22:44:24 +01:00
Kai Bao f95718a3c5 Merge pull request #2131 from blattms/fix-wellmodel-numcomponents
Fix BlackoilWellModel::numComponents for parallel runs.
2019-11-01 16:28:48 +01:00
Kai Bao dd9a205afc Merge pull request #2094 from GitPaean/dune-fem-version-needed
the version information of opm-fem is needed.
2019-10-22 21:19:09 +02:00
Kai Bao d6181a4a06 Merge pull request #2092 from totto82/wellOp
Add well operability param
2019-10-22 13:43:35 +02:00
Kai Bao 0605b2fe6f the version information of opm-fem is needed. 2019-10-22 13:00:33 +02:00
Kai Bao 501122ca0d Merge pull request #2076 from GitPaean/converting_aquifier_unix
converting the aquifer files to be unix format
2019-10-19 21:40:03 +02:00
Kai Bao c4a9bd346c converting the aquifer files to be unix format
to avoid ^M in git diff and when editing.
2019-10-19 20:53:35 +02:00
Kai Bao deeecf8c04 Merge pull request #1975 from GitPaean/throw_addwell_contribution_msw
throw when calling addWellContributions() for MSW
2019-08-15 12:43:08 +02:00
Kai Bao f40c1cc12f throw when calling addWellContributions() for MSW 2019-08-15 11:29:30 +02:00
Kai Bao fec9d1feee recovering the interface of function createWellContainer
in BlackoilWellModel, which makes its usage easier.
2019-08-09 10:02:28 +02:00
Kai Bao 4d8afb8539 using self-copying when calculating well potentials
in order to re-use the existing well model in stead of re-creating new
ones. The latter way really complicates the function createWellContainer
in BlackWellModel.
2019-08-09 10:02:28 +02:00
Kai Bao a772d1ef03 not extrapolating towards negative in VFP tables 2019-07-31 09:16:44 +02:00
Kai Bao ef4b5928fb Merge pull request #1940 from akva2/janitoring
Some janitoring
2019-07-10 11:16:35 +02:00
Kai Bao 450f87551e adding GOR checking for WECON 2019-07-05 14:57:16 +02:00
Kai Bao 4be0a7aaa3 Merge pull request #1934 from GitPaean/wellopen_wtest
WELOPEN and WCON* interacting with WTEST and WECON
2019-07-05 11:43:07 +02:00
Kai Bao 30e5a20f86 WELOPEN and WCON* interacting with WTEST and WECON
WELOPEN and WCON* can open well closed due to various reasons, physical
            or economic.

If a well is shut with WELOPEN and WCON*, we do not try to re-open it
through WTEST
2019-07-05 08:50:58 +02:00
Kai Bao cbbd75164e refactoring the ration economic limit checking 2019-07-02 12:44:56 +02:00
Kai Bao 327cf30c31 improving the WTEST results by initializing the explicit quantities 2019-07-01 12:39:09 +02:00
Kai Bao dfe22cb1a4 Merge pull request #1901 from totto82/fixMSWThrow
Make sure rvmax and rsmax is non-negtive in the getSurfaceVolume for MSW
2019-06-27 15:41:45 +02:00
Kai Bao c2d472cd96 considering FOAM in the switch 2019-06-26 13:21:03 +02:00
Kai Bao 24fe1c8fba more fixing for the tests 2019-06-26 13:19:11 +02:00
Kai Bao 9a2fcdbfd5 fixing warnings in other folder under opm-simulators 2019-06-26 10:48:41 +02:00
Kai Bao 53b15527c2 fixing warnings under simulator/wells 2019-06-26 09:52:38 +02:00
Kai Bao 1d5d883e99 adapting to the upstream change 2019-06-25 22:13:34 +02:00
Kai Bao f6ea98a0cb Merge pull request #1914 from atgeirr/fixup-unknown-params
Fix typo, indentation and return in unknown-parameter situation.
2019-06-25 13:25:11 +02:00
Kai Bao e15a8f62e8 considering not OPEN connection when updateCompletions
in WellInterface.
2019-06-24 21:20:37 +02:00
Kai Bao e0bd33db43 using template instead of pointer to function
for functions checkMaxRatioLimitWell and checkMaxRatioLimitCompletions
2019-06-24 14:03:20 +02:00
Kai Bao b27a646b98 adding function checkMaxRatioLimitCompletions in WellInterface
and use it in checkMaxWaterCutLimit()
2019-06-21 14:11:12 +02:00
Kai Bao 7bb06e1c3c adding function checkMaxRatioLimitWell to WellInterface
and use it in function checkMaxWaterCutLimit
2019-06-21 14:11:12 +02:00
Kai Bao 01c9935b02 fixing the function checkMaxWaterCutLimit
when looking for the worst offending completion
2019-06-21 14:11:12 +02:00
Kai Bao 8be28e8448 adding function initCompletions() to WellInterface 2019-06-21 14:11:12 +02:00
Kai Bao 1593d431ce Merge pull request #1897 from alfbr/well-logging
Moved well test messages from debug to log and prt
2019-06-20 10:47:04 +02:00
Kai Bao f4efd464f4 Merge pull request #1883 from totto82/fix_inj
Upwinding for MSW
2019-06-19 12:50:16 +02:00
Kai Bao ab839896b6 using createConstantZero instead of createBlank
the content for createBlank is not initialized, which causes undefined
behavoir.
2019-06-13 15:05:12 +02:00
Kai Bao 4c105d7672 copying invertMatrix for DynamicMatrix
the reason is to make sure for blackoil cases, the same algorithm will
be used to invert the D matrix for the well model. As a result, it will
reduce the burden to test the PR.

Whether we will keep this algorithm for 4 X 4 matrix will be addressed
as a separate issue.
2019-06-13 14:49:04 +02:00
Kai Bao 310741a54f fixing a small bug related to EvalWell 2019-06-13 14:49:04 +02:00
Kai Bao 4449f0c172 adding updateConnectionRatePolyMW to StandardWell 2019-06-13 14:49:04 +02:00
Kai Bao 2256395957 adding updateExtraPrimaryVariables to StandardWell 2019-06-13 14:49:04 +02:00
Kai Bao 94057a53f9 adding checkConvergenceExtraEqs to StandardWell 2019-06-13 14:49:04 +02:00
Kai Bao 4f7b899290 fixing the compilation problem due to rebasing
and also some small cleaning up
2019-06-13 14:49:04 +02:00
Kai Bao 3dcec6a436 removing StandardWellV 2019-06-13 14:49:04 +02:00
Kai Bao 33de77e595 incorporate the staticSize template parameter for DynamicEvaluation 2019-06-13 14:49:04 +02:00
Kai Bao ad0e294e52 using StandardWellV as the default StandardWell model 2019-06-13 14:49:04 +02:00
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