Commit Graph

8665 Commits

Author SHA1 Message Date
Tor Harald Sandve
3b5a040197
Merge pull request #3498 from totto82/gpmaint
Support for gpmaint
2021-09-07 12:38:48 +02:00
Arne Morten Kvarving
ae212ff883 drop using statement for ipr_b_
rather qualify member variable with this->
2021-09-07 11:26:33 +02:00
Arne Morten Kvarving
870cb04e68 drop using statement for ipr_a_
rather qualify member variable with this->
2021-09-07 11:26:33 +02:00
Arne Morten Kvarving
ad39dbdaf0 drop using statement for bore_diameters_
rather qualify member variable with this->
2021-09-07 11:26:33 +02:00
Arne Morten Kvarving
001d69c17b drop using statement for perf_length_
rather qualify member variable with this->
2021-09-07 11:26:33 +02:00
Arne Morten Kvarving
475bea085c drop using statement for perf_rep_radius_
rather qualify member variable with this->
2021-09-07 11:26:33 +02:00
Arne Morten Kvarving
2cc38ed396 drop using statement for connectionRates_
rather qualify member variable with this->
2021-09-07 11:26:33 +02:00
Arne Morten Kvarving
9b92837673 drop using statement for num_components_
rather qualify member variable with this->
2021-09-07 11:26:33 +02:00
Arne Morten Kvarving
1d15c3064a drop using statement for index_of_well_
rather qualify member variable with this->
2021-09-07 11:25:09 +02:00
Arne Morten Kvarving
10b756d08c drop using statement for well_index_
rather qualify member variable with this->
2021-09-07 11:25:09 +02:00
Arne Morten Kvarving
aaf216a29a drop using statement for saturation_table_number_
rather qualify member variable with this->
2021-09-07 11:25:09 +02:00
Arne Morten Kvarving
55b52c3bd4 drop using statement for number_of_phases_
rather qualify member variable with this->
2021-09-07 11:25:09 +02:00
Arne Morten Kvarving
79801bb63a drop using statement for number_of_perforations_
rather qualify member variable with this->
2021-09-07 11:25:09 +02:00
Arne Morten Kvarving
66e938b13e drop using statement for well_cells_
rather qualify member variable with this->
2021-09-07 11:24:51 +02:00
Arne Morten Kvarving
97cbbe910a drop using statement for perf_depth_
rather qualify member variable with this->
2021-09-07 11:24:51 +02:00
Arne Morten Kvarving
68786651f5 drop using statement for well_efficiency_factor_
rather qualify member variable with this->
2021-09-07 11:24:51 +02:00
Arne Morten Kvarving
73be71bff5 drop using statement for param_
rather qualify member variable with this->
2021-09-07 11:24:06 +02:00
Arne Morten Kvarving
79d8cf90fd drop using statement for well_ecl_
rather qualify member variable with this->
2021-09-07 11:24:06 +02:00
Arne Morten Kvarving
874a7a3830 drop using statement for getALQ
rather qualify member function calls with this->
2021-09-07 11:24:06 +02:00
Arne Morten Kvarving
45de63f0f5 drop using statement for mostStrictBhpFromBhpLimits
rather qualify member function calls with this->
2021-09-07 11:24:06 +02:00
Arne Morten Kvarving
83671b3448 drop using statement for wfoam
rather qualify member function calls with this->
2021-09-07 11:24:06 +02:00
Arne Morten Kvarving
6cfd259f2f drop using statement for wpolymer
rather qualify member function calls with this->
2021-09-07 11:24:06 +02:00
Arne Morten Kvarving
fd2185d3f9 drop using statement for wsolvent
rather qualify member function calls with this->
2021-09-07 11:23:25 +02:00
Arne Morten Kvarving
2c0743c888 drop using statement for wsalt
rather qualify member function calls with this->
2021-09-07 11:23:25 +02:00
Arne Morten Kvarving
dae0e73327 drop using statement for ebosCompIdxToFlowCompIdx
rather qualify member function calls with this->
2021-09-07 11:23:25 +02:00
Arne Morten Kvarving
9ebb315002 drop using statement for flowPhaseToEbosPhaseIdx
rather qualify member function calls with this->
2021-09-07 11:23:24 +02:00
Arne Morten Kvarving
35cc1b9a2a drop using statement for flowPhaseToEbosCompIdx
rather qualify member function calls with this->
2021-09-07 11:23:24 +02:00
Arne Morten Kvarving
48e282bd65 drop using statement for getAllowCrossFlow
rather qualify member function calls with this->
2021-09-07 11:23:24 +02:00
Markus Blatt
0aa60a6f7c
Merge pull request #3508 from akva2/drop_aliases
drop aliases for Indices entries
2021-09-07 11:22:26 +02:00
Tor Harald Sandve
adda160098 clean-up 2021-09-07 09:47:41 +02:00
Tor Harald Sandve
f497fa0fd7 add support for region = 0 i.e. field 2021-09-07 08:53:09 +02:00
Tor Harald Sandve
f9832d8830 split RateConverter 2021-09-07 08:53:09 +02:00
Tor Harald Sandve
9d2f26f7e8 Add support for gpmaint 2021-09-07 08:52:52 +02:00
Arne Morten Kvarving
a9b97d4286
Merge pull request #3507 from joakim-hove/add-runspec
Add Runspec argument to restart loader
2021-09-06 17:18:46 +02:00
Arne Morten Kvarving
86a3a1bac7 drop unused using statements 2021-09-06 15:48:41 +02:00
Arne Morten Kvarving
2b1ac22c99 drop aliases for Indices entries
using Indices directly more clearly shows where the data comes
from without having to hop through hoops to do so.
2021-09-06 12:49:01 +02:00
Joakim Hove
3e66fc9555 Add Runspec argument to restart loader 2021-09-04 19:35:53 +02:00
Joakim Hove
2b3f3bf630 Use Group instance to check for available controls 2021-09-02 22:23:21 +02:00
Arne Morten Kvarving
935ba190c9
Merge pull request #3503 from blattms/fix-seg-build
[bugfix] Fix sequential run after #979
2021-09-02 14:21:26 +02:00
Markus Blatt
598e9fa102 [bugfix] Fix sequential run after #979
Definition of the communicator was moved inside a
`#if HAVE_MPI` there. This commit queries the
communicator again below to fix this.
2021-09-02 13:12:23 +02:00
Bård Skaflestad
a8e8739feb
Merge pull request #3499 from blattms/fix-segfault-unknown-keyword-parallel
[bugfix] Prevent segmentation fault for unkown keywords in parallel.
2021-09-02 11:31:10 +02:00
Markus Blatt
edd6c6fe85 [bugfix] Prevent segmentation fault for unkown keywords in parallel.
If there are unknown keywords and the parser throws an exception
then we nevertheless broadcasted the eclipseState and schedule.
Unfortunately, these might be null pointers in this case and
the serializer will run into a segmentation fault (e.g. when
serializing the non-existent TableManager)

