Commit Graph

2028 Commits

Author SHA1 Message Date
Kai Bao
530afe55dd handle the situatioin when giving a NaN prod target to injectors
When all production wells are under individual controls, the group can
have zero production guide rates, which can result NaN value targets for
injectors.
2017-04-11 16:53:19 +02:00
Kai Bao
d41c4a371f Considering the injection phase when applying VREP group controls
GCONINJE only support single phase injection. When we inject one phase,
the values of distr for other phases should be set to be zero.

It will provide one strategy to figure out which phase we are
injecting. It is important when we inject one phase while the well is
claimed to be another phase in WELSPECS.
2017-04-11 16:53:19 +02:00
Kai Bao
745a2a5561 adding a flag to indicate whether group controls applied
for WellCollection.
2017-04-11 16:53:19 +02:00
Kai Bao
dff247d975 adding a function setGuideRatesWithPotentials() to WellCollection
it only handles the calculation based on wellPotentials though.

Or it should also give each well a value for wells does not specify a
guide rates? which will be some value same for all the wells?
2017-04-11 16:53:19 +02:00
Andreas Lauser
5125929a66 SimulatorReport: make it possible to report failed time steps
the method can still be called as it used to be. in this case no
failures are reported, though.
2017-04-10 23:31:24 +02:00
Atgeirr Flø Rasmussen
208e394e3d Merge pull request #1153 from babrodtk/hysteresis_output
Added functions in SaturationProps for hysteresis IO
2017-04-07 15:54:26 +02:00
babrodtk
46bd3499dc Added functions in SaturationProps for hysteresis IO 2017-04-07 14:31:22 +02:00
Tor Harald Sandve
214e9764b2 Add sat table id to well struct 2017-04-06 13:52:27 +02:00
Tor Harald Sandve
df74d7e696 Enable swatinit equil test 2017-03-22 10:26:03 +01:00
Tor Harald Sandve
02122a60ce FIX swatinit test in test_equil
The capillarySwatinit.DATA is updated to make it possible to run in Ecl.
Referance solutions is updated accordingly.
2017-03-22 10:20:59 +01:00
Joakim Hove
d237c91b8d Temporarily disabled EQUIL + SWATINIT test. 2017-03-21 16:49:14 +01:00
Tor Harald Sandve
289a15f0e5 Do not extrapolate initial rs and rv values in the depth tables 2017-03-16 12:57:56 +01:00
Kai Bao
d1469bd39e putting wells under immidatel group control when specified
with GRUP.
2017-03-07 12:48:30 +01:00
Atgeirr Flø Rasmussen
863b00bf30 Merge pull request #1143 from GitPaean/fixing_thp_initialization
Fixing thp initialization
2017-03-02 15:51:38 +01:00
Tor Harald Sandve
d3a4976529 Do not set rs=rsSat and rv=rvSat for the saturated case 2017-02-22 15:57:53 +01:00
Kai Bao
bdb9d8fcd6 do not assign non-zero THP value when no THP involved. 2017-02-17 13:45:55 +01:00
Kai Bao
f4a3e90d3b correcting the confusing indent in WellState init 2017-02-17 13:28:29 +01:00
Kai Bao
85b5ff6b68 adding thp to the report for summary output. 2017-02-13 10:15:58 +01:00
Atgeirr Flø Rasmussen
99c69a17d5 Merge pull request #1138 from andlaus/refactor_well_permeability
do not explicitly pass the permeability to the well model anymore
2017-01-27 13:15:50 +01:00
Andreas Lauser
1ae94c8db3 do not explicitly pass the permeability to the well model anymore
this information is already part of the EclipseState. The reason why
this should IMO be avoided is that this enforces an implementation
(ordering of the permeability matrices) the simulator on the well
model. If this needs to be done for performance reasons, IMO it would
be smarter to pass an array of matrices, instead of passing a raw
array of doubles.  I doubt that this is necessary, though: completing
the full Norne deck takes about 0.25 seconds longer on my machine,
that's substantially less than 0.1% of the total runtime.

in order to avoid code duplication, the permeability extraction
function of the RockFromDeck class is now made a public static
function and used as an implementation detail of the WellsManager.

finally, the permfield_valid_ attribute is removed from the
RockFromDeck class because this data was unused and not accessible via
the class' public API.
2017-01-27 12:51:12 +01:00
Kai Bao
b60439c564 set the VREP control as current control when applying VREP control
for the first time

Not sure it is always the better things to do here, while it can help
the consistence of the two current controls in the well_controls and
well_state.
2017-01-25 14:11:37 +01:00
Kai Bao
4fcbd16962 considering effieciency factor when calculating production rate. 2017-01-16 16:13:44 +01:00
Kai Bao
e0143f85fd adding groupTargetConverged() to WellCollection 2017-01-16 15:55:35 +01:00
Kai Bao
31465c732c adding groupProdTargetConverged() to WellsGroup
When the group is producing its target, we consider it is converged.
When the group is not producing its target, while the group can not
produce more based on its own limits, we also consider it is converged.

