Commit Graph

59 Commits

Author SHA1 Message Date
Atgeirr Flø Rasmussen
702cd3170a Remove unused code and fix a few warnings. 2015-12-01 00:06:44 +01:00
Kai Bao
b7b5672c86 deleting the old unused computeSegmentDensities()
which is a first version, whose implementation should not be used
anymore.
2015-12-01 00:06:44 +01:00
Kai Bao
617e4c1786 fixing one bug in computeSegmentDensities()
the flux rate for the producing well are negtive. NotEqualZero should
used for selector instead of GreaterZero.
2015-12-01 00:06:44 +01:00
Kai Bao
f3ce4dc530 finishing computeSegmentDensities()
the results remain to be verified.
2015-12-01 00:06:44 +01:00
Atgeirr Flø Rasmussen
4dd8536afa Make multi-segment model use Base::addWellContribution...() method.
Also make assemble() more similar to base version, using the
extractWellPerfProperties() member from Base.

To do this it was necessary to change the well_cells member of the
WellOps to be correct for the multi-segment wells (since they may
have different perforation order for some wells).
2015-12-01 00:06:44 +01:00
Atgeirr Flø Rasmussen
b2787e24e7 Use value() in argument to make Selector constructor compile. 2015-12-01 00:06:44 +01:00
Kai Bao
d79536b0dd adding the function computeSegmentDensities()
Not verified yet.
2015-12-01 00:06:44 +01:00
Atgeirr Flø Rasmussen
653e55d7db Make assemble() more similar to base version. 2015-12-01 00:06:44 +01:00
Atgeirr Flø Rasmussen
e6a81fca83 Make convergence methods work for multi-segment wells.
The convergenceReduction() method no longer takes a number-of-wells argument,
instead it infers the number of well fluxes to check from the size of the
well_flux_eq member of the residual.

After this, a custom getConvergence() method is no longer required for the
multi-segment well model.
2015-12-01 00:06:44 +01:00
Atgeirr Flø Rasmussen
ae512d5c83 Update location of ErrorMacros.hpp header in includes. 2015-12-01 00:06:44 +01:00
Atgeirr Flø Rasmussen
9e664abe6e Add a TODO comment to updateWellControls(). 2015-12-01 00:06:44 +01:00
Atgeirr Flø Rasmussen
fce7247da5 Update the SolutionState's qs and bhp members.
This way they can be used instead of repeatedly extracting the top segment data,
which also could make it possible to use more of the existing implementation.
2015-12-01 00:06:44 +01:00
Kai Bao
4854bae4cd using s2s_outlet mapping in the pressure equation. 2015-12-01 00:06:44 +01:00
Kai Bao
317cbb0af8 changing the mapping s2s_outlet to s2s_inlets
to better refect the real meaning of the mapping.
2015-12-01 00:06:44 +01:00
Atgeirr Flø Rasmussen
f2c812fb3a Made WellStateMultiSegment use inheritance properly.
Use base class' data members (via public methods),
also change method names to match existing ones.
2015-12-01 00:06:44 +01:00
Kai Bao
cc2d40a1a8 handling aliveWells when adding control equations
to recover the SPE9 running.
2015-12-01 00:06:44 +01:00
Kai Bao
4fe0ae4a58 correcting the index of phase rate of the top segment
When handling the rate control equations.
2015-12-01 00:06:44 +01:00
Atgeirr Flø Rasmussen
7aa2672a14 Add TODO comment. 2015-12-01 00:06:44 +01:00
Kai Bao
2b4922a986 updating pressure and phase rates for top segments in updateWellControls 2015-12-01 00:06:44 +01:00
Kai Bao
0a3cbe0c1e upating the segment pressure in updateWellState.
The running of the first time step is okay.
2015-12-01 00:06:44 +01:00
Kai Bao
8c522ccc34 correcting a bug in pressure initialization in WellStateMultiSegment
for the pressure of top segment and peforations.
2015-12-01 00:06:44 +01:00
Atgeirr Flø Rasmussen
5d5ae7d271 Further silencing of warnings. 2015-12-01 00:06:44 +01:00
Kai Bao
247ae11fc3 fixing the compilation. 2015-12-01 00:06:44 +01:00
Atgeirr Flø Rasmussen
15fd5dad47 Suppress warnings in the multisegment well code. 2015-12-01 00:06:44 +01:00
Kai Bao
d7900d4fe8 updating the pressure of perforations.
only for usual wells now.