Broadcasting is now only done if parsing was successful.
2021-09-02 11:14:46 +02:00
Joakim Hove
bb23993556 Add GPMaint::State member to GroupState 2021-09-01 21:36:13 +02:00
Bård Skaflestad
fcdb4c33ea
Merge pull request #3496 from goncalvesmachadoc/radial
add radial case to regression test
2021-09-01 12:14:22 +02:00
Cintia Goncalves Machado
b675d86aa8 add radial to regression test 2021-09-01 00:13:02 +02:00
Joakim Hove
7bb3dba310 Special case wells with no open connections in ParallelWellInfo 2021-08-31 17:31:45 +02:00
Tor Harald Sandve
7c8a39fdb6 fix after rebase 2021-08-26 10:32:58 +02:00
Tor Harald Sandve
514c2a67a9 always compute potentials 2021-08-26 10:29:25 +02:00
Tor Harald Sandve
7e3cca1316 iterate to get more accurate potentials for stw wells 2021-08-26 10:29:25 +02:00
Tor Harald Sandve
c4c0173d2b
Merge pull request #3486 from totto82/handleTrivialGR
always return fraction 1.0 if only one well is under group control
2021-08-26 10:09:55 +02:00
Tor Harald Sandve
002256a045 return fraction 1.0 if only one well under group control even in cases where the guide rate is zero 2021-08-26 08:27:06 +02:00
Joakim Hove
1a02ac7bd5
Merge pull request #3487 from joakim-hove/single-well-state
Single well state
2021-08-25 14:27:41 +02:00
Arne Morten Kvarving
fc3e4ab5bc avoid unused variable warning 2021-08-25 08:28:57 +02:00
Joakim Hove
060eac4999 Add basic functionality for validating special case keywords 2021-08-24 13:50:40 +02:00
Joakim Hove
94d12e1230 Remove unused variable 2021-08-24 13:25:02 +02:00
Joakim Hove
5a721b8cd2 Remove WellMap from WellState 2021-08-24 13:25:02 +02:00
Joakim Hove
8f9e7d8e96 Add method PerfData::empty() 2021-08-24 12:46:24 +02:00
Joakim Hove
579aba8d08 Include perforation data in SingleWellState 2021-08-24 12:46:24 +02:00
Joakim Hove
46f45e3999 Add PerfData member to SingleWellState 2021-08-24 12:46:24 +02:00
Joakim Hove
8b652c821b Use SingleWellState for reservoir rates 2021-08-24 12:46:24 +02:00
Joakim Hove
755de65eb4 Use SingleWellState to manage well surface rates 2021-08-24 12:46:24 +02:00
Joakim Hove
8937c9cba9 Refactor sumWellRates to accept bool argument 2021-08-24 12:46:24 +02:00
Bård Skaflestad
725800cec7
Merge pull request #3488 from totto82/fixOnePhase
guards for one-phase flow
2021-08-24 12:20:52 +02:00
Tor Harald Sandve
0b1a909ee2 guards for one-phase flow 2021-08-24 12:06:03 +02:00
Tor Harald Sandve
8e23a2b88d
Merge pull request #3476 from totto82/changeDefaultInner
Change default MaxNewtonIterationsWithInnerWellIterations to 8
2021-08-24 10:29:03 +02:00
Joakim Hove
77a9fd352b Add SegmentState member to SingleWellState 2021-08-23 13:17:24 +02:00
Joakim Hove
67bd2fd333 Add productivity_index to SingleWellState 2021-08-23 12:05:26 +02:00
Joakim Hove
2f504536f4 Add well potentials to SingleWellState 2021-08-23 12:05:26 +02:00
Joakim Hove
e84eaa3179 Add dissolved_gas_rate and vaporized_oil_rate to SingleWellState 2021-08-23 12:05:26 +02:00
Joakim Hove
baeeb34508 Merge two perforation data members in WellState 2021-08-23 12:05:26 +02:00
Tor Harald Sandve
97d82cb97a
Merge pull request #3481 from totto82/fixTracer
fix case where wells are shut behind our back
2021-08-20 09:00:17 +02:00
Bård Skaflestad
ec264159b1 Load Analytical Aquifers from Restart File
This commit activates the restart support for analytical aquifers.
Analytic aquifer keywords do not exist in the input file for
restarted runs since the 'SOLUTION' section is empty apart from from
the 'RESTART' specification.

