Commit Graph

12104 Commits

Author SHA1 Message Date
Bård Skaflestad
c8a43b982c PI/II Loop: Check That We Process All Active Connections
Assert that the 'subsetPerfID' is equal to number_of_perforations_
at the end of the loop.

Suggested by: [at]atgeirr
2020-11-24 21:53:58 +01:00
Bård Skaflestad
a46a732f9e PI: Treat Production Differently From Injection
This commit makes the PI/II calculation more closely mirror the
approach taken when computing connection flow rates.  In particular,
we switch to using total mobility, mixing and volume ratios for
injecting connections while producing connections continue to use
the phase mobilities and formation volume factors derived from
conditions in the connecting cells.  We also include dissolved
gas/oil ratios and vaporised oil/gas ratios in order to fully
capture the surface flow conditions.

We split the handling of producing/injecting connections out to
separate helper functions in order to make the overall logic in
updateProductivityIndex() more manageable.ex() more manageable.
2020-11-24 21:53:58 +01:00
Bård Skaflestad
75156cd872 Unconditionally Calculate PI at End of Timestep
This commit ensures that we calculate the well and connection level
per-phase steady-state productivity index (PI) at the end of a
completed time step (triggered from endTimeStep()).

We add a new data member,

    BlackoilWellModel<>::prod_index_calc_

which holds one WellProdIndexCalculator for each of the process'
local wells and a new interface member function

    WellInterface::updateProductivityIndex

which uses a per-well PI calculator to actually compute the PI
values and store those in the WellState.  Implement this member
function for both StandardWell and MultisegmentWell.  Were it not
for 'getMobility' existing only in the derived classes, the two
equal implementations could be merged and moved to the interface.

We also add a new data member to the WellStateFullyImplicitBlackoil
to hold the connection-level PI values.  Finally, remove the
conditional PI calculation from StandardWell's well equation
assembly routine.
2020-11-24 21:53:58 +01:00
Bård Skaflestad
9f12a2edba
Merge pull request #2931 from alfbr/guiderat-supported
Removed supported keywords from list
2020-11-24 21:51:30 +01:00
Bård Skaflestad
02957bcfda
Merge pull request #2937 from joakim-hove/summary-pass-inplace
Support summary keyword RHPV
2020-11-24 21:50:03 +01:00
Joakim Hove
62b119170d Pass Inplace argument to Summary::eval() 2020-11-24 12:33:05 +01:00
Joakim Hove
df292baeea Use Inplace::Phase enums instead of string tags 2020-11-24 12:33:05 +01:00
Atgeirr Flø Rasmussen
c880bc8688
Merge pull request #2939 from goncalvesmachadoc/aquifer
Fix well mixture for single-phase
2020-11-24 10:19:18 +01:00
Cintia Goncalves Machado
f0ba56652e restructure if 2020-11-24 09:05:18 +01:00
Cintia Goncalves Machado
82c8201f00 fix well Control Single-Phase 2020-11-23 18:40:37 +01:00
Bård Skaflestad
4ae70ee12e
Merge pull request #2927 from akva2/disable_python_tests_debian_packaging
Disable python tests in debian packaging
2020-11-23 10:52:36 +01:00
Atgeirr Flø Rasmussen
ea34c2c2df
Merge pull request #2911 from atgeirr/network-add-glift
Add the option to include gas lift for network calculations.
2020-11-20 15:23:12 +01:00
Joakim Hove
26c3262a2a
Merge pull request #2935 from joakim-hove/add-inplace
Pass the initial inplace values to Summary::eval()
2020-11-20 14:13:00 +01:00
Joakim Hove
e962374856 Pass the initial inplace values to Summary::eval() 2020-11-20 10:02:16 +01:00
Atgeirr Flø Rasmussen
69d04b7000 Set and communicate ALQ properly in parallel. 2020-11-20 08:03:21 +01:00
Atgeirr Flø Rasmussen
e15db6a892
Merge pull request #2934 from blattms/stdwell-assign-totalrate-once
StandardWell only assing primary_variables_[WQTotal] once.
2020-11-20 07:54:43 +01:00
Bård Skaflestad
729da46fd5
Merge pull request #2917 from bska/restore-2d_h-update
Restore Case Name for 'msw_2d_h' Regression Test
2020-11-20 01:15:06 +01:00
Bård Skaflestad
e6d73f569a Use Unique CASENAME for 'SPE1CASE2'
The 'update_reference_data' script refers to this as 'spe12', so
pick the same casename here.  While here, also ensure that we use
the correct 'DIR' specification for this test case.
2020-11-19 22:42:36 +01:00
Bård Skaflestad
966d7e1761 Restore Case Name for 'msw_2d_h' Regression Test 2020-11-19 22:42:36 +01:00
Markus Blatt
b21b6cf28c
Merge pull request #2914 from ducbueno/rm-oclcontainer
Removed WellContributionsOCLContainer class
2020-11-19 21:27:55 +01:00
Markus Blatt
fb5f2eb9d0 StandardWell only assing primary_variables_[WQTotal] once.
There seems to be no need to assign the same value consecutively
as often as there are phases.
2020-11-19 19:50:01 +01:00
Jose Eduardo Bueno
09e38a38e9 Fixed CMakeLists_files.cmake 2020-11-19 15:41:59 -03:00
Joakim Hove
b2896d09ff
Merge pull request #2920 from joakim-hove/use-original-IP
Pass region in place values to the summary writer
2020-11-19 17:13:04 +01:00
Tor Harald Sandve
c4c0b7a756 Make it compile with dune-fem 2020-11-19 15:45:37 +01:00
Markus Blatt
d8eaef3271 Fixed and updated comment 2020-11-19 15:29:45 +01:00
Markus Blatt
46cb9012c0 Do not filter connections on the schedule of the loadbalanced grid.
It would remove perforated cells from wells that cross the local
domain's border. That would make it impossible to figure out the
first connection. In addition we would not be able to check that
the connections exist (as rank 0 would have the complete information
-> inconsistency).
2020-11-19 15:29:45 +01:00
Atgeirr Flø Rasmussen
8716dbfcfd Add the option to include gas lift for network calculations. 2020-11-19 14:19:26 +01:00
Atgeirr Flø Rasmussen
307315a03d
Merge pull request #2932 from atgeirr/glift-constify
Make consistent use of const for alq-related state.
2020-11-19 12:56:37 +01:00
Arne Morten Kvarving
ebf0d2d0d7
Merge pull request #2929 from akva2/janitoring
fixed: signed/unsigned comparison warnings
2020-11-19 12:13:12 +01:00
Joakim Hove
6084f7c4d4 Use class Inplace to manage aggregated region properties in output 2020-11-19 11:38:18 +01:00
Atgeirr Flø Rasmussen
376aecfad5 Store producer status, only call getALQ() for producers.
As it was, the getALQ() call would insert injectors into the ALQ maps,
leading to trouble.