for multisegment wells, need to solve the the pressure difference calculation
first.
2015-12-01 00:06:44 +01:00
Kai Bao
f7951ef018 correcting the well control equation (rate control) 2015-12-01 00:06:44 +01:00
Kai Bao
cf766b5c3e fixing warnings related to mutlie segment wells. 2015-12-01 00:06:44 +01:00
Kai Bao
09f8da0324 fixing compilation and running after rebasing. 2015-12-01 00:06:44 +01:00
Kai Bao
ca5dd0dca4 WIP debugging. 2015-12-01 00:06:44 +01:00
Kai Bao
0fee0059a6 outputing the well information after updateWellState
for debugging purpose.
2015-12-01 00:06:43 +01:00
Kai Bao
3bce63ed64 correcting the bhp value when calculating connection pressure 2015-12-01 00:06:43 +01:00
Kai Bao
9526b5a9b1 WIP for addWellControlEq
P_n - P_n-1  = 0;
This is not making sense. remains to be corrected later.

It can run with NaN or too large solutions.
2015-12-01 00:06:43 +01:00
Kai Bao
d8634e41e5 some commenting. 2015-12-01 00:06:43 +01:00
Kai Bao
a137db6d37 using segment rates instead of well rates in addWellControlEq 2015-12-01 00:06:43 +01:00
Kai Bao
3b40a8d5b3 adding computeSegmentDensities for BlackoilMultiSegmentModel
cacluating the density of fluid mixture in segment, which is very
important for the pressure drop calculation for multi-segment wells.

This version is based on \sigma(q_s * dens_s) / \sigma(q_s * B).
More sophiscate techniques will be required to take into consideration
of the segment pressure and also the rs rv.
2015-12-01 00:06:43 +01:00
Kai Bao
487f90ee88 small comments 2015-12-01 00:06:43 +01:00
Kai Bao
45e89c5d28 adding convergenceReduction for BlackoilMultiSegmentModel 2015-12-01 00:06:43 +01:00
Kai Bao
62b6e69de8 adding updateWellState to BlackoilMultiSegmentModel
no THP treament.
2015-12-01 00:06:43 +01:00
Kai Bao
f496646182 adding updateState() for BlackoilMultiSegmentModel 2015-12-01 00:06:43 +01:00
Kai Bao
2e74b7cbaf WIP version for addWellControlEq()
not figuring out how to calculate the density of the mixuture.
2015-12-01 00:06:43 +01:00
Kai Bao
747a295122 adding addWellContributionToMassBalanceEq to BlackoilMultiSegmentModel 2015-12-01 00:06:43 +01:00
Kai Bao
f087ac14e8 adding addWellFluxEq to BlackoilMultiSegmentModel
while it causes segmentation fault.
Will check after adding well control equations
2015-12-01 00:06:43 +01:00
Kai Bao
2e155c70de WIP on addWellFluxEq(). 2015-12-01 00:06:43 +01:00
Kai Bao
befc152071 adding Zero values for well_perforatoin_cell_pressure_diffs_
Trying to let the code run through first.

And for the current cases, they should be zeros.
2015-12-01 00:06:43 +01:00
Kai Bao
5aa258fdd6 correcting a bug in computeWellFlux in BlackoilMultiSegmentModel
it should be segment rates instead of well rates.
2015-12-01 00:06:43 +01:00
Kai Bao
b3afd115ff WIP updatePerfPhaseRatesAndPressures for BlackoilMultiSegmentModel 2015-12-01 00:06:43 +01:00
Kai Bao
3cc8a09a65 WIP computeWellFlux() for BlackoilMultiSegmentModel 2015-12-01 00:06:43 +01:00
Kai Bao
788440b6e0 WIP version of computeWellConnectionPressures() for BlackoilMultiSegmentModel 2015-12-01 00:06:43 +01:00
Kai Bao
9776559a21 adding updateWellControls to BlackoilMultiSegmentModel 2015-12-01 00:06:43 +01:00
Kai Bao
dd432c6400 cleaning up and fixing the compilation. 2015-12-01 00:06:43 +01:00