Kai Bao
b8e0cda83a
putting update of water injection mobility to a separate function
...
computeInjectionMobility() in BlackoilPolymerModel
2016-12-16 08:56:35 +01:00
Kai Bao
4f3ce37b8e
correcting one not helpful comments.
...
which results from the re-organization of the code.
2016-12-16 08:56:35 +01:00
Kai Bao
894bffd1b3
handling the injection mobility when mixing paramter not 1
...
The treatment with shear-thinning is not well tested yet.
2016-12-16 08:56:35 +01:00
Kai Bao
4f8ae4be73
putting the re-calculating wellflux inside if plyshlog
...
it only happens when shear effect calculation is needed. No point to
re-calculate the well flux when no shear thinning needed.
2016-12-16 08:56:35 +01:00
Kai Bao
9307a41fd5
using the polymer concentration in the polymer transport
...
since we already introduce the polymer viscosity there, we should apply
the water and polymer viscosity ratio again.
2016-12-16 08:56:35 +01:00
Kai Bao
8148105ae3
Revert "changing polymer production concentration to be the grid block concnetration."
2016-12-05 15:05:56 +01:00
Kai Bao
81a73650de
polymer production concentration to be the grid block concnetration.
...
To be more consistent with the injection well.
2016-12-05 12:52:21 +01:00
Kai Bao
69d5ec94c9
adding localWellsActive() checking for two MSW functions
...
updatePerfPhaseRatesAndPressures() and addWellFluxEq()
2016-11-25 13:45:38 +01:00
Kai Bao
e57da11fbd
making the updateWellControls an iterative process for StandardWells
...
Seperating the updateWellStateWithTarget from updateWellControls, will
update the controls when any of the control constraints gets broken.
The reason is that the updated well control can still break some of
other the contstaints. We need to choose one control to make sure all the
constraints are honored.
2016-11-24 11:27:59 +01:00
Kai Bao
0ab04b04cd
checking whethter group control is active
...
When applying group control related functions.
2016-11-17 16:01:59 +01:00
Kai Bao
d38a6eb459
adapting the change of the function findWellNode().
2016-11-16 14:28:35 +01:00
Kai Bao
d06acaa4b5
adapting to the change in opm-core
2016-11-16 14:06:20 +01:00
Kai Bao
f85da3768e
cleaning up and updating MultisegmentWells
2016-11-16 13:27:30 +01:00
Kai Bao
6bbc726bc2
checking and outputing the residuals for the well equations.
...
Before, the tolerance for the norm of the residual of the well control
equations was 1bar, which makes no sense for rate control.
For some rate controls, we are not able to update the well state with
the target rates, we have to enforce the convergence throught the
residual checking.
2016-11-16 13:26:54 +01:00
Kai Bao
002439c5b1
WIP in testing new group update strtegy.
...
results with min_iter=2 works okay, while not min_iter=1.
It means the iteration stop at the wrong situation.
2016-11-16 13:26:28 +01:00
Kai Bao
753da2dd36
putting the VREP control update after updateWellControls
...
which makes it almost should be put inside updateWellControls function.
it does not change the result.
2016-11-16 13:25:35 +01:00
Kai Bao
a5aaf9b802
easier way to update whether the well under group control
...
potentially can be more consistent way.
It does not change the result.
2016-11-16 13:25:35 +01:00
Kai Bao
8a1e1e010a
using findWellNode() to avoid dynamic_casting
...
form WellGroupInterface* to WellNode*.
2016-11-16 13:25:35 +01:00
Kai Bao
337693cc65
removing the wrongly wrapped std::vector
...
adding more comments for future reference.
2016-11-16 13:25:35 +01:00
Kai Bao
9150c217f2
making the VREP enforcement into a small method.
...
in BlackoilModelBase.
2016-11-16 13:25:35 +01:00
Kai Bao
9a95697fde
updating some comments.
2016-11-16 13:25:35 +01:00
Kai Bao
75e0ff0018
Trying always to give a valid control when initing WellState.
...
Without the fix, when we specify GRUP control for WCONINJE, the control
mode will be initialized to be -1.
2016-11-16 13:25:35 +01:00
Kai Bao
8474ff2895
fixing all the simulators that call solveWellEq.
...
Not all the group control functionalities working for allt the
simulators. Some need to be fixed later.
2016-11-16 13:25:35 +01:00
Kai Bao
0f3e34bb25
cleaning up some comments.
2016-11-16 13:25:35 +01:00
Kai Bao
cb897b07d0
Adding VREP injection support.
...
As part of it, adding a function to calculate reservoir voidage rate.
2016-11-16 13:25:35 +01:00
Kai Bao
a15513e546
adding a rate converter to the BlackoilModelBase
2016-11-16 13:25:35 +01:00
Kai Bao
e65d24aa16
removing outdated log ouptut code about control switching
...
Which results from the rebasing process.
2016-11-16 13:25:35 +01:00
Kai Bao
e13cf827b5
applying the efficiency factors to the multi-segment wells.
2016-11-16 13:25:35 +01:00
Kai Bao
623ef3850e
applying the efficiency factor to flow
2016-11-16 13:25:35 +01:00
Kai Bao
aca587b76b
calculate efficiency factor in StandardWells
...
which will be used to scale the perforation flow rate when entering the
matrial balance equations.
2016-11-16 13:25:35 +01:00
Kai Bao
ac67a10316
removing one updateWellControls from solveWellEq
...
not recalling why adding it in the first place.
And correcting some comments for clarification.
2016-11-16 13:25:35 +01:00
Kai Bao
e049508eec
adding the group control related part to MultisegmentWells
...
while looks like the well potentials part may not work with multisegment
wells.
Will check later.
2016-11-16 13:25:35 +01:00
Kai Bao
0df52603d7
fixing the interface of wellModel constructors
...
to make all the simulators compile.
2016-11-16 13:25:35 +01:00
Kai Bao
26b16c1050
cleaning up the output and adding more comments.
2016-11-16 13:25:11 +01:00
Kai Bao
d992161b82
output cleaning up and add more comment.
2016-11-16 13:24:39 +01:00
Kai Bao
e323f15d2f
putting more things in the prototyping test.
2016-11-16 13:23:55 +01:00
Kai Bao
e0dd9bfabd
keeping putting group control in.
2016-11-16 13:22:52 +01:00
Kai Bao
f62d40fc05
adding a pointer to the well_collection of WellsManger
...
might change to reference later. Using pointer now is trying to keep the
WellModel constant.
2016-11-16 13:22:52 +01:00
Kai Bao
1c34af4dea
a few warning fixing.
2016-11-16 13:17:35 +01:00
Kai Bao
ce8498c4d7
checking the residual for the well control equations.
2016-11-11 13:26:22 +01:00
Kai Bao
2f5045bb85
removing some white spaces in MissingFeatures
2016-07-13 09:16:18 +02:00
Kai Bao
ab31ab470b
removing two supported keywords from MissingFeatures.
2016-07-12 16:59:45 +02:00
Kai Bao
399298be21
using mapentry_t instead of iterator.
2016-07-05 15:28:02 +02:00
Kai Bao
a8c2626e5a
fixing comments.
...
no functional change.
2016-07-05 13:02:28 +02:00
Kai Bao
4dad47f90d
adding warning tags to all the WECON related warnings.
2016-07-05 13:02:28 +02:00
Kai Bao
aed2760b31
updating the path for the multi-segment wells test.
...
due to the renaming of the folder name in opm-data.
2016-07-05 13:02:28 +02:00
Kai Bao
ddec62288a
fixing the warning messages.
2016-07-05 13:02:28 +02:00
Kai Bao
6a70450422
wrtiting state to report at the end of each time step
...
insead of writing in the begining of each time step.
2016-07-05 13:02:28 +02:00
Kai Bao
8e52e71993
changing shutted to shut.
2016-07-05 13:02:28 +02:00
Kai Bao
b2524a7dc3
making a forwarded updateListEconLimited in SimulatorBase.
...
and some changes to make the code compile for all the simulators.
2016-07-05 13:02:28 +02:00
Kai Bao
98a6495abc
makeing wellModel public for flow_polymer and flow_solvent.
2016-07-05 13:02:27 +02:00
Kai Bao
cc957a77fe
some well will go to stopped list and infomation output.
2016-07-05 13:02:27 +02:00
Kai Bao
e817719d48
When last connection is closed, the well is shut done.
2016-07-05 13:02:27 +02:00
Kai Bao
109b55f61c
using OpmLog to give warning.
2016-07-05 13:02:27 +02:00
Kai Bao
41b9fca434
implementing checkRatioEconLimits
2016-07-05 13:02:27 +02:00
Kai Bao
9220a2bbaf
refactoring updateListEconLimited based on new functions.
2016-07-05 13:02:27 +02:00
Kai Bao
dd59762c0b
adding checkMaxWaterCutLimit to StandardWells.
2016-07-05 13:02:27 +02:00
Kai Bao
c77aa5af09
adding checkRateEconLimited to StandardWells
...
to check rate related to economic limits.
2016-07-05 13:02:27 +02:00
Kai Bao
d48399ac3a
WIP for handling the water cut ecnomic limit
2016-07-05 13:02:27 +02:00
Kai Bao
a019460268
warning if requesting opening a new well after closing a well
...
it is not supported yet.
2016-07-05 13:02:27 +02:00
Kai Bao
e903690107
giving a warning if the WECON request ending running
...
It is not supported yet to stop the whole program after a well is closed
due to economic limits.
2016-07-05 13:02:27 +02:00
Kai Bao
53490270e1
adding updateListEconLimited to StandardWells
2016-07-05 13:02:27 +02:00
Kai Bao
18fa442721
adapted to the interface change of WellsManager
...
At the moment, for the ParallelDebugOutput, we put a dummy
dyanmic_list_econ_limited, not sure how it will the parallel running.
The basic problem is that when initialzing the globalWellState_, what
will happen if they can not find state information for a well in the Wells*.
If some defaulted values are used, then no big problem here.
2016-07-05 13:02:27 +02:00
Kai Bao
a1cc880ad7
only calculating repesentative radius when having PLYSHLOG.
2016-06-28 15:50:50 +08:00
Kai Bao
9dbb908b04
adding a test for flow_multisegment
...
it is a 2D case with H__ pressure drop specification, and it takes about
2 second to run.
2016-06-28 15:50:50 +08:00
Kai Bao
d2c822e37a
only calculating repesentative radius when having PLYSHLOG.
2016-06-24 10:00:06 +02:00
Kai Bao
d27524c3a7
adding a test for flow_multisegment
...
it is a 2D case with H__ pressure drop specification, and it takes about
2 second to run.
2016-06-21 14:43:11 +02:00
Kai Bao
0ebd25f66a
fixing the compilation error due to rebasing.
2016-05-23 15:42:05 +02:00
Kai Bao
d2d9bd8a80
moving depth difference calcualtion to init() for MultisegmentWells
...
instead of recalculating them for each iterations.
2016-05-23 15:11:52 +02:00
Kai Bao
c2bdaa1b92
fixing the calculation of volumeRatio.
...
due to the wrong use of parenthesis.
2016-05-23 15:11:52 +02:00
Kai Bao
879f127ae8
moving variableStateExtractWellsVars() from models to Well Models.
2016-05-23 15:11:52 +02:00
Kai Bao
fbe7143f54
using WellModel functions in BlackoilPolymerModel.
...
reducing some repeated code.
2016-05-23 15:11:52 +02:00
Kai Bao
846ff890de
refactoring the interface of computeWellPotentials()
...
to reduce the cost of makeConstantState when not calculating the
potentials.
2016-05-23 15:11:52 +02:00
Kai Bao
19a256dce0
some pure cleaning up.
2016-05-23 15:11:52 +02:00
Kai Bao
f2b7f2a56c
moving numWellVars from models to Wells.
2016-05-23 15:11:52 +02:00
Kai Bao
b3d1c0eabc
initializing the pointers to be nullptr in the Wells classes
2016-05-23 15:11:52 +02:00
Kai Bao
4527034f29
removing variableStateInitials() from BlackoilMultiSegmentModel
...
which is not helpful anymore.
2016-05-23 15:11:52 +02:00
Kai Bao
a102e934ac
removing baseSolveWellEq from BlackoilMultiSegmentModel
...
to solve the different interfaces of computeWellConnectionPressures for
StandardWells and MultisegmentWells, a function
computeWellConnectionPressures was introduced for the models.
2016-05-23 15:11:52 +02:00
Kai Bao
01328559e2
removing the updateWellState from the models.
2016-05-23 15:11:52 +02:00
Kai Bao
4e8099057e
small cleaning up for BlackoilMultiSegmentModel_impl
2016-05-23 15:11:51 +02:00
Kai Bao
fcd541a1c1
removing the rebundant ms_wells_ in BlackoilMultiSegmentModel
2016-05-23 15:11:51 +02:00
Kai Bao
184bff95ba
using well_model_ to represent the WellModel member
2016-05-23 15:11:51 +02:00
Kai Bao
06775ee02c
Make BlackoilMultisegmentModel constructured from MultisegmentWells
...
Instead of being coustructed based StandardWells and having a
MultisegmentWells member.
2016-05-23 15:11:51 +02:00
Kai Bao
4254b48b57
unifying interface of a few functions of Wells classes
...
updateWellControls()
updateWellState()
addWellControlEq()
The change of function computeWellConnectionPressures() is not done
completely. Should find a solution later.
2016-05-23 15:11:51 +02:00
Kai Bao
be165a26e0
adding a few more members to the Wells classes.
...
gravity, vfp_properties_ and depth_.
to further simplify the interfaces.
2016-05-23 15:11:51 +02:00
Kai Bao
50385013fe
adding variableWellStateInitials to MultisegmentWells
2016-05-23 15:11:51 +02:00
Kai Bao
7886e4b9d2
adding computeWellConnectionPressures to MultisegmentWells
2016-05-23 15:11:51 +02:00
Kai Bao
b4f4878901
fixing the errors from rebasing.
2016-05-23 15:11:51 +02:00
Kai Bao
60fb868727
adding updatePerfPhaseRatesAndPressures to MultisegmentWells
2016-05-23 15:11:51 +02:00
Kai Bao
508de4dc37
adding extractWellPerfProperties to MultisegmentWells
...
removing extractWellPerfProperties in all the model classes.
2016-05-23 15:11:51 +02:00
Kai Bao
718ba5470b
adding const Wells* wells_ for MultisegmentWells
...
for interface refactoring.
At the moment, both wells_ and wells_multisegment_ contain all the
wells.
2016-05-23 15:11:51 +02:00
Kai Bao
4180fea951
refactoring the construcor of MultisegmentWells
...
MultisegmentWells is initialized with Wells structure.
2016-05-23 15:11:51 +02:00
Kai Bao
7d0d50eb53
changing reservoir related members to pointers for MultisegmentWells
2016-05-23 15:11:51 +02:00
Kai Bao
66cd66e61b
change reservoir related members to be pointers in StandardWells
...
to fullfil the requirement of interface design.
2016-05-23 15:11:51 +02:00
Kai Bao
89a8f133fd
adding variableWellStateIndices to MultisegmentWells
...
to remove the using of stdWells() in BlackoilMultiSegmentModel
The code is copied from StandardWells, better solution need to be
exploited.
2016-05-23 15:11:50 +02:00
Kai Bao
a8742a9348
introduce perforation densities and pressdiffs to MultisegmentWells
...
to reduce dependence on StandardWells.
2016-05-23 15:11:50 +02:00
Kai Bao
25fbd20acf
adding a few member variables for MultisegmentWells
...
and reduce the number of parameters of the related functions by using
the new introduced member variables.
2016-05-23 15:11:50 +02:00
Kai Bao
bd03eff5a5
making two functions in StandardWells protected.
...
computePropertiesForWellConnectionPressures
computeWellConnectionDensitesPressures
2016-05-23 15:11:50 +02:00
Kai Bao
1f2442fe80
reducing paramter list for more functions in StandardWells
...
computeWellFlux
updateWellState
updateWellControls
addWellControlEq
computeWellPotentials
2016-05-23 15:11:50 +02:00
Kai Bao
a35c3e7468
removing parameters for extractWellPerfProperties
2016-05-23 15:11:50 +02:00