We use the 'RestartIO::Aquifer' class to load the information from
the restart file and then assign this information to the
AquiferConfig object hosted by the EclipseState.  Loading Schedule
information from the restart file is still contingent on the
'--sched-restart=false' command line setting.
2021-08-19 21:07:05 +02:00
Bård Skaflestad
bbb0c7f263 Add Restart Support for Numerical Aquifers
We assign cumulative production only on the process that connects to
the reservoir model.  As a tiny optimisation, we return 0.0 early
as the aquifer flux on processes that do not connect to the
reservoir.
2021-08-19 21:07:05 +02:00
Bård Skaflestad
a0af111bd8 Reduce Restarted Cumulative Volume if Aquifer Split
If, in a restarted run, a single analytical aquifer object happens
to connect to the reservoir model from multiple separate MPI
processes we must not attribute the full historic cumulative water
production from the aquifer to each process.

This commit makes a rough estimate based on the connection areas of
how much of the total cumulative production is attributable to each
process and reduces the restart value using that fraction.  This is,
at best, a hack but it is currently the best we can do with the
information available in the restart files.  Complete fidelity will
entail tracking cumulative production at the connection level.
2021-08-19 21:07:05 +02:00
Bård Skaflestad
913033b78f Add Restart Support to Carter-Tracy Analytical Aquifer 2021-08-19 21:07:05 +02:00
Bård Skaflestad
fde505562d Fetkovich: Load Water Density From Restart Source
Needed to get proper gravity contributions in restarted runs.
2021-08-19 21:07:05 +02:00
Tor Harald Sandve
295f41ba2b
Merge pull request #3464 from totto82/fixGEFF
Fixes related to GEFAC
2021-08-19 19:06:55 +02:00
Tor Harald Sandve
31ac5378cf fix case where wells are shut behind our back 2021-08-19 13:08:33 +02:00
Bård Skaflestad
bee8ee1c00
Merge pull request #3461 from GitPaean/RateConverter_singlewater_phase
consindering the situation of single water phase for RateConverter

Closes #3463.
2021-08-19 10:52:01 +02:00
Tor Harald Sandve
bc70fd5540 This basically reverts changes applied in PR 3095.
With this gefac is only applied with accumulating rates from the level below
2021-08-19 08:16:25 +02:00
Tor Harald Sandve
0f58343c48 Change default MaxNewtonIterationsWithInnerWellIterations to 8 2021-08-18 08:41:37 +02:00
Bård Skaflestad
517db198f8 Report Guiderate Values in Strict SI Units
The output layer expects its input values to be strictly SI, but we
know that the GuideRate container's values are in output units.
2021-08-17 16:07:45 +02:00
Bård Skaflestad
6da47344a3 Record New Supported Keywords
We recently added support for

  * RPTONLY
  * RPTONLYO
  * SUMTHIN