Also, this gets rid of the slightly weird thing that the output data
structure's producer/injector status was only set after creation,
in BlackoilWellModel::wellData().
2020-11-19 11:22:25 +01:00
Arne Morten Kvarving
be48b3505d remove unused variable 2020-11-19 11:10:33 +01:00
Arne Morten Kvarving
a95cc3dcbc fixed: signed/unsigned comparison warnings 2020-11-19 11:03:06 +01:00
Bård Skaflestad
433a8f8d99
Merge pull request #2930 from joakim-hove/store-schedule
Remove arguments
2020-11-19 11:03:01 +01:00
Atgeirr Flø Rasmussen
8a5203814b Make consistent use of const for alq-related state.
A const well state was passed to functions that were modifying it by
calling setALQ(). Now the setALQ() method is made non-const, mutable
references to the well state are passed where sensible. The getALQ()
method uses map::at() instead of map::operator[] and no longer modifies
current_alq_. With this, it is now easy to see which methods modify the
well state and which don't. The alq-related members in the
WellStateFullyImplicitBlackoil class are no longer 'mutable'-qualified.
2020-11-19 10:09:52 +01:00
Alf Birger Rustad
b651469f34 Removed supported keywords from list 2020-11-19 09:36:30 +01:00
Joakim Hove
2043d792c1 Remove arguments 2020-11-18 15:40:22 +01:00
Arne Morten Kvarving
e176487cae changed: rename ebos_thermal to ebos_energy
make it the same as the flow model, allowing simplification
in the buildsystem
2020-11-18 14:04:27 +01:00
Arne Morten Kvarving
9ad927799b changed: rename ebos_oilwaterpolymer to ebos_oilwater_polymer
make it the same as the flow model, allowing simplification
in the buildsystem
2020-11-18 14:04:04 +01:00
Arne Morten Kvarving
10c3f3b438 changed: simplify build system a little
use lists for models to avoid repeating
2020-11-18 14:03:37 +01:00
Tor Harald Sandve
0ac2f922d3
Merge pull request #2851 from osae/extboSimulators
Alternative solvent extension for the black oil model.
2020-11-18 14:01:36 +01:00
Markus Blatt
ea3c899080
Merge pull request #2882 from atgeirr/msw-add-well-contrib
Implement addWellContributions() for multi-segment wells
2020-11-18 13:44:24 +01:00
Jose Eduardo Bueno
a9c2a684c6 Removed WellContributionsOCLContainer class (rebase) 2020-11-18 09:14:31 -03:00
Arne Morten Kvarving
e4fc08813e disable python tests in debian packaging 2020-11-18 10:55:46 +01:00
Arne Morten Kvarving
16d644032c add cmake option to disable the python tests
due to bugs in the openmpi on bionic, this test fails to
execute properly in pbuilder environments. instead
of rebuilding openmpi without dynamic loading
(which is the suggested fix) and potentially break users
systems, this is a non-intrusive workaround to be used
for packaging.

also add explicit option for python support to make it
visible in cmake frontends.
2020-11-18 10:55:46 +01:00
Arne Morten Kvarving
7b58071b8e
Merge pull request #2924 from akva2/janitoring
remove unused variable
2020-11-18 10:53:50 +01:00
Arne Morten Kvarving
608b27096b remove unused cmake option 2020-11-18 09:40:43 +01:00
Ove Sævareid
940af0f15d Fixed typo. 2020-11-17 19:42:41 +01:00
Ove Sævareid
aca6335585 Handle OnePhaseIndices 2020-11-17 18:07:33 +01:00
Markus Blatt
991e73048a
Merge pull request #2926 from OPM/consistent-pvt-for-groups
Use consisten pvt region index for groups in parallel.
2020-11-17 16:56:49 +01:00