Commit Graph

71 Commits

Author SHA1 Message Date
Tor Harald Sandve
54c8a48481 code clean-up based on review 2018-05-08 10:22:47 +02:00
Tor Harald Sandve
ee88790dea Add a flow specialization for blackoil with energy conservation
The energy conservation is enabled by specifying either TEMP or
THERMAL in the deck. The deck also needs to contatin relevant fluid and rock
heat properties.

The blackoil + energy equations are solved fully implicit.
2018-04-30 13:45:18 +02:00
Markus Blatt
dc86d972d2 Removed hack to access StandardWell::addWellContributions. 2018-03-05 16:48:03 +01:00
Markus Blatt
96a636f25b Let WellModel decide whether to apply well contributions.
It queries the Well whether the jacobian also contains well contributions.
If not then it applies them in the operator in addition. Thus the
well knows whether that is needed or not.
2018-02-26 15:16:07 +01:00
Markus Blatt
afb806bc3e Remove effectless typedef in version check.
The typedef is the same and has no effect since we
switched to Dune::FMatrixHelp::invertMatrix.
2018-02-26 15:16:07 +01:00
Markus Blatt
9221bc958b Added missing header includes 2018-02-26 14:35:04 +01:00
Markus Blatt
799cbb4b62 Add influences by well perforations to matrix.
This is only done upon request and uses the auxiliary module approach
provided by ewoms.

In the case of adding the influences we do not execute applyWellModelScaleAdd
or applyWellModel in the operator
2018-02-26 14:35:04 +01:00
Kai Bao
89bb589755 update the reservoir volume in WellState 2018-02-21 12:20:43 +01:00
Tor Harald Sandve
969d8f238d Use phase and comp info from FluidSystem
TODO: The output, fip and restart still uses a mixture of old and
new phase indices. This needs to be adressed in future PRs
2018-01-03 08:44:37 +01:00
Kai Bao
9317c1f023 removing the current argument in updateWellStateWithTarget
and some other cleaning up.
2017-11-30 17:14:29 +01:00
Kai Bao
ea3cbd1fe8 removing numComponents() from WellInterface
which is dumplicated from BlackoilWellModel.
2017-11-30 16:31:48 +01:00
Tor Harald Sandve
dd97fc8908 Some clean up. 2017-11-23 11:15:50 +01:00
Tor Harald Sandve
c076ed6485 Move Rateconverter and pvtIdx to the wellInterface 2017-11-23 08:37:30 +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
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
fc06923c50 changing StandardWellsDense to BlackoilModelEbos
for a better naming.
2017-10-12 13:39:58 +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
Tor Harald Sandve
dc8f811cbe Remove WellStateFullyImplicitBlackoilDense
After the restructuring of of the well model, keeping an extra class for
the "Dense" model is not needed. The only thing still left in
WellStateFullyImplicitBlackoilDense was some solvent related stuff, this
PR moves this to WellStateFullyImplicitBlackoil and removes
WellStateFullyImplicitBlackoilDense.

In addition to a cleaning code this PR fixes missing solvent well output.
2017-10-11 10:54:59 +02:00
Atgeirr Flø Rasmussen
63b38cfe20 Merge pull request #1281 from totto82/fixRESV
Use pore volume weighted averaged hydrocarbon state in rateConverted.
2017-10-09 13:42:43 +02:00
Tor Harald Sandve
ebc2f46967 Use pore volume weighted averaged hydrocarbon state in rateConverted.
- pressure, rs and rv is averaged using hydrocarbon pore volume weights.
- pvtRegions is used as input in the conversion factor calculations.
- the pvt cell of the first well cell is used as the pvt index.
(Completing a well in two different PVT regions sounds like a very bad
idea anyway)
- FIP region support is added to the rate converter also for the ebos
interface.
2017-10-03 10:25:56 +02:00
Tor Harald Sandve
5839962e31 Some trivial cleaning 2017-09-21 12:16:46 +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
8abe48a693 making destructor of WellInterface virtual
to avoid memory leaking.
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
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
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
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
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
d4fa8c06f1 adding computeRepRadiusPerfLength() to WellInterface. 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
0acd0ef387 small adjustment of member functions of WellInterface 2017-08-25 14:09:26 +02:00
Kai Bao
63c418c02f adding fucntion updateListEconLimited() to WellInterface 2017-08-25 14:09:26 +02:00
Kai Bao
5986295975 adding checkRatioEconLimits to WellInterface 2017-08-25 14:09:26 +02:00
Kai Bao
1a4bd6ffb2 adding checkMaxWaterCutLimit and checkRateEconLimits to WellInterface 2017-08-25 14:09:26 +02:00
Kai Bao
369ccfef52 handling well_efficiency_factor_ in WellInterface. 2017-08-25 14:09:26 +02:00
Kai Bao
7e9eee4ee4 moving wsolvent and wpolymer to WellInterface
to do this, adding well_ecl_ and current_step_ to WelInterface.
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
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