2021-08-17 10:29:36 +02:00
Joakim Hove
581f571c9d Use SingleWellState for production and injection control 2021-08-15 09:07:39 +02:00
Joakim Hove
c381459804 Add Events member to SingleWellState 2021-08-15 09:03:14 +02:00
Joakim Hove
379e938ee1 Add status to SingleWellState 2021-08-15 09:03:14 +02:00
Joakim Hove
75eb65efb7 Use WellState::wells_ to infer well name 2021-08-15 09:01:21 +02:00
Joakim Hove
d5ab308fbd Add temperature to SingleWellState 2021-08-15 09:01:21 +02:00
Joakim Hove
1dd9b91ad3 Add member "bool producer" to SingleWellState 2021-08-15 09:01:21 +02:00
Joakim Hove
a54daf75e8 Add trivial class SingleWellState with bhp and thp 2021-08-15 09:01:21 +02:00
Arne Morten Kvarving
1ef981f35c use RAII for MPI initialization 2021-08-12 13:20:59 +02:00
Arne Morten Kvarving
d99f642dff add collective communication to generic vanguard 2021-08-12 12:08:43 +02:00
Tor Harald Sandve
ac4ee51a5f
Merge pull request #3465 from totto82/updateWTS
Make sure potentials are computed in some corner cases
2021-08-10 14:15:22 +02:00
Tor Harald Sandve
a8fa2d74ef
Merge pull request #3420 from totto82/removeDerivate
remove derivatives from well rate computations
2021-08-09 15:48:38 +02:00
Tor Harald Sandve
5cb81d36c9 re-compute potentials for pressure controlled wells with trivial rates 2021-08-09 13:41:50 +02:00
Tor Harald Sandve
cf61417b6d move update well test state to after potentials are calculated 2021-08-09 13:21:10 +02:00
Joakim Hove
2ac65d97d2
Merge pull request #3457 from akva2/janitoring
mark variables [[maybe_unused]]
2021-08-07 16:36:03 +02:00
Kai Bao
c85bc24f54 consindering the situation of single water phase for RateConverter 2021-08-05 00:13:13 +02:00
Joakim Hove
f01cf74591 Merge two perforation data members in WellState 2021-08-04 16:48:18 +02:00
Tor Harald Sandve
153cd678c6 Add a derivative free version of the well rate calculations 2021-08-04 11:32:50 +02:00
Arne Morten Kvarving
08e950686f use .empty() instead of .size() comparisons 2021-08-04 09:19:03 +02:00
Arne Morten Kvarving
8d40860b0b mark variables [[maybe_unused]] 2021-08-04 08:44:03 +02:00
Joakim Hove
1cbc096d20
Merge pull request #3450 from joakim-hove/small
Small
2021-08-03 18:08:33 +02:00
Joakim Hove
d5f2b02716 Check production and injection constraints separately 2021-08-03 14:39:39 +02:00
Joakim Hove
6542a62cc0
Merge pull request #3452 from joakim-hove/constraint-bug
BUG? Make sure WellState injection control is updated
2021-08-03 14:38:20 +02:00
Joakim Hove
ea4cf8d28f
Merge pull request #3428 from akva2/remove_altidx
remove ebos_altidx
2021-08-03 14:10:00 +02:00
Joakim Hove
c70f63b99b Make sure WellState injection control is updated 2021-08-03 13:54:59 +02:00
Tor Harald Sandve
43d129861f
Merge pull request #3454 from plgbrts/gw1
adjustments needed for gas-water system
2021-08-03 12:01:34 +02:00
Kai Bao
5e74466aed
Merge pull request #3445 from plgbrts/rateconvfixed
Rateconvfixed
2021-08-03 00:07:19 +02:00
Arne Morten Kvarving
78c5675daf changed: get rid of OPM_UNUSED macro usages
prefer anonymous parameters or c++17 [[maybe_unused]]
2021-08-02 14:55:41 +02:00
Paul Egberts
a80894d679 using if constexpr () 2021-08-02 13:39:55 +02:00
Paul Egberts
8e8f6c5ff2 fix compositionSwitchEnabled declaration. For gas-water it is disabled 2021-08-01 21:02:07 +02:00
Paul Egberts
70d43fbefc using has_wfrac(gfrac)_variable logic, In case of gas-water system GFrac is primary variable index 2021-08-01 20:51:28 +02:00
Paul Egberts
5be63a59e0 Introduction of has_wfrac(gfrac)_variables analogue to multisegmentwell implementation 2021-08-01 20:40:04 +02:00
Paul Egberts
367c762a06 moved WFrac, GFrac definition to StandardWellEval.hpp 2021-08-01 20:36:05 +02:00
Paul Egberts
d5653d9ca2 removed exit failure for gas-water system 2021-08-01 18:11:56 +02:00
Paul Egberts
e25b78f106 fix for relative change calculation for gas-water system 2021-08-01 18:09:54 +02:00
Paul Egberts
25393cddee removed throw for water-gas system 2021-08-01 17:57:08 +02:00
Joakim Hove
e01910adc2 Add methods WellState::size() and WellState::producer() 2021-07-26 14:21:50 +02:00
Joakim Hove
a39fcc9708 Set WellState::thp when loading restart file 2021-07-26 13:07:12 +02:00
Joakim Hove
057db0ec0e Add method WellState::name() 2021-07-26 13:07:12 +02:00
Paul Egberts
0efe03497a some clean up 2021-07-23 16:41:50 +02:00
Paul Egberts
92f7b19594 delete head message 2021-07-23 16:41:50 +02:00
Paul Egberts
a813d9e875 fix for the situation that hydrocarbon consist only of gas 2021-07-23 16:41:50 +02:00
Markus Blatt
ea4e4a1520
Merge pull request #3346 from Tongdongq/amgcl-support
Amgcl support
2021-07-21 15:02:25 +02:00
Bård Skaflestad
48e1af8bbe Address Static Code Analysis Warnings
In particular, don't print uninitialized memory (Reorder.cpp:left)
and don't capture objects ('prm') that aren't actually used.  While
here, refactor the initialization of the MT19937 random number
generator.  Constructing this object is too expensive to do for each
try, especially when we can just run the generator in place.
2021-07-13 11:37:57 +02:00
OPMUSER
272ae1c8f8 Minor updates
Delete time stamp
update WCONPROD, TRACER and TRACERS
2021-07-10 14:05:33 +08:00
OPMUSER
22a2720e5a Partially Supported Keywords Validation
All keywords that can be checked with the existing validation frame work. All failures will continue, even if the message says "will STOP". The only exception is GUIDERAT(2) as parser check results in the STOP; however, this going to change so the STOP will happen with this code.

Comments and agreement between continue and STOP actions appreciated-
2021-07-10 14:05:33 +08:00
OPMUSER
741fddc2f7 Update UnsupportedFlowKeywords with Some Output Comments
Just minor changes to the output strings for better clarity.
2021-07-10 14:05:33 +08:00
OPMUSER
82834c0a3b Unsupported Keywords: Fix RVCONST add ROCKOPTS
Added ROCKOPTS to unsupported keyword list, as there are no opm-test examples, is this correct?

