Tor Harald Sandve
c076ed6485
Move Rateconverter and pvtIdx to the wellInterface
2017-11-23 08:37:30 +01:00
Tor Harald Sandve
054361d537
Make it possible to combine solvent and RESV
...
Compute the conversion factor for solvent using the RateConverter.hpp
2017-11-22 15:21:21 +01:00
Tor Harald Sandve
b9bc4b00cb
Make the wellModel self-contained
...
The wellModel is now persistent over the time steps,
with an update method called every reportStep/episode.
This allows the following simplifications:
1. move the wellState to the WellModel
2. add a ref to the ebosSimulator to the wellModel
3. clean up the parameters passed to the wellModel methods
4. move RESV handling to the WellModel and the rateConverter
5. move the econLimit update to the WellModel
2017-11-08 13:57:36 +01:00
Markus Blatt
602f3962f3
Use MatrixBlock instead of FieldMatrix for DUNE 2.5.0
...
3x3 matrix block inversion in FieldMatrix is numerically unstable
including version 2.5.0. Therefore the previous if clause was wrong
as it activated the use of FieldMatrix already for 2.5.0 (the version
in Debian stable). With this commit we use MatrixBlock for version 2.5.0.
2017-10-25 16:32:48 +02:00
Kai Bao
ba8eb708d1
fixing reviewing comments from PR 1279.
2017-10-16 17:01:15 +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
7b873d97c9
small improvements in StandardWell
...
there is not functional change.
2017-10-12 13:37:05 +02:00
Kai Bao
3e2a34239c
removing two functions from WellInterface
...
computeWellConnectionPressures() and computeAccumWell().
They belongs to the implementation details of well models now.
2017-10-12 13:37:05 +02:00
Kai Bao
8922f3e041
adding a function calculateExplictQuantities to WellInterface
...
to hide some implementation details.
2017-10-12 13:37:05 +02:00
Kai Bao
47c7c54548
making the updateWellControl to WellInterface
...
instead of having two of them in StandardWell and MultisegmentWell
2017-10-12 13:37:05 +02:00
Kai Bao
8c0af08056
adding comments for MultisegmentWell
2017-10-12 13:36:27 +02:00
Tor Harald Sandve
5839962e31
Some trivial cleaning
2017-09-21 12:16:46 +02:00
Tor Harald Sandve
352dccd5e9
Make 2p gas oil compile and runs
...
-- use mapping from canonicalToActiveCompIdx from Ebos
-- add guards againts non-existing components
2017-09-18 11:28:13 +02:00
Kai Bao
9accb56c86
adding a test for well model.
...
It is just test for StandardWell.
2017-08-25 14:09:26 +02:00
Kai Bao
355be6c26c
collecting the NaN and too large well residuals
...
make sure all the processes will throw if there is any of the processes
found abnormal residual values.
2017-08-25 14:09:26 +02:00
Kai Bao
96340a23ff
computePerfRate and crossFlowAllowed protected in StandardWell
2017-08-25 14:09:26 +02:00
Kai Bao
bc78553686
renaming well_solutions_ and well_variables
...
to give slightly easier understanding.
2017-08-25 14:09:26 +02:00
Kai Bao
25869026e5
renaming a few functions
...
to reflect the functions better. No functional change.
2017-08-25 14:09:26 +02:00
Kai Bao
9a4a9a2bcc
using well name and allow_cf form well_ecl.
2017-08-25 14:09:26 +02:00
Kai Bao
a908bd7cf1
makding createWellContainer a static function.
2017-08-25 14:09:26 +02:00
Kai Bao
f9b7094075
fixing of some comments
...
no functional change.
2017-08-25 14:09:26 +02:00
Kai Bao
fe3d2f91e0
adding functions to calcuate between thp and bhp
...
to reduce some code duplication in StandardWell
2017-08-25 14:09:26 +02:00
Kai Bao
31ce880ba7
fixing the prallel running.
...
It needs WellSwitchingLogger for all the processes even there are not
wells in some of the processes.
2017-08-25 14:09:26 +02:00
Kai Bao
5af15fa63f
removing well_soltutions_ from WellStateFullyImplicitBlackoilDense
...
adding function setWellSolutions() to StandardWell.
The class WellStateFullyImplicitBlackoilDense is ready to be removed
now, while the only thing can go wrong compred with the original version
is the group control, which is not tested yet.
2017-08-25 14:09:26 +02:00
Kai Bao
8441eb77bd
not using wellSolutions() from WellState
...
while not sure whether we can remove it totally because of the comments
related to group control.
2017-08-25 14:09:26 +02:00
Kai Bao
6dcb0dfba1
fixing the vfp running with flow_ebos.
2017-08-25 14:09:26 +02:00
Kai Bao
78dd9d1d16
more cleaning up of the interface of WellInterface and StandardWell
2017-08-25 14:09:26 +02:00
Kai Bao
1550fb7600
WIP in cleaning up the interfaces of WellInterface and StandardWell
...
commiting now to save some changes.
2017-08-25 14:09:26 +02:00
Kai Bao
d4f26ad47a
recovering the running of flow_ebos for 2p + dummy phase.
2017-08-25 14:09:26 +02:00
Kai Bao
c43505d007
cleaning up some interface in WellInterface.
2017-08-25 14:09:26 +02:00
Kai Bao
6bbbe5061d
adding the copyright information.
2017-08-25 14:09:26 +02:00
Kai Bao
3e26a8b467
using different size of block size of well and reservoir
2017-08-25 14:09:26 +02:00
Kai Bao
f19dd03387
using Base to represent WellInterface<TypeTag>
...
for better readability.
2017-08-25 14:09:26 +02:00
Kai Bao
4f716a633d
using legacyDepth_ for the perfoation depth
...
for StandardWell. It turns out that it can be different with the
grid.getCellDepth() from the parser.
2017-08-25 14:09:26 +02:00
Kai Bao
c1ee941195
adding shear calculation to the polymer simulation.
2017-08-25 14:09:26 +02:00
Kai Bao
d1727d0183
correcting the injectivity with polymer injection.
2017-08-25 14:09:26 +02:00
Kai Bao
5ed9f4d497
incorporting polymer except the parts related to PLYSHLOG
2017-08-25 14:09:26 +02:00
Kai Bao
b3428a8bf9
incorporating the solvent related to StandardWell
2017-08-25 14:09:26 +02:00
Kai Bao
72ca91d59b
more cleaning up for StandardWellsDense and StandardWell
2017-08-25 14:09:26 +02:00
Kai Bao
8ddd197dcf
cleaning up StandardWellsDense
...
removing more unused stuff.
2017-08-25 14:09:26 +02:00
Kai Bao
e6d2b8550b
adding function computeWellPotentials to StandardWell
...
for some similar reasons, this function stays in StandardWell for now.
Eventually, it should go to WellInterface with some refactoring work.
2017-08-25 14:09:26 +02:00
Kai Bao
1d34c9dc6e
adding computeWellPotentialWithTHP() to StandardWell
...
it is not clear at the moment how all the well potentials related will
work with MS wells. For the moment, keep the well poentials related only
in StandardWell.
By theory, they should be very similar, while some dependence on certain
member variables makes some small refactoring work necessary.
2017-08-25 14:09:26 +02:00
Kai Bao
c3cc4021fa
adding computeWellRatesWithBhp() to StandardWell
2017-08-25 14:09:26 +02:00
Kai Bao
ab67635134
adding applySolutionWellState to apply solution from reservoir
...
to update well state.
With this way, the BlackoilModelEbos does not need to know the data type
assocated with different well type.
It is not well tested yet.
2017-08-25 14:09:26 +02:00
Kai Bao
07f563a1e1
implementing two apply() function in StandardWell_impl
...
The two functions will be essentially the same even for different types
of wells. Maybe later we should try to put them in WellInterface.
2017-08-25 14:09:26 +02:00
Kai Bao
f1123acdf0
also switching B and C in StandardWell_impl
2017-08-25 14:09:26 +02:00
Kai Bao
3ceea76616
adding function computeAccumWell and computeWellConnectionPressures
...
to StandardWell and removing a few not needed function from StandardWellsDense
2017-08-25 14:09:26 +02:00
Kai Bao
033fe70620
making init() function for WellInterface virtual.
2017-08-25 14:09:26 +02:00
Kai Bao
9c215faade
removing function allow_cross_flow() from StandardWellsDense
2017-08-25 14:09:26 +02:00
Kai Bao
d535157b1a
cleaning up a few fucntions in StandardWellsDense
...
to remove the implementation implemented in StandardWell already.
2017-08-25 14:09:26 +02:00
Kai Bao
48dee6bd7a
renaming function allCrossFlow() in StandardWell
...
to avoid confusion. and the detail of the function needs to be
justified.
2017-08-25 14:09:26 +02:00
Kai Bao
e5b5e250fe
incoporating more content from PR 1220
...
while the parts related to polymer are not incoporated fully yet, since
it has been considered in the new well model refactoring.
2017-08-25 14:09:26 +02:00
Kai Bao
e3399ca203
fixing some compilation error after rebase.
...
while a lot of new stuff have not entered, since many of the essential
parts are in different files now. Rebasing will not incoporate the new
stuff automatically.
2017-08-25 14:09:26 +02:00
Kai Bao
07d24b9d8d
solveWellEq in StandardWellsDense calls
...
solveWellEq from each individual well.
2017-08-25 14:09:26 +02:00
Kai Bao
9dace225de
adding wellEqIteration() to StandardWell
...
the involvement of the group control in updateWellControls() makes the
solution of well equations for each well individually more troublesome.
As a result, we will still makes the solveWellEq in all the wells level.
2017-08-25 14:09:26 +02:00
Kai Bao
d99fe876dd
adding getWellConvergence for StandardWell
2017-08-25 14:09:26 +02:00
Kai Bao
e01e8c352a
adding function computeWellConnectionDensitesPressures to StandardWell
2017-08-25 14:09:26 +02:00
Kai Bao
0f997a537a
adding computeConnectionPressureDelta to StandardWell
...
it is also copied from WellDensitySegmented while only handle one
Standard Well.
2017-08-25 14:09:26 +02:00
Kai Bao
9514e44d13
adding function computeConnectionDensities to StandardWell
...
which is copied from WellDensitySegmented, while avoid using of the
Wells struct.
TODO: find a better place to put these long functions.
2017-08-25 14:09:26 +02:00
Kai Bao
20c36d19c1
adding computePropertiesForWellConnectionPressures to StandardWell
2017-08-25 14:09:26 +02:00
Kai Bao
9c65684bf0
adding updateWellControl to StandardWell
...
TODO: check whehter it should go to WellInterface.
2017-08-25 14:09:26 +02:00
Kai Bao
f293e81336
adding function updateWellStateWithTarget to StandardWell
...
without dealing with wsolvent function. It can be just a member variable
since we are handling well one by one individually.
2017-08-25 14:09:26 +02:00
Kai Bao
1d9d70ee02
adding the updateWellState to StandardWell
...
this function is very long and need to debug very carefully and it
should be split for better readability for sure.
2017-08-25 14:09:26 +02:00
Kai Bao
1174d2de54
adding assembleWellEq to StandardWell
...
F0_ is not initialized yet.
2017-08-25 14:09:26 +02:00
Kai Bao
1942853337
adding function computePerfRate to StandardWell
2017-08-25 14:09:26 +02:00
Kai Bao
7223163155
handing the numComponents in WellInterface
2017-08-25 14:09:26 +02:00
Kai Bao
266442b0bd
adding extendEval() to StandardWell
...
For this type of functions that related to Evaluation should be
implemented within individual well model.
2017-08-25 14:09:26 +02:00
Kai Bao
1a4ceeec66
makding the StandardWell and WellInterface templated
...
with the template parameter TypeTag.
2017-08-25 14:09:26 +02:00
Kai Bao
2d02503091
more or less getting the old implementation in
...
and compile now.
2017-08-25 14:09:26 +02:00
Kai Bao
0cf6699591
adding StandardWell class
...
copied from the old implementation, which is the starting point for the
new refactoring
2017-08-25 14:09:26 +02:00