Commit Graph

2207 Commits

Author SHA1 Message Date
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
Kai Bao
4feee98457 correcting the mapping matrix in WellMultiSegment
correcting the calculation of s2s_gather
2015-12-01 00:06:43 +01:00
Kai Bao
34d72a774a correcting some initialization for WellMultiSegment 2015-12-01 00:06:43 +01:00
Kai Bao
33c979b772 outputing all the information related to multisegment wells
for debugging purpose.
2015-12-01 00:06:43 +01:00
Kai Bao
709c030b10 adding public member function WellMultiSegment::inletSegments() 2015-12-01 00:06:43 +01:00
Kai Bao
3eae01de18 pure cleaning up in WellStateMultiSegment 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
bfe77db26f adding p2s_average to the wellOps for WellMultiSegment
this mapping calculate the averaged perforation properties to their
related segments
2015-12-01 00:06:43 +01:00
Kai Bao
487f90ee88 small comments 2015-12-01 00:06:43 +01:00