If ROCKOPTS is supported what is supported?
2021-07-10 14:05:33 +08:00
Tong Dong Qiu
796d1b7f8a Allow to choose a platform and device when using amgcl with VexCL 2021-07-09 17:03:11 +02:00
Tong Dong Qiu
0ee6b58fb0 Only initialize VexCL once 2021-07-09 15:39:35 +02:00
Tong Dong Qiu
b0749ce7d4 Use default parameters if json file does not specify all.
Throw exception if json file cannot be parsed.
2021-07-09 14:07:55 +02:00
Atgeirr Flø Rasmussen
3253a79693 Instantiate pack etc. for new integer type.
The std::uint_fast64_t is used in WriteRestartFileEvents, from
opm-common.
2021-07-08 17:55:28 +02:00
Tong Dong Qiu
f77d745b51 Factor out CUDA part of amgclSolver 2021-07-07 16:24:52 +02:00
Tong Dong Qiu
b2156a4edc Remove unused variable warnings 2021-07-07 16:24:52 +02:00
Tong Dong Qiu
b28c96699b Combine blocked and unblocked VexCL implementations 2021-07-07 16:24:52 +02:00
Tong Dong Qiu
5306ae6a60 Allow VexCL to use unblocked matrices 2021-07-07 16:24:52 +02:00
Tong Dong Qiu
47ffeaf24a Allow VexCL to use runtime parameters 2021-07-07 16:24:52 +02:00
Tong Dong Qiu
b4eb711c71 Enable the VexCL backend, disabled for blocksize=1 2021-07-07 16:24:52 +02:00
Tong Dong Qiu
a3d8d6655f Added enum for amgcl_backend_type 2021-07-07 16:24:52 +02:00
Markus Blatt
adc2bf46b9 Search for VexCL and create an imported target.
Unfortunately, we cannot us the imported targets. They add some compile
parameters using generator expressions based on the CXX_COMPILER_ID.
While we are using the system CXX compiler for most of the stuff, some
cuda code is compiled with nvcc which at least for some versions does
not support -Wno-catch-value (which gets passed as normal compiler
option).
2021-07-07 16:24:52 +02:00
Tong Dong Qiu
d45f9d08f7 Allow amgcl without CUDA 2021-07-07 16:24:52 +02:00
Tong Dong Qiu
e556124405 Allow to choose amgcl backend at runtime, added default amgcl params 2021-07-07 16:24:52 +02:00
Tong Dong Qiu
282f611f92 Make sure amgcl can be used without CUDA 2021-07-07 16:24:52 +02:00
Tong Dong Qiu
3c1bfeb72f Let amgcl use runtime parameters via JSON file 2021-07-07 16:24:52 +02:00
Tong Dong Qiu
a23d881817 Reuse amgcl parameters 2021-07-07 16:24:51 +02:00
Tong Dong Qiu
47e2899ba8 Moved amgcl declarations to header 2021-07-07 16:24:51 +02:00
Tong Dong Qiu
7c7911b9bc Allow to use amgcl when CUDA and OpenCL are not found 2021-07-07 16:24:51 +02:00
Tong Dong Qiu
c2869810e2 Added amgclSolverBackend 2021-07-07 16:24:51 +02:00
Tong Dong Qiu
5918c64b54 Add useWellConn parameter to WellContributions() 2021-07-07 16:24:51 +02:00
Bård Skaflestad
2627a05c1e
Merge pull request #3433 from osae/tracerDefaultTrue
Default activation of tracer model.
2021-07-07 11:54:28 +02:00
Ove Sævareid
738877fc1b Default activation of tracer model. 2021-07-06 17:06:10 +02:00
Arne Morten Kvarving
8443306fb6 remove ebos_altidx
building a whole simulator for this, and then not even
running a test for it, seems rather excessive. if a test for
index-conformance is wanted, a better approach should be taken.
2021-07-05 13:17:13 +02:00
Joakim Hove
c62a9ba198 Set external UDQState for flow blackoil 2021-07-04 08:55:07 +02:00
Joakim Hove
2b680f27af Load udq state results from restart file 2021-07-03 10:08:25 +02:00
Bård Skaflestad
bbd8beb822
Merge pull request #3423 from joakim-hove/set-udq-state
Assemble UDQState external to the vanguard
2021-07-02 23:53:11 +02:00
Markus Blatt
ef8bd1861f
Merge pull request #3425 from akva2/nullopt
changed: use std::nullopt
2021-07-01 15:31:09 +02:00
Markus Blatt
8d0a254211
Merge pull request #3364 from blattms/flexible-solver-determine-pressure-idx-from-model
Determine index of pressure from model used to increase usability
2021-07-01 15:22:50 +02:00
Tor Harald Sandve
65f207836b
Merge pull request #3421 from totto82/compPotNW
compute potentials for newly opened wells due to testing
2021-07-01 12:08:13 +02:00
Arne Morten Kvarving
b0a2fc8a67 changed: use std::nullopt
the alternative causes some compilers to emit uninitialized
use warnings
2021-07-01 09:00:56 +02:00
Joakim Hove
528078e8e1 Assemble UDQState external to the vanguard 2021-07-01 08:24:59 +02:00
Bård Skaflestad
4392cc8713 Don't Access Phase Rates Unless Active
Fixes two-phase Oil/Water runs.  Probably needs more refinement
later.
2021-06-30 17:21:52 +02:00
Tor Harald Sandve
a00c42c673 compute potentials for newly opened wells due to testing 2021-06-30 13:13:56 +02:00
Bård Skaflestad
5ddac2e8d5
Merge pull request #3406 from GitPaean/new_fixing_guide_rate_update_together
[new attempt] updating the guide rates for all the wells and groups at the same time
2021-06-30 12:40:45 +02:00
Tor Harald Sandve
60f59cd6e6 Potentially reduce gaslift when under well is under group control
Current implemention only support ORAT and GRAT controlled groups
2021-06-30 09:59:09 +02:00
Kai Bao
12fa7a4ac8 putting all the guide rate update function in one single function
to make sure we only do once checking of the expiration of the guide
rates.
2021-06-29 11:41:26 +02:00
Tor Harald Sandve
42dd7ad56d
Merge pull request #3413 from totto82/fixLocalFraction
make sure the newly switched well is included in the local fraction sum
2021-06-28 15:41:45 +02:00
Bård Skaflestad
b79b08e86f
Merge pull request #3414 from OPMUSER/RUNSPEC-GRID
Add GRAVITY keyword to UnsupportedFlowKeywords
2021-06-28 13:26:43 +02:00
OPMUSER
5d9e3811af Add GRAVITY keyword to UnsupportedFlowKeywords
Add GRAVITY keyword to UnsupportedFlowKeywords with message to use DENSITY instead.
2021-06-28 18:11:49 +08:00
Tor Harald Sandve
4aaf86d5ef make sure the current well are included in the local fraction sum 2021-06-28 11:47:13 +02:00
Bård Skaflestad
3fe922b27f
Merge pull request #3404 from OPMUSER/RUNSPEC-GRID
PartiallySupportedKeywords for RUNSPEC and GRID Sections
2021-06-27 17:04:20 +02:00
Bård Skaflestad
71de144399
Merge pull request #3239 from osae/tracer
Tracer summary curves, collect well rates.
2021-06-25 17:48:40 +02:00
Bård Skaflestad
5e883e562c Chase Type Specific Aquifer Data API Change
This commit switches to using the new 'typeData' interface for
representing type-specific aquifer data items.  In particular we use
the new 'typeData.is<>()' and 'typeData.get<>()' member functions to
query and access the data that is specific to each aquifer type
(e.g., Carter-Tracy or numerical).