When the group is not producing its target, while the group can
potentially produce more, we consider it is not converged.
2017-01-16 14:19:52 +01:00
Kai Bao
0312190f7d adding canProdueMore() function to wellsGroup
to indicate whether the group can produce more to match the group target
when they are not producing enough compared with the group target.
2017-01-16 11:25:23 +01:00
Kai Bao
f6b92dcc43 updating the group control limit for individual control wells
to provide a better standard for the wells under individual control to
return to group control. For example, some wells get really big group
control limit and switch to individual control, it is very difficult for
them to return to group control with that kind of unreasonable fixed
group limit.
2017-01-12 15:44:44 +01:00
Atgeirr Flø Rasmussen
15790ecb57 Merge pull request #1133 from blattms/parallel-accumulate
Added an accumulate method that allows to switch off non-owner entries.
2017-01-11 15:16:48 +01:00
Markus Blatt
0fc3a57d20 Added an accumulate method that allows to switch off overlap entries.
It does using a mask vector with entries 0 or 1. If that is not provided
it falls back to std::accumulate.
2017-01-11 12:18:39 +01:00
Atgeirr Flø Rasmussen
f19c90bba7 Throw if solvent phase injected. 2017-01-09 16:33:03 +01:00
Atgeirr Flø Rasmussen
e5bb786df2 Merge pull request #1120 from jokva/density-from-eclipsestate
Use Density from EclipseState
2017-01-09 10:38:30 +01:00
Atgeirr Flø Rasmussen
95d4a8101d Merge pull request #1125 from jokva/reduce-deck-use-relperm-diagnostics
Don't rely on Deck for checkTable and checkPhase
2017-01-09 09:35:25 +01:00
Atgeirr Flø Rasmussen
e88c7df418 Merge pull request #1124 from jokva/read-rock-from-eclipsestate
Read ROCK from EclipseState, not Deck
2017-01-09 09:33:47 +01:00
Atgeirr Flø Rasmussen
8122c13f0d Merge pull request #1131 from atgeirr/increase-iters-for-equil
Increase max iterations for capillary curve inversion.
2017-01-09 09:31:14 +01:00
Atgeirr Flø Rasmussen
c57ed2f32c Increase max iterations for capillary curve inversion.
Triggered by a new two-phase case.
2017-01-06 15:24:08 +01:00
Tor Harald Sandve
e72cf77bc8 Add test for swatinit 2017-01-05 09:09:25 +01:00
Tor Harald Sandve
edd857ec3e Make it optinal to apply SWATINIT
The reasoning behind this to make it possible to initialize the case
without SWATINIT in order to compute the same defaulted THPRES values as
Ecl. The initialization needs to be re-computed to account for SWATINIT
in the simulations.
2017-01-02 15:10:09 +01:00
Atgeirr Flø Rasmussen
d81c150bae Remove unused Deck function argument. 2017-01-02 09:47:57 +01:00
Atgeirr Flø Rasmussen
08689af3e9 Fix order of initialization. 2016-12-29 13:55:42 +01:00
Jørgen Kvalsvik
bbb30de74e Don't rely on Deck for checkTable and checkPhase
Prefer using EclipseState over Deck.
2016-12-20 14:08:58 +01:00
Jørgen Kvalsvik
98a3a6a3f8 Read ROCK from EclipseState, not Deck 2016-12-20 12:24:27 +01:00
jokva
c240f044d2 Merge pull request #1123 from jokva/read-pressure-swat-sgas-from-es
Read RS,RV,PRESSURE,SWAT,SGAS from EclipseState
2016-12-20 10:01:13 +01:00
Jørgen Kvalsvik
3bdd674aac Read RS,RV,PRESSURE,SWAT,SGAS from EclipseState
Prefer reading these values from EclipseState rather than the Deck type.
2016-12-19 14:26:27 +01:00
Andreas Lauser
a367eaf5fe add missing semicolon to fix the build
some versions of boost seem to be more picky about this than others...
2016-12-16 10:29:52 +01:00
Jørgen Kvalsvik
5278a1f193 Use Density from EclipseState 2016-12-15 16:06:46 +01:00
Jørgen Kvalsvik
f8b1bef974 Read PVTW from EclipseState
Read the PVTW table entries from EclipseState rather than manually
through the Deck object.
2016-12-06 14:53:41 +01:00
Andreas Lauser
7f4c23812a clean up and extend the SimulationReport class
it now also accounts for assembly, linear solve, update and output
write time and indicates if an operation has converged.
2016-11-30 11:27:49 +01:00
Atgeirr Flø Rasmussen
22fc88b2af Merge pull request #1103 from GitPaean/fixing_warning
warning fixed related to petsc
2016-11-23 12:37:31 +01:00
Jørgen Kvalsvik
ccd38c0cf7 Ask for reference depth at timestep. 2016-11-22 14:22:09 +01:00
Atgeirr Flø Rasmussen
b026295376 Merge pull request #1107 from GitPaean/fixing_findWellNode
Adding a flag to WellCollection whether group control active
2016-11-17 23:27:06 +01:00
Kai Bao
78b96d9c20 a flag to WellCollection whether group control active 2016-11-17 16:26:19 +01:00