Bård Skaflestad
1dc3832966
Merge pull request #3540 from hakonhagland/python_set_sched
...
Initialize blackoil simulator from Opm::Schedule shared with Python.
2021-09-23 13:32:31 +02:00
Håkon Hægland
7a394df43f
Include <stdexcept> header to use std::logic_error()
...
And some minor stylistic changes.
2021-09-23 13:13:23 +02:00
Håkon Hægland
4c5245196b
Changed calling convention for shared pointers.
...
Expect non-reference type shared pointers arguments instead of references
to shared pointer. This will make it clear to the caller that the called
function is making a copy of the pointer for its own use and not trying
to modify the original pointer of the caller.
2021-09-22 23:49:13 +02:00
Joakim Hove
f581208fa0
Load Action state from restart file
2021-09-22 12:43:10 +02:00
Joakim Hove
a11e3222bd
Merge pull request #3534 from joakim-hove/use-single-well-state
...
Use single well state
2021-09-22 12:35:15 +02:00
Tor Harald Sandve
b294ea5d8b
Merge pull request #3490 from totto82/targUpdate
...
Update well rates from target during well/group control update
2021-09-22 12:26:29 +02:00
Tor Harald Sandve
a18e3f4136
Merge pull request #3541 from totto82/updateGPmaint
...
update gpmain before not after timestep
2021-09-22 10:42:11 +02:00
Håkon Hægland
5ad65c70ee
Initialize blackoil simulator from schedule shared with Python.
...
Adds a new constructor to Main.hpp that takes shared pointers to Deck,
EclipseState, Schedule, and SummaryConfig. This makes it possible to
share these variables with Python without worrying about lifetime issues
of the underlying C++ objects. For example, a Python script can first
create an opm.io.schedule.Schedule object which is modified from Python.
Then, assume the same Python script creates an
opm.simulators.BlackOilSimulator which is initialized with the same
schedule object. Since the underlying C++ object is a shared pointer,
the Schedule object in Python may go out of scope (get deleted by Python)
without having the C++ schedule object being deleted. And the Python
BlackOilSimulator may continue to be used after the Python Schedule object
has been deleted since it still has a valid C++ schedule object.
2021-09-21 15:52:59 +02:00
Tor Harald Sandve
2f86231b8d
Merge pull request #3531 from totto82/aquctAndCo2Store
...
support aquct and co2store
2021-09-21 14:17:58 +02:00
Tor Harald Sandve
eb4997a011
update gpmain before not after timestep
2021-09-21 14:03:35 +02:00
Joakim Hove
b2ac3eaa59
Merge pull request #3535 from totto82/storePrevWellTestState
...
add well_test_state to WGState
2021-09-21 11:44:58 +02:00
Joakim Hove
30bd1d6314
Merge pull request #3537 from totto82/openWellWtest
...
update status after WTEST
2021-09-21 11:42:22 +02:00
Tor Harald Sandve
50cf80910b
support aquct and co2store
2021-09-21 11:08:10 +02:00
Tor Harald Sandve
cebe557b15
Merge pull request #3536 from totto82/scalarMobIPR
...
use getMobilityScalar in updateIPR
2021-09-21 11:05:50 +02:00
Tor Harald Sandve
a650b529d1
commit WGstate after shut well from outside
2021-09-21 11:05:03 +02:00
Tor Harald Sandve
30592c7593
update status after WTEST
2021-09-21 10:32:56 +02:00
Tor Harald Sandve
21942f0cc2
use getMobilityScalar in updateIPR
2021-09-21 09:50:20 +02:00
Tor Harald Sandve
6fa9c05985
add well_test_state to WGState to be able to access last valid wellTestState
2021-09-21 09:30:02 +02:00
Tor Harald Sandve
c6660f0aa2
only update when control is changed
2021-09-21 08:53:25 +02:00
Tor Harald Sandve
9db6b2b946
handle unoperable wells
...
set potentials and rates to zero
2021-09-21 08:53:25 +02:00
Tor Harald Sandve
dc4436961f
update well rates from target
2021-09-21 08:53:25 +02:00
Joakim Hove
0472bc3bf2
Remove unused argument
2021-09-20 11:45:24 +02:00
Joakim Hove
5531120411
Use SingleWellState argument instead of full WellState
2021-09-20 11:45:24 +02:00
Joakim Hove
357540bfca
Create Action::State external to the vanguard
2021-09-19 10:17:58 +02:00
Bård Skaflestad
a8078ed695
Merge pull request #3528 from blattms/parallel-throw-untabulated
...
bugfix: Detect exception during beginReportStep in parallel & abort
2021-09-15 22:41:04 +02:00
Bård Skaflestad
90520f248f
Merge pull request #3527 from totto82/fixNupcol
...
pass updated well rates totarget reduction not the nupcol ones
2021-09-15 21:44:14 +02:00
Markus Blatt
b056557f57
bugfix: Detect exception during beginReportStep in parallel a. abort
...
Previously, exceptions happening at this stage have deadlocked
flow. E.g. UniformTabulated2DFunction in opm-material throws
a NumericalIssue if the values passed are outside the tabulated
reason. This function is e.g. called in 2-phase CO2-storage cases
during BlackoilModel::initializeWellState
BTW: This is only the first step as it is not very user friendly that
a simulation aborts at this (late) stage.
2021-09-15 20:50:49 +02:00
Tor Harald Sandve
bd066d9300
Merge pull request #3524 from totto82/speedUpPot
...
Do not iterate inside computeBhpFromThp in MSW
2021-09-15 12:44:52 +02:00
Tor Harald Sandve
dd454063d4
pass updated well rates totarget reduction not the nupcol ones + cleanup
2021-09-15 09:47:31 +02:00
Tor Harald Sandve
8e9a43c29b
Merge pull request #3512 from totto82/relaxStw
...
add option for relaxed convergence for stw
2021-09-15 07:56:12 +02:00
Bård Skaflestad
1dc9cf755e
Merge pull request #3492 from blattms/dune-2.8
...
Fixes and removes deprecation warnings for Dune 2.8
2021-09-14 21:11:25 +02:00
Tor Harald Sandve
81d9a8c178
add option for relaxed convergence for stw
2021-09-14 14:32:14 +02:00
Tor Harald Sandve
49dfe1006f
cleanup
2021-09-13 15:11:38 +02:00
Tor Harald Sandve
43a858ef25
rename computeBhpFromThpPotential to computeBhpFromThpIterations in std wells
2021-09-13 14:07:21 +02:00
Tor Harald Sandve
c8a59946e3
avoid iter in computeBhpFromThp
2021-09-13 14:01:56 +02:00
Tor Harald Sandve
a799c6fc8c
Merge pull request #3522 from totto82/scalarPerfRate
...
make scalar version of computePerfRate for MSW
2021-09-13 13:39:47 +02:00
Markus Blatt
c84b55c452
Fixes ILU for Dune 2.8
...
We got compile errors like:
/home/build/opm-simulators/opm/simulators/linalg/FlexibleSolver1.cpp:24:1: required from here
/usr/include/dune/istl/ilu.hh:140:29: error: 'double' is not a class, struct, or union type
without this patch.
Hence we use the new internal ILU functions if available.
2021-09-13 12:25:49 +02:00
Tor Harald Sandve
bc1bc90504
Merge pull request #3520 from totto82/fixAssertGaslift
...
oil target may be limited by LRAT as well
2021-09-13 11:32:43 +02:00
Tor Harald Sandve
09cf878649
Merge pull request #3521 from totto82/avoidAvg
...
only compute fip avg pressure when gpmaint
2021-09-13 11:32:24 +02:00
Tor Harald Sandve
972a832d65
make scalar version of computePerfRate
2021-09-13 09:36:16 +02:00
Joakim Hove
53755bcfa6
Merge pull request #3515 from joakim-hove/add-parser-argument
...
Add Parser argument to restart loader
2021-09-10 16:27:56 +02:00
Tor Harald Sandve
f203c2106e
only compute fip avg pressure when gpmaint
2021-09-10 15:49:02 +02:00
Tor Harald Sandve
a550400fa0
Continue on solver convergence failure
2021-09-10 13:49:20 +02:00
Tor Harald Sandve
305de4016e
oil target may be limited by LRAT as well
2021-09-10 13:19:07 +02:00
Bård Skaflestad
e866f1f705
Merge pull request #3516 from akva2/drop_using_statements
...
Drop using statements
2021-09-09 16:00:24 +02:00
Joakim Hove
eeab23ebab
Add Parser argument to restart loader
2021-09-09 15:08:14 +02:00
Atgeirr Flø Rasmussen
d1bfd48b6e
Add missing include for unordered_map.
2021-09-09 12:17:54 +02:00
Arne Morten Kvarving
ce4028b2f0
drop using statement for getAllowCrossFlow
...
rather qualify member function calls with this->
2021-09-09 11:53:48 +02:00
Arne Morten Kvarving
7609f7e1f7
drop using statement for ebosCompIdxToFlowCompIdx
...
rather qualify member function calls with this->
2021-09-09 11:53:35 +02:00
Arne Morten Kvarving
36cec80269
drop using statement for flowPhaseToEbosPhaseIdx
...
rather qualify member function calls with this->
2021-09-09 11:53:35 +02:00
Arne Morten Kvarving
d2fb4f3266
drop using statement for flowPhaseToEbosCompIdx
...
rather qualify member function calls with this->
2021-09-09 11:53:35 +02:00
Arne Morten Kvarving
fc882fbc29
drop using statement for name
...
rather qualify member function calls with this->
2021-09-09 11:53:35 +02:00
Arne Morten Kvarving
ddf621acdd
drop using statement for phaseUsage
...
rather qualify member function calls with this->
2021-09-09 11:53:35 +02:00
Arne Morten Kvarving
824232b7c9
drop using statement for ipr_b_
...
rather qualify member variable with this->
2021-09-09 11:53:35 +02:00
Arne Morten Kvarving
115cfe26df
drop using statement for ipr_a_
...
rather qualify member variable with this->
2021-09-09 11:53:35 +02:00
Arne Morten Kvarving
14273b8c2d
drop using statement for connectionRates_
...
rather qualify member variable with this->
2021-09-09 11:53:35 +02:00
Arne Morten Kvarving
15b4ea672f
drop using statement for num_components_
...
rather qualify member variable with this->
2021-09-09 11:53:35 +02:00
Arne Morten Kvarving
9970fb4ab4
drop using statement for perf_depth_
...
rather qualify member variable with this->
2021-09-09 11:53:35 +02:00
Arne Morten Kvarving
78a4aa3ede
drop using statement for gravity_
...
rather qualify member variable with this->
2021-09-09 11:53:34 +02:00
Arne Morten Kvarving
5c3e13abd5
drop using statement for well_efficiency_factor_
...
rather qualify member variable with this->
2021-09-09 11:53:34 +02:00
Arne Morten Kvarving
4a0aa788ee
drop using statement for saturation_table_number_
...
rather qualify member variable with this->
2021-09-09 11:53:34 +02:00
Arne Morten Kvarving
b34808895a
drop using statement for well_index_
...
rather qualify member variable with this->
2021-09-09 11:53:34 +02:00
Arne Morten Kvarving
bfb7d2a466
drop using statement for param_
...
rather qualify member variable with this->
2021-09-09 11:53:34 +02:00
Arne Morten Kvarving
6f4f41f080
drop using statement for well_cells_
...
rather qualify member variable with this->
2021-09-09 11:53:34 +02:00
Arne Morten Kvarving
d10fa061c3
drop using statement for number_of_phases_
...
rather qualify member variable with this->
2021-09-09 11:53:34 +02:00
Arne Morten Kvarving
72b14cf07e
drop using statement for number_of_perforations_
...
rather qualify member variable with this->
2021-09-09 11:53:34 +02:00
Arne Morten Kvarving
aa389ff4f8
drop using statement for ref_depth_
...
rather qualify member variable with this->
2021-09-09 11:53:34 +02:00
Arne Morten Kvarving
0f6e07676e
drop using statement for well_ecl_
...
rather qualify member variable with this->
2021-09-09 11:53:34 +02:00
Arne Morten Kvarving
af745f26ef
drop unused using statements
2021-09-09 11:53:33 +02:00
Tor Harald Sandve
ea392b58ce
Merge pull request #3514 from totto82/fixEmptyRegion
...
Handle empty region in average calculator
2021-09-09 09:06:00 +02:00
Tor Harald Sandve
a1e70711a6
Handle empty region in average calculator
2021-09-09 08:17:45 +02:00
Bård Skaflestad
42f86ce2c4
Merge pull request #3511 from akva2/drop_using_statements
...
Drop using statements
2021-09-08 20:59:09 +02:00
Tor Harald Sandve
3b7cf9a565
Merge pull request #3506 from totto82/relaxWell
...
relax well convergence for the last newton iterations
2021-09-08 10:46:14 +02:00
Tor Harald Sandve
f3513a31eb
add option for relaxed well convergence for the last netwon iterations
2021-09-08 09:58:14 +02:00
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
Arne Morten Kvarving
04e856f831
SimulatorTimer: mark methods override
2021-06-08 15:32:58 +02:00
Arne Morten Kvarving
2460d950b1
remove unused boost include
2021-06-08 15:17:18 +02:00
Arne Morten Kvarving
a0dea4d58f
remove unused method
2021-06-08 15:10:11 +02:00
Joakim Hove
023edc67e5
Remove first perf member from Well classes
2021-06-08 14:24:26 +02:00
Arne Morten Kvarving
c623fba017
add MultisegmentWellGeneric
...
avoid rebuilding this for all simulators when code
is only dependent on Scalar. instanced for double
2021-06-08 10:43:10 +02:00
Arne Morten Kvarving
10ff86af52
add StandardWellGeneric
...
avoid rebuilding this for all simulators when code
is only dependent on Scalar. specialized for double
2021-06-08 08:08:50 +02:00
Bård Skaflestad
6c1ca7450f
Merge pull request #3282 from akva2/blackoilwellmodel_generic_split
...
split out typetag independent code from BlackoilWellModel
2021-06-07 22:13:36 +02:00
Bård Skaflestad
4767311f76
Merge pull request #3334 from akva2/wellif_further_split
...
Further splitting in WellInterface
2021-06-07 21:41:12 +02:00
Arne Morten Kvarving
0ef68b452a
BlackoilWellModel: move runWellPIScaling to generic class
2021-06-07 15:01:10 +02:00
Arne Morten Kvarving
7219f09fdc
BlackoilWellModel: mutate well_container_ directly in createWellContainer
2021-06-07 14:49:41 +02:00
Arne Morten Kvarving
2c5942595c
BlackoilWellModel: put well container init in a separate method
2021-06-07 14:35:34 +02:00
Arne Morten Kvarving
30a59cd190
BlackoilWellModel: move updateWellPotentials to generic class
2021-06-07 14:22:30 +02:00
Arne Morten Kvarving
004abd942b
BlackoilWellModel: put code for computing potentials in separate method
2021-06-07 14:09:36 +02:00
Arne Morten Kvarving
b0b0ae20d3
BlackoilWellModel: move some glift stuff to generic class
2021-06-07 13:36:22 +02:00
Arne Morten Kvarving
2b9141035e
BlackoilWellModel: move setRepRadiusPerfLength to generic class
2021-06-07 13:36:17 +02:00
Arne Morten Kvarving
c5fae280f3
bring setWSolvent closer to original code
...
by introducing a getter for generic wells
2021-06-07 13:04:29 +02:00
Arne Morten Kvarving
60e7c90b1e
BlackoilWellModel: move calculateEfficiencyFactors to generic class
2021-06-07 12:56:45 +02:00
Arne Morten Kvarving
811afb854b
BlackoilWellModel: move updateNetworkPressures to generic class
2021-06-07 12:46:14 +02:00
Arne Morten Kvarving
172d344ab2
BlackoilWellModel: move inferLocalShutWells to generic class
2021-06-07 12:32:01 +02:00
Arne Morten Kvarving
ad4b34dc30
BlackoilWellModel: move forceShutWellByNameIfPredictionMode to generic class
2021-06-07 12:25:04 +02:00
Arne Morten Kvarving
54ff1c4c45
BlackoilWellModel: move hasTHPConstraints to generic class
2021-06-07 12:20:49 +02:00
Arne Morten Kvarving
cf6a3801fb
keep a vector of WellInterfaceGeneric* in BlackoilWellModelGeneric
...
these points to the same objects as well_container_
2021-06-07 12:15:36 +02:00
Arne Morten Kvarving
059140f2ee
split out typetag independent code from BlackoilWellModel
2021-06-07 12:04:06 +02:00
Tong Dong Qiu
74b46e4d8d
Added tests for cusparseSolver and openclSolver
2021-06-07 11:40:03 +02:00
Tong Dong Qiu
0e63cda518
Instantiate whole class instead of each function
2021-06-07 11:40:03 +02:00
Bård Skaflestad
a3ce4a11e0
Merge pull request #3349 from totto82/fixRESVgconinje
...
Scale target with resv conversion factor
2021-06-07 09:39:52 +02:00
Arne Morten Kvarving
4c09b5dde3
add WellInterfaceEval
2021-06-07 08:26:43 +02:00
Arne Morten Kvarving
29842ff9a2
add WellInterfaceIndices
...
while not a lot of class in this layer, having it helps
in downstream well code.
2021-06-07 08:26:43 +02:00
Arne Morten Kvarving
1fb68c59e2
changed: move fluidsystem-only dependent method to WellInterfaceFluidSystem
2021-06-07 08:25:59 +02:00
Bård Skaflestad
87599af8b8
Restore Debug Build
...
Commit 6a21371b5
(PR #3344 ) removed 'num_perf_this_well' but did not
make all requisite changes. Fix an accompanying 'assert' to restore
builds that do not define 'NDEBUG'.
2021-06-06 16:58:42 +02:00
Joakim Hove
e83d4d0dbd
Merge pull request #3336 from joakim-hove/wellpotential_wellcontainer
...
Manage well potentials with WellContainer<>
2021-06-06 08:33:26 +02:00
Arne Morten Kvarving
62bee530cb
MSW: drop unused method
2021-06-05 22:58:57 +02:00
Joakim Hove
32a6f32660
Use WellContainer to manage perf phase rate
2021-06-05 07:50:56 +02:00
Joakim Hove
6a21371b59
Use WellContainer to manage perf phase rates
2021-06-04 18:23:20 +02:00
Joakim Hove
76292552ec
Use WellContainer for perf rate of polymer/solvent/brine
2021-06-04 18:23:20 +02:00
Joakim Hove
104036d4b8
Use WellContainer for perf water velocity
2021-06-04 18:23:20 +02:00
Joakim Hove
a2009b1189
Use WellContainer for perforation throughput
2021-06-04 18:23:20 +02:00
Joakim Hove
b0fd14a597
Use WellContainer<> for perforation skin pressure
2021-06-04 18:23:20 +02:00
Bård Skaflestad
36cd1f51e9
Merge pull request #3305 from akva2/gasliftstage2_cleanups
...
GasLiftStage2: some cleanups
2021-06-04 17:52:47 +02:00
Tor Harald Sandve
3ca6e215dc
Change the inner iterations logic
...
This replace the Boolean switch to enable inner iterations with a
int that controls for which maximum number of newton iterations
inner iterations applies.
Default is set to 3
2021-06-04 10:51:15 +02:00
Joakim Hove
fcc4970337
Merge pull request #3318 from akva2/eclwellmodel_no_default
...
changed: do not set the ebos well model as default type
2021-06-04 09:58:46 +02:00
Tor Harald Sandve
8c9a7db8c9
Scale target with resv conversion factor
2021-06-04 09:27:51 +02:00
Arne Morten Kvarving
6119f11a7a
cosmetics: do not indent for namespace
2021-06-04 09:03:37 +02:00
Arne Morten Kvarving
e8a9158202
GasLiftStage2: drop unnecessary type aliases
2021-06-04 09:03:05 +02:00
Arne Morten Kvarving
c476d07b00
GLiftStage2: use constexpr
2021-06-04 09:00:47 +02:00
Arne Morten Kvarving
078a92dd51
fixed: pass by const ref
2021-06-04 09:00:47 +02:00
Joakim Hove
1285d02873
Merge pull request #3339 from joakim-hove/perf-well-access
...
Perf well access
2021-06-04 08:41:47 +02:00
Joakim Hove
cb800abd05
Merge pull request #3345 from atgeirr/silence-warnings
...
Silence warnings
2021-06-03 17:25:47 +02:00
Joakim Hove
1a6737aff3
Use well index for perforation rates
2021-06-03 13:29:45 +02:00
Joakim Hove
739f6ad28a
Use well index for solvent perf rates
2021-06-03 13:21:23 +02:00
Joakim Hove
a2195f367d
Use well index for brine perf rates
2021-06-03 13:21:23 +02:00
Joakim Hove
fa829cce7a
Use well index for polymer perforation rates
2021-06-03 13:21:23 +02:00
Joakim Hove
f62b0a5d1e
Use well index for well water perf velocity
2021-06-03 13:21:23 +02:00
Joakim Hove
8f9a3f0140
Use Well index for perf skin pressure
2021-06-03 13:21:23 +02:00
Joakim Hove
89ae75b46c
Use well index to access WellState::perfThroughput()
2021-06-03 13:21:23 +02:00
Atgeirr Flø Rasmussen
8e6e1c3d5e
Remove unused PhaseUsage data member.
2021-06-03 13:02:31 +02:00
Joakim Hove
59f36eacc0
Remove WellState::top_segment_index
2021-06-03 10:46:26 +02:00
Joakim Hove
5d8a4c5751
Remove WellState member nseg_
2021-06-03 10:46:26 +02:00
Joakim Hove
f7b1f90c12
Add method SegmentState::size()
2021-06-03 10:46:26 +02:00
Joakim Hove
19ba223c2a
Use SegmentState for segment_number()
2021-06-03 10:46:26 +02:00
Joakim Hove
d3e019fbce
Add private member segment_number to SegmentState class
2021-06-03 10:46:26 +02:00
Joakim Hove
ac12c8b3a4
Use SegmentState for rates
2021-06-03 10:46:26 +02:00
Joakim Hove
357cb11667
Use SegmentState::scale_pressure()
2021-06-03 10:46:04 +02:00
Joakim Hove
eac69061c2
Use SegmentState when copying pressure
2021-06-03 10:46:04 +02:00
Joakim Hove
eb937e8ba2
Use SegmentState as backing store for segment pressure
2021-06-03 10:46:04 +02:00
Joakim Hove
fc185afc02
Initialize pressure in top segment for non MSW well to zero
2021-06-03 10:46:04 +02:00
Joakim Hove
df7d96494b
Add small method SegmentState::scale_pressure()
2021-06-03 10:46:04 +02:00
Joakim Hove
7d89c6e09c
Add std::string overload for WellState::segments()
2021-06-03 10:46:04 +02:00
Joakim Hove
3fd6d7781b
Remove WellState::segPressDrop()
2021-06-03 10:46:04 +02:00
Joakim Hove
6a859c0664
Segmentstate for accelarition pressure drop
2021-06-03 10:46:04 +02:00
Joakim Hove
33f18279d7
Use segmentstate for hydrostatic pressure drop
2021-06-03 10:46:04 +02:00
Joakim Hove
9801469488
Use segmentstate for friction pressure
2021-06-03 10:46:04 +02:00
Joakim Hove
45e7c8c982
Add WellContainer<SegmentState> member
2021-06-03 10:46:04 +02:00
Joakim Hove
5dc267c6f5
Add class SegmentState
2021-06-03 10:46:04 +02:00
Joakim Hove
702dc3a924
Merge pull request #3338 from joakim-hove/remove-unused
...
Use perfrates.size() instead of storing num_perf explicitly
2021-06-03 07:58:56 +02:00
Bård Skaflestad
a03d7589b2
Merge pull request #3341 from joakim-hove/explicitly-clear-well-potentials
...
Explicitly zero well potentials at the start of report step
2021-06-02 18:14:41 +02:00
Arne Morten Kvarving
29137eae7c
remove unused prototype
2021-06-02 15:27:03 +02:00
Joakim Hove
f733e33d70
Explicitly zero vectors at the start of report step
2021-06-02 14:21:36 +02:00
Joakim Hove
c5a7b49c3d
Use perfrates.size() instead of storing num_perf explicitly
2021-06-02 10:21:02 +02:00
Joakim Hove
d57a8514a2
Merge pull request #3323 from joakim-hove/remove-segment-pressure-drop
...
Remove segment pressure drop as separate variable
2021-05-31 14:08:38 +02:00
Arne Morten Kvarving
92dd2a1075
pass doubles by value, not reference
2021-05-31 11:44:08 +02:00
Arne Morten Kvarving
c76803b913
changed: make bhp template hidden and use explicit instantations
...
this to avoid includes in headers.
2021-05-31 11:42:29 +02:00
Arne Morten Kvarving
ef635d42af
VFPHelpers: put in separate compile unit
2021-05-31 11:42:29 +02:00
Arne Morten Kvarving
4c4a612cc5
changed: remove unused functions from VFPHelpers
2021-05-31 11:42:29 +02:00
Joakim Hove
2d67d085ef
Remove segment pressure drop as separate variable
2021-05-31 09:10:33 +02:00
Markus Blatt
1ea70da7e6
Merge pull request #3321 from blattms/fix-cuda-only-compilation
...
Fixes compilation with CUDA but without OpenCL.
2021-05-31 08:53:54 +02:00
Bård Skaflestad
5793f91ae0
Merge pull request #3313 from totto82/fix_ginj_reduction
...
fix reduction rate for injection groups
2021-05-29 17:17:27 +02:00
Joakim Hove
db49c8aeef
Merge pull request #3309 from joakim-hove/wellrates-at
...
Make sure all wells are added to the well_rates map
2021-05-29 07:53:45 +02:00
Markus Blatt
7c17db3d06
Fixes unused variable warnings for CUDA only.
2021-05-28 16:26:46 +02:00
Markus Blatt
6ffde47096
Fixes compilation with CUDA but without OpenCL.
...
Using statements should not be in namespaces anyway...
2021-05-28 16:26:46 +02:00
Bård Skaflestad
bd9b9a7118
Prepare to Save/Restore Richer Set of Aquifer Values
...
This commit adds logic to communicate more dynamic aquifer values
between the simulation and I/O layers. In particular, we ensure
that we allocate the 'aquFet' and 'aquCT' substructures of the
dynamic aquifer data as appropriate and that we collect this
information on the I/O rank as part of the restart output process.
We furthermore make the 'ParallelRestart' facility aware of dynamic
aquifer data in preparation of loading these values from the restart
file.
2021-05-28 14:47:17 +02:00
Bård Skaflestad
d3437d77b1
Merge pull request #3317 from joakim-hove/fix-unused
...
Remove unused variable
2021-05-28 14:14:27 +02:00
Bård Skaflestad
e695c356c5
Merge pull request #3310 from joakim-hove/disable-color-coding
...
Check that stdout is connected to tty before applying color coding
2021-05-28 13:09:08 +02:00
Bård Skaflestad
f7b0d599c8
Merge pull request #3314 from akva2/eclproblem_typetag_split
...
eclproblem: split in typetag and typetag independent parts
2021-05-28 11:47:37 +02:00
Arne Morten Kvarving
d65a9a5f70
changed: do not set the ebos well model as default type
...
rather, only set it where we want to use it. this avoids including
eclwellmanager.hh and eclpeacemanwell.hh unnecessarily in
simulator objects (where BlackoilWellModel is used).
2021-05-28 11:28:43 +02:00
Joakim Hove
953de0c6b9
Remove unused variable
2021-05-28 11:14:19 +02:00
Joakim Hove
3fae970e7e
Merge pull request #3316 from joakim-hove/segment-use-well-index2
...
Segment use well index2
2021-05-28 10:48:13 +02:00
Joakim Hove
d2510714e0
Check that stdout is attached to terminal before applying color
2021-05-28 10:20:10 +02:00
Arne Morten Kvarving
cbd7cfe8b6
split eclproblem in typetag dependent and typetag independent classes
2021-05-28 08:54:10 +02:00
Arne Morten Kvarving
122ac87c55
GasLiftStage2: no longer a need to template on TypeTag
2021-05-28 08:24:07 +02:00
Arne Morten Kvarving
775177d73a
GasLiftStage2: use GasLiftSingleWellGeneric
2021-05-28 08:24:07 +02:00
Arne Morten Kvarving
8f14e51c9e
GasLiftStage2: use WellInterfaceGeneric
...
to lessen typetag dependence
2021-05-28 08:24:07 +02:00
Joakim Hove
a1b45b06e4
Use well index for segment acceleration pressure loss
2021-05-28 07:32:30 +02:00
Joakim Hove
960de96d75
Use well index for segment hydrostatic pressure drop
2021-05-28 07:32:30 +02:00
Joakim Hove
ee1a1c6afc
Use well index for segment friction pressure drop
2021-05-28 07:32:29 +02:00
Joakim Hove
92e31b4ee3
Use well index for segment pressure drop
2021-05-28 07:32:29 +02:00
Arne Morten Kvarving
168fc070e9
GasLiftStage2: remove unused simulator param
2021-05-27 21:52:42 +02:00
Arne Morten Kvarving
09ec1e4088
GasLiftStage2: pass comm
2021-05-27 21:52:42 +02:00
Arne Morten Kvarving
865a039ca4
GasLiftStage2: remove unused member nonlinear_iteration_idx_
2021-05-27 21:52:42 +02:00
Arne Morten Kvarving
26530e60e4
GasLiftStage2: pass schedule
2021-05-27 21:52:42 +02:00
Arne Morten Kvarving
f034ca981e
GasLiftStage2: pass summary state
2021-05-27 21:52:42 +02:00
Arne Morten Kvarving
b7d90de9cc
GasLiftStage2: drop unused ebos_simulator_ member
2021-05-27 21:52:42 +02:00
Bård Skaflestad
b16eaf72f1
Merge pull request #3240 from akva2/wellinterface_fluidsystem_split
...
Split out FluidSystem dependent code from WellInterface
2021-05-27 21:09:07 +02:00
Bård Skaflestad
57cf8c2c98
Merge pull request #3311 from joakim-hove/segpress-fix
...
Bug in wellstate handling for pressure drop in MSW wells?
2021-05-27 20:11:00 +02:00
Bård Skaflestad
66443c63fb
Merge pull request #3299 from akva2/gasliftstage2_break_circular
...
GasLiftStage2: drop circular dependency for BlackoilWellModel
2021-05-27 18:31:44 +02:00
Tor Harald Sandve
e1ace15602
Merge pull request #3302 from totto82/useRatesAsPotforPress
...
use rates for potentials for pressure controlled controled wells
2021-05-27 16:33:22 +02:00
Joakim Hove
dac62bbab3
WellState::well_rates is only updated by well owner
2021-05-27 15:03:24 +02:00
Joakim Hove
509fe67ff5
Make sure all wells are added to the well_rates map
2021-05-27 15:03:24 +02:00
Arne Morten Kvarving
0f7967f86a
cosmetics: do not indent for namespace
2021-05-27 14:22:14 +02:00
Arne Morten Kvarving
3aa2b38832
changed: split out FluidSystem only dependent code from WellInterface
...
this allows using explicit template instantation to only build
this code once for each FluidSystem
2021-05-27 14:22:14 +02:00
Tor Harald Sandve
06595c6dfc
fix reduction rate for injection groups
2021-05-27 13:16:28 +02:00
Joakim Hove
abadb7aba5
Fix access to segment pressure drop vectors
2021-05-27 11:40:29 +02:00
Joakim Hove
5ac53f8106
Use well index for segment rates
2021-05-27 10:45:33 +02:00
Joakim Hove
34ef516472
Use well index for segment pressure
2021-05-27 10:45:33 +02:00
Joakim Hove
3025bf3280
Use std::nullopt instead of {}
2021-05-27 10:45:33 +02:00
Bård Skaflestad
d94cc2cc30
Merge pull request #3040 from totto82/fixZeroRateVFP
...
Avoid division by small rate in divisor in VFP table fraction WFR/GFR.
2021-05-27 00:44:07 +02:00