While here, also expand the reported data items for numerical
aquifers to one initial pressure value for each aquifer cell.  This
is needed for restart purposes.
2021-06-25 09:58:27 +02:00
OPMUSER
7dee294c50 Clean License & Copyright Header
Clean License & Copyright Header - Done
2021-06-25 15:34:19 +08:00
Bård Skaflestad
704c33f08f Chase Restart Loading API Change 2021-06-25 09:11:09 +02:00
OPMUSER
2cf11dfe05 Revised RUNSPEC and GRID PartiallySupportedFlowKeywords.cpp
Revised version for RUNSPEC and GRID partially supported keywords. Fixed miss match with value type and comments etc. Also Trap NUMRES != 1 with STOP if > 1.
2021-06-25 13:17:13 +08:00
OPMUSER
e7b28b1b5f Removed NUMRES from UnsupportedKeywords List
Removed NUMRES from UnsupportedKeywords list and will trap values not equal to 1 in the PartiallySupportedKeyword list. PartiallySupportedKeyword update to follow.
2021-06-25 13:01:29 +08:00
Tor Harald Sandve
0dcd91ac93
Merge pull request #3369 from totto82/grupWellState
handle GRUP in wellState from target
2021-06-24 13:02:24 +02:00
Bård Skaflestad
c101ed10f4
Merge pull request #3389 from totto82/scaleGuideRates
scale guiderates from si
2021-06-23 16:53:12 +02:00
Tor Harald Sandve
5368343512 handle GRUP in wellState from target 2021-06-23 14:46:35 +02:00
OPMUSER
c3fe22a6cf PartiallySupportedKeywords for RUNSPEC and GRID Sections
RUNSPEC and GRID keywords for partially supported keywords
2021-06-23 12:58:35 +08:00
Bård Skaflestad
9394a93c68 Don't Create Well Instance for Wells With No Connections
This commit protects against Opm::Well instances for which the sets
of connections are empty.  In those cases, do not put entries in the
well container as there is no influence on the systems of non-linear
equations.
2021-06-22 20:43:21 +02:00
Bård Skaflestad
e4dd8a91e8 Use Aquifer's Notion of Water Properties
This commit switches to using the analytic aquifer's intrinsic water
properties (i.e., the mass density and the viscosity), and to get
the time constant from the *_data structure instead of calculating
this value with separate logic.  Note that this switches to using a
single density value for the aquifer instead of separate density
values for each aquifer connection.

If the aquifer's initial pressure is defaulted we still compute an
equilibrated initial pressure value.  We then use the *_data
structure's 'finishInitialisation()' member function to derive the
aforementioned PVT properties.

Finally, report these values in the aquifer type-specific sub
structures of data::AquiferData for restart output purposes.
2021-06-22 14:47:56 +02:00
Bård Skaflestad
6d3da3d2e0 Report Pressure Dependent Pore Volume in PRT File
This commit distinguishes the reference condition pore volume from
the dynamic, pressure (and/or temperature) dependent pore volume
value.  Previously we would report the latter as the 'PORV' value in
the "Field Totals" and "FIPNUM region" reports, but this commit
switches to reporting the former instead-mostly for compatibility.
We still report the dynamic pore volume value, but now we report
this on a line of its own, before the table, using one of the forms

Field total pressure dependent pore volume = 12345 RM3
FIPNUM report region 1 pressure dependent pore volume = 123 RM3
2021-06-22 12:00:56 +02:00
Håkon Hægland
dd1ca3197d Add missing header file to GasLiftGroupInfo.cpp
GasLiftGroupInfo.cpp did not include "config.h" which caused HAVE_MPI
to be undefined causing the file to be compiled with
Dune::Communication<No_Comm> instead of with
Dune::Communication<MPI_Comm>. Which later caused linking problems with files
that used MPI.
2021-06-22 09:52:22 +02:00
Bård Skaflestad
7a9c9bedea
Merge pull request #3390 from akva2/janitoring
fixed: do not assert conditions guaranteed by unsigned
2021-06-18 16:52:47 +02:00
Peter Verveer
7be1bce651 Small fix for the keyword validation 2021-06-18 12:12:58 +02:00
Arne Morten Kvarving
592af11e55 avoid include in header
also add include for config.h
2021-06-18 11:43:54 +02:00
Atgeirr Flø Rasmussen
8c5a6b12d5
Merge pull request #3158 from totto82/operability_solve
shut/stop unsolvable wells
2021-06-18 10:13:14 +02:00
Bård Skaflestad
d9f89b4c89
Merge pull request #3366 from totto82/scaleWellRatesAfterGroupSwitching
Scale well rates after group switching
2021-06-18 10:05:00 +02:00
Tor Harald Sandve
c3cf59327d scale guiderates from si 2021-06-17 23:56:02 +02:00
Markus Blatt
2260fde478
Merge pull request #3300 from Tongdongq/add-tests
Added tests for cusparseSolver and openclSolver
2021-06-17 22:31:23 +02:00
Tor Harald Sandve
161c6cb1f8
Merge pull request #3385 from totto82/fixMSWtarget
Change wellStateFromTarget to virtual to make sure the MSW part is run
2021-06-17 13:03:33 +02:00
Tor Harald Sandve
b5e29684f2 shut/stop unsolvable wells 2021-06-17 11:50:31 +02:00
Håkon Hægland
860cfd9fb5 Fix some sign compare warnings. 2021-06-17 10:44:32 +02:00
Tor Harald Sandve
eb4e25c3f6 Change wellStateFromTarget to virtual to make sure the MSW part is run 2021-06-16 15:53:34 +02:00
Håkon Hægland
fbb24e2a5a Check group limits in gas lift stage 1.
Check group limits in gas lift stage 1 to avoid adding too much ALQ which must
anyway later be removed in stage 2. This should make the optimization
more efficient for small ALQ increment values. Also adds MPI support.
2021-06-16 12:00:54 +02:00
Ove Sævareid
33511b45c1 Relegating implementation details. 2021-06-15 17:18:46 +02:00
Ove Sævareid
581408c760 Batchwise tracer calculations. 2021-06-15 17:18:46 +02:00
Tor Harald Sandve
b2341a84d6 scale well rates after group switching 2021-06-15 09:29:24 +02:00
Joakim Hove
969fc20154
Merge pull request #3373 from verveerpj/improve_validation
Add keyword validation using a predicate function
2021-06-15 07:47:37 +02:00
Kai Bao
b415cd4fb8 not comparing guideRate_ with nullptr
it is not a pointer anymore since OPM/opm-simulators#3380
2021-06-15 00:00:43 +02:00
Joakim Hove
0cf158cd15
Merge pull request #3379 from joakim-hove/wellrates-rename-X
Rename data::WellRates -> data::Wells
2021-06-14 18:21:39 +02:00
Peter Verveer
fd753e20c4 Add keyword validation using a predicate function 2021-06-14 18:10:36 +02:00
Joakim Hove
f9618faceb
Merge pull request #3377 from joakim-hove/perf-data-injector
PerfData maintains producre / injector status
2021-06-14 15:53:15 +02:00
Joakim Hove
166907c45d
Merge pull request #3380 from joakim-hove/guiderate-value
Use GuideRate value instead of std::unique_ptr<GuideRate>
2021-06-14 15:52:08 +02:00
Joakim Hove
b1600b904f Rename data::WellRates -> data::Wells 2021-06-14 15:27:56 +02:00
Joakim Hove
193657fee1 Use GuideRate value instead of std::unique_ptr<GuideRate> 2021-06-14 14:35:55 +02:00
Bård Skaflestad
dc7a6018f6
Merge pull request #3381 from akva2/boost_version_include
fixed: add missing include for boost version
2021-06-14 13:29:14 +02:00
Arne Morten Kvarving
54d928583b fixed: add missing include for boost version 2021-06-14 11:50:57 +02:00
Arne Morten Kvarving
86b454f4c8 fixed: initialize to avoid sca warning 2021-06-14 09:26:32 +02:00
Arne Morten Kvarving
6b5c7b66fd fixed: mark methods as override 2021-06-14 09:09:33 +02:00
Arne Morten Kvarving
a84d05c83b fixed: forward classes as classes 2021-06-14 09:09:15 +02:00
Joakim Hove
a22b836b82 PerfData maintains producre / injector status 2021-06-14 09:03:02 +02:00
Joakim Hove
7c133bb0eb
Merge pull request #3374 from joakim-hove/rename-wellrates
Rename data::WellRates -> data::Wells in opm-common
2021-06-13 13:14:03 +02:00
Joakim Hove
454220b9e7 Rename data::WellRates -> data::Wells in opm-common 2021-06-13 08:37:56 +02:00
Joakim Hove
fe5e4a9ac3 Minor renames++ in WellState report 2021-06-11 16:01:25 +02:00
Joakim Hove
2dae87fb74
Merge pull request #3370 from totto82/bugMaxInnerIter
change get param from bool to int
2021-06-11 12:39:45 +02:00
Tor Harald Sandve
96091f4313 change get param from bool to int 2021-06-11 08:09:35 +02:00
Joakim Hove
7a1f71feaa Simplify check for number of perforations 2021-06-10 23:26:51 +02:00
Tor Harald Sandve
5686d90c61
Merge pull request #3350 from totto82/maxNiWi
Change the inner iterations logic
2021-06-10 19:49:23 +02:00
Markus Blatt
db0f19ba88 Determine index of pressure from model used.
Previously, the user had to specify it in the json file read from the
FlexibleSolver or 1 was used. Unfortunately, the index depends on the
model used and it seem rather opaque to a user what that index is.

With this commit we determine the pressure index from the model.
2021-06-10 16:19:18 +02:00
Joakim Hove
3c3a4afcfc Use PerfData for connection productivity index 2021-06-10 14:32:45 +02:00
Joakim Hove
81c5ce8843 Use PerfData for water throughput, water velocity and skin pressure 2021-06-10 14:32:45 +02:00
Joakim Hove
db02b9f112 Use PerfData for solvent perforation rates 2021-06-10 14:27:37 +02:00
Joakim Hove
49e9b51269 Use PerfData for polymer rates 2021-06-10 07:19:21 +02:00
Joakim Hove
3010b96611 Use PerfData for perforation rates 2021-06-10 07:19:21 +02:00
Joakim Hove
76838cd8a4 Use PerfData for perforation pressure 2021-06-10 07:19:21 +02:00
Joakim Hove
4b69d12335 Use PerfData for perforation rates 2021-06-10 07:18:46 +02:00
Joakim Hove
b6318ac017 Add WellContainer<PerfData> to WellState 2021-06-10 07:18:46 +02:00
Joakim Hove
34481e48c3 Add data container PerfData to use in WellState 2021-06-10 07:18:46 +02:00
Bård Skaflestad
ed131190eb
Merge pull request #3353 from akva2/msw_eval
add MultisegmentWellEval
2021-06-10 00:10:31 +02:00
Joakim Hove
1a7c514879
Merge pull request #3359 from joakim-hove/rm-mpi-sum
Use ecl well for total number of connections
2021-06-09 17:13:25 +02:00
Joakim Hove
fc5e2be4e2
Merge pull request #3365 from akva2/wrap_property_tree
Add Opm::PropertyTree
2021-06-09 17:12:38 +02:00
Arne Morten Kvarving
b7e2ad3bfe added: PropertyTree class
this is a thin wrapper around boost::property_tree
with this we avoid parsing property tree headers in all
simulator objects
2021-06-09 15:21:52 +02:00
Arne Morten Kvarving
68fc2b0bc6 add MultisegmentWellEval 2021-06-09 15:17:36 +02:00
Arne Morten Kvarving
29ae002a87 changed: avoid templating in setupPropertyTree
simply pass the required params to function instead.
2021-06-09 12:54:14 +02:00
Bård Skaflestad
72bd3368e7
Merge pull request #3360 from akva2/stdwell_eval
add StandardWellEval
2021-06-09 11:02:52 +02:00
Bård Skaflestad
7add6b33de
Merge pull request #3363 from totto82/fixRESV2
removed dissolved gas and vapporized oil from RESV injection rates
2021-06-09 09:29:19 +02:00
Arne Morten Kvarving
eb06c4bd70 add StandardWellEval 2021-06-09 08:32:30 +02:00
Joakim Hove
b868f87420 Use ecl well for total number of connections 2021-06-08 21:14:16 +02:00
Bård Skaflestad
bb050683f1
Merge pull request #3355 from joakim-hove/remove-first-perf
Remove first perf member from Well classes
2021-06-08 20:47:09 +02:00
Tor Harald Sandve
28a567550b removed dissolved gas and vapporized oil from RESV injection rates 2021-06-08 20:17:01 +02:00
Bård Skaflestad
aa12201ee2
Merge pull request #3362 from akva2/date_time_prune
Avoid boost/date_time in simulator objects
2021-06-08 17:46:34 +02:00
Arne Morten Kvarving
ce01d780cf SimulatorTimerInterface: avoid boost includes in header 2021-06-08 15:44:56 +02:00
Arne Morten Kvarving
14ea3e6dd1 SimulatorFullyIplicitBlackoilEbos: avoid boost includes in header 2021-06-08 15:44:28 +02:00
Arne Morten Kvarving
fce3247c56 AdaptiveTimeSteppingEbos: avoid boost include in header 2021-06-08 15:44:28 +02:00
Arne Morten Kvarving
30d4cbc2f2 AdaptiveSimulatorTimer: void boost includes in header 2021-06-08 15:44:28 +02:00
Arne Morten Kvarving
fcb5d3dd82 SimulatorTimer: avoid boost includes in headers 2021-06-08 15:44:28 +02:00