Kai Bao
50938effc4
output the well equation residual.
2015-12-01 00:06:45 +01:00
Kai Bao
a44de6bb1d
changing p2s_gather to p2s mappling in well flux equation.
2015-12-01 00:06:45 +01:00
Kai Bao
19caace288
unifying the well flux equaions for multi-segment and non-segment wells
...
verified with non-segment wells.
2015-12-01 00:06:45 +01:00
Kai Bao
7d11b49732
re-organizing the output.
...
no functional change.
2015-12-01 00:06:44 +01:00
Kai Bao
885dfedc91
adding the pressure drop between segments
...
remains to be verfied and apply to the pressure equations for segments
2015-12-01 00:06:44 +01:00
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