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
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
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
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
Bård Skaflestad
ef3f7f78fa
Merge pull request #1105 from andlaus/fix_valgrind_errors
...
fix some valgrind errors in the init code
2016-11-16 19:08:48 +01:00
Andreas Lauser
04c9b66107
fix some valgrind errors in the EQUIL code
...
this fixes some valgrind errors while doing the twophase capability
for flow_ebos: In all previously tested cases, these errors were
probably non-fatal because the memory illegally accessed here is
likely to be allocated (but after this function was finished it
contained garbage).
note that I'm not completely sure if this patch is semantically
correct, so I'd appreciate some input who understands it. (what is
"z"?)
2016-11-16 17:20:24 +01:00
Kai Bao
d48255d198
warning fixed related to petsc
2016-11-16 15:35:35 +01:00
Kai Bao
37e1fb0043
rewriting the findWellNode function
...
with assuming we should always find the well in the well collection.
2016-11-16 14:27:15 +01:00
Joakim Hove
9739b2167c
Merge pull request #1101 from jokva/changes-in-grouptree
...
GroupTree interface changed upstream
2016-11-16 13:26:58 +01:00
Kai Bao
d7b2d3368c
fixing the comments.
...
No change in the functions and results.
2016-11-16 11:40:10 +01:00
Kai Bao
0e6214723c
addressing a few comments.
2016-11-16 09:51:06 +01:00
Kai Bao
6714c53dc8
adding target_updated_ flag to WellNode
...
to save some repeated efforts when updating Well Targets.
2016-11-16 09:43:28 +01:00
Kai Bao
ca52f1f59e
checking whehter need to update before updateWellTargets.
2016-11-15 13:56:49 +01:00
Kai Bao
f4a44ec1dd
cleaning up more unused flag from WellsGroup
2016-11-11 11:29:12 +01:00
Kai Bao
6c9c64cb3e
removing a few not-used function with the new strategy.
2016-11-10 17:50:30 +01:00
Kai Bao
84910993c4
different strategy is using when updating the well targets
...
When the group has wells both under individual control and group
control, since the well rates under individual control changes each
iteration, the well targets for this kind of group need to be updated
each iteration.
When we change to use implicit well potentials later, which is supposed
to be more accurate, we probably should always (unless we decided not to)
update the well targets each iteration.
2016-11-10 17:22:25 +01:00
Kai Bao
73b511f90a
adding function findWellNode() to WellCollection
...
to return the WellNode* instead of WellGroupInterface*
2016-11-10 16:28:40 +01:00
Kai Bao
62dbf74bc9
cleaning up and adding more comments for better understanding.
...
No functional change.
2016-11-10 16:28:40 +01:00
Kai Bao
8ce422072e
applying the efficiency factor to VREP control.
2016-11-10 16:28:40 +01:00
Kai Bao
fe7a77d80e
adding VREP injection support.
...
not handling multiple injection wells for moment.
2016-11-10 16:28:40 +01:00
Kai Bao
0e3118af42
using variable only_group instead of hard-coded false.
...
when applying group production control.
2016-11-10 16:28:40 +01:00
Kai Bao
a77750c0b6
correcting the typo in efficiency
...
It was efficicency, which causes inconvenience when searching variables
or functions.
2016-11-10 16:28:40 +01:00
Kai Bao
099a62f07a
adding basic support for group injection control.
...
more testing will be required later.
2016-11-10 16:28:40 +01:00
Kai Bao
f1123e4e4c
applying efficiency factor to the group control.
2016-11-10 16:28:40 +01:00
Kai Bao
f922ed6ad9
function for accumulative efficiency factor for WellNode
...
This is the final efficiency factor that goes to the source/sink terms
in the material balance equations.
2016-11-10 16:28:40 +01:00
Kai Bao
194d9b161d
adding efficiency factor to the WellsGroupInterface.
...
The one for the WellNode should be specified with WEFAC, which we are
not handling for the moment, so we just set it to be 1.0 for the moment.
2016-11-10 16:28:40 +01:00
Kai Bao
a67bff245b
refactoring function updateWellProductionTargets()
...
To handle different types of control mode.
2016-11-10 16:28:40 +01:00
Kai Bao
be5f1e5c58
When NONE is specified, no group control enforcement.
...
NONE is specified in GCONPROD or GCONINJE.
2016-11-10 16:28:40 +01:00
Kai Bao
d3926a6a6a
output cleanining up
2016-11-10 16:28:40 +01:00
Kai Bao
9bfe9d561a
removing the use of cast between base class and derived class
...
between WellsGroupInterface and WellsGroup, WellNode.
2016-11-10 16:28:40 +01:00