Commit Graph
2218 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 44f36c45cf Add well_cells to WellOps to avoid recreating. 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
Atgeirr Flø Rasmussen 920eeed3b2 Improve assemble() with new method extractWellPerfProperties(). 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 1c4f4c646d Add asImpl() to some method calls.
This enables those methods (mostly well related) to be used polymorphically.
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 433d76cd86 adding the related grid cell for each segment.
This concept can be removed in the future.
2015-12-01 00:06:44 +01:00
Kai Bao 98fe7f19c5 not trying to find outlet segment for top segment 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 1b6453c6ba introducing new mapping s2s_outlet
from a segment to its outlet segment
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
Kai Bao cb3f54b618 the pressure fluctuation only apply for non-segmented well.
to recover previous residual history when running with only
non-segmented wells.
2015-12-01 00:06:44 +01:00
Kai Bao be293962b6 changing the perforation pressure initialization
to make it slightly different from the pressure of the perforation cell
to avoid NaN for cqt_is.

anotehr way can be initialized them related to the bhp of the well.
some tests will be performed in the future.
2015-12-01 00:06:44 +01:00
Atgeirr Flø Rasmussen 9c1c87a040 Remember to initialize the data members. 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
Kai Bao 70e1ccb736 using the first cell of the well to initialize bhp
instead of using the the first cell of all the wells in
WellStateMultiSegment
2015-12-01 00:06:44 +01:00
Kai Bao 9b5b5198b2 update the currentControls from prevState
when initializing WellStateMultiSegment
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 504dc45de2 some information output
for debugging puropose.
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 70d6d253fe correcting bugs when initializing the WellState by copying prevState 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 2f0818df79 adding a public member function for the top segment index. 2015-12-01 00:06:44 +01:00
Kai Bao 052b61e672 indexing the location of top segments in WellStateMultiSegment
it is better to be in the global well class if we decide to have it
later.
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 d93b27cedd fixing the compilation due to function interface change.
outputWriter function introduced extra arguments.
2015-12-01 00:06:43 +01:00
Kai Bao 72af213835 outputing the wellMap information.
for debugging purpose.
2015-12-01 00:06:43 +01:00
Kai Bao 5379467b4c adding temperature for WellStateMultiSegment
it is not used though
2015-12-01 00:06:43 +01:00
Kai Bao 895e04b6fa outputing all the information of the WellStateMultiSegment
for debugging purpose.
2015-12-01 00:06:43 +01:00