Commit Graph

1529 Commits

Author SHA1 Message Date
Arne Morten Kvarving
09c1127c34 move loadRestartSegmentData into BlackoilWellModelRestart 2022-10-28 15:15:13 +02:00
Arne Morten Kvarving
0b32c1afd9 add BlackoilWellModelRestart
start by moving loadRestartConnectionData
2022-10-28 15:13:06 +02:00
Markus Blatt
0ab28551e5
Merge pull request #4200 from totto82/2p_expvfp
fix 2p case wvfpexp
2022-10-26 12:40:16 +02:00
Arne Morten Kvarving
b9ee7eae6f use if constexpr 2022-10-26 11:23:55 +02:00
Tor Harald Sandve
72c78c5eb1 fix 2p case wvfpexp 2022-10-24 15:25:30 +02:00
Arne Morten Kvarving
0cc0b29a14 move updateWellTestState to WellInterfaceGeneric 2022-10-24 12:18:30 +02:00
Arne Morten Kvarving
8b503f9a00 move updateWellTestStatePhysical to WellTest 2022-10-24 12:10:57 +02:00
Arne Morten Kvarving
e2b5fc8082 move updateWellTestStateEconomic to WellTest 2022-10-24 12:06:09 +02:00
Arne Morten Kvarving
71d404336e move checkRatioEconLimits to WellTest 2022-10-24 11:55:57 +02:00
Arne Morten Kvarving
1a0774ceab move checkRateEconLimits to WellTest 2022-10-24 11:49:22 +02:00
Arne Morten Kvarving
2b152e67e1 move checkMaxWaterCutLimit to WellTest 2022-10-24 11:43:57 +02:00
Arne Morten Kvarving
e7273868f5 move checkMaxWGRLimit to WellTest 2022-10-24 11:40:30 +02:00
Arne Morten Kvarving
fe8259bb76 move checkMaxGORLimit to WellTest 2022-10-24 11:37:54 +02:00
Arne Morten Kvarving
37f51420f6 move checkMaxRatioLimitCompletions to WellTest 2022-10-24 11:28:06 +02:00
Arne Morten Kvarving
d56eb16837 WellInterfaceGeneric: add accessor for completions 2022-10-24 10:57:09 +02:00
Arne Morten Kvarving
9367335fe3 added: WellTest
this will hold the code for well tests.
start by moving checkMaxRatioLimitWell to the new class
2022-10-24 10:55:32 +02:00
Tor Harald Sandve
7b90d35f21 fixup from PR comments 2022-10-18 12:58:07 +02:00
Tor Harald Sandve
9538db85b1 set thp msw 2022-10-18 10:55:17 +02:00
Tor Harald Sandve
14428120d9 fix rebase 2022-10-18 10:55:17 +02:00
Tor Harald Sandve
e1d36f32b8 add missing wellGroupTargetsViolated in ++ operator 2022-10-18 10:55:17 +02:00
Tor Harald Sandve
756c9bad21 set ws.thp = thp_limit for wells under THP control 2022-10-18 10:55:17 +02:00
Tor Harald Sandve
47329b30b9 always check individual controls 2022-10-18 10:55:17 +02:00
Tor Harald Sandve
d25dc4e795 check controls in getWellConvergence 2022-10-18 10:55:17 +02:00
Bård Skaflestad
36ca7d11e9
Merge pull request #4149 from totto82/improve_conv_thp
Improve convergence for newly opened wells with thp control
2022-10-18 10:26:55 +02:00
Atgeirr Flø Rasmussen
a35f365e3e
Merge pull request #4143 from totto82/simplifyWellReport
only output final change of well control
2022-10-17 17:28:53 +02:00
Tor Harald Sandve
74eb0d048f Improve convergence for newly opened wells with thp control 2022-10-17 15:32:27 +02:00
Atgeirr Flø Rasmussen
5a90ced52d
Merge pull request #4054 from totto82/gasliftthplim
Allow for gaslift for wells that violate thp limit but are not allowed to switch
2022-10-17 15:15:49 +02:00
Atgeirr Flø Rasmussen
6a13fe807a
Merge pull request #4155 from totto82/fixTestGlift
set alq before trying to solve the equation during well testing
2022-10-17 15:08:57 +02:00
Atgeirr Flø Rasmussen
31ac961834
Merge pull request #4157 from blattms/wellcontrib-available-always
Fix compilation with amgcl/vexcl and without CUDA/OpenCL.
2022-10-17 15:03:37 +02:00
Bård Skaflestad
7096343121
Merge pull request #4162 from akva2/use_range_generators
Use range generators for grid iterations
2022-10-13 23:42:10 +02:00
Arne Morten Kvarving
ff826aa939 RegionAverageCalculator: use elements range generator 2022-10-13 23:01:37 +02:00
Arne Morten Kvarving
5796396696 RateConverter: use elements range generator 2022-10-13 23:01:37 +02:00
Arne Morten Kvarving
15f1ec0c3a BlackoilWellModel: use elements range generator 2022-10-13 23:01:37 +02:00
Kai Bao
9056bf3d98 removing the usage of GTotal 2022-10-13 22:13:45 +02:00
Markus Blatt
fcc3690832 Added missing include of config.h in cpp files. 2022-10-12 15:28:38 +02:00
Markus Blatt
c2963560d2 Fix compilationw with amgcl/vexcl and without CUDA/OpenCL.
There is no reason to omit WellContributions if neither CUDA nor
OpenCL is found as the implementations/functions only use C++-
To the contrary, the defines used for deactivating were not
consistent with usage elsewhere and resulted in compiler erorrs
for exotic configuration
2022-10-11 10:42:08 +02:00
Tor Harald Sandve
2ca3c25f4f set alq before trying to solve the equation during well testing 2022-10-10 08:14:42 +02:00
Kai Bao
9461bf1a99 only enforcing production economic limit to producers. 2022-10-06 15:27:33 +02:00
Tor Harald Sandve
12e4bb6e05 only output final change of well control 2022-10-04 09:09:46 +02:00
Tor Harald Sandve
941556ab4d
Merge pull request #4098 from totto82/extVFP
remove cutoff for extrapolation
2022-10-04 08:44:49 +02:00
Tor Harald Sandve
654f9e2c2d
Merge pull request #4135 from totto82/checkGroupConstrainsFromTop
check group constraints from top
2022-10-03 14:32:46 +02:00
Tor Harald Sandve
ebb9fd636c remove cutoff for extrapolation of VFP 2022-10-03 10:26:08 +02:00
Bård Skaflestad
de66f3e519
Merge pull request #4139 from GitPaean/fixing_confusion_initializeWellPerfData
fixing (partly) confusion naming in function initializeWellPerfData()
2022-10-01 01:10:35 +02:00
Kai Bao
15fc19de32 fixing (partly) confusing naming in function initializeWellPerfData() 2022-09-30 23:31:21 +02:00
Kai Bao
f8d8bbb259
Merge pull request #3954 from atgeirr/iterate-network
Add iterations to the network model
2022-09-30 16:33:06 +02:00
Atgeirr Flø Rasmussen
67b95afdd9 Support NETBALAN (partially).
NETBALAN can be used to choose balancing frequency (limited: either start
of timestep, or first NUPCOL iterations), balancing tolerance, and maximum
balancing iterations. These correspond to items 1, 2 and 3 of NETBALAN.
2022-09-30 15:41:11 +02:00
Tor Harald Sandve
54e0496203 check group constraints from top 2022-09-30 13:09:42 +02:00
Tor Harald Sandve
d21921073b avoid oscilation between ORAT and LRAT when they are equal 2022-09-29 11:10:43 +02:00
Atgeirr Flø Rasmussen
95fdea67a8 Do not re-solve network after NUPCOL Newton iterations. 2022-09-28 10:44:42 +02:00
Kai Bao
de4473bbd8 makre sure network_changed synchronized across the processes 2022-09-28 10:44:42 +02:00
Atgeirr Flø Rasmussen
cc15b29372 Add network model iterations.
Implemented by conditionally recursing in BlackoilWellModel::assembleImpl().
2022-09-28 10:44:42 +02:00
Atgeirr Flø Rasmussen
6104a01468 Add WellInterfaceGeneric::getDynamicThpLimit() method. 2022-09-28 10:44:42 +02:00
Kai Bao
6e0baad0c7
Merge pull request #4116 from GitPaean/not-setting-inj-rate-to-zero
limiting the smallest injection rate to 1.e-7 for the injection phase.
2022-09-23 15:17:31 +02:00
Kai Bao
d3d8e11e00 limiting the smallest injection rate to 1.e-7
for the injection phase.
2022-09-20 11:40:34 +02:00
Bård Skaflestad
8432e4130c
Merge pull request #4101 from GitPaean/fix_wells_active
Fix wells active determination
2022-09-19 10:20:30 +02:00
Tor Harald Sandve
b072cc1d5d Allow for gaslift for wells that violate thp limit but are not allowed to switch 2022-09-16 10:49:03 +02:00
Arne Morten Kvarving
c5fced81fa fixed: remove default constructor declaration
a class with a reference member cannot be default initialized,
so constructor is implicitly deleted. quells a clang warning
2022-09-16 09:19:42 +02:00
Tor Harald Sandve
fe19d94b4e
Merge pull request #4110 from GitPaean/avoiding_overshoot_primary_variables
avoiding wrong sign for QTotal primary variable for top segment
2022-09-15 08:13:03 +02:00
Kai Bao
2f19d4586e avoiding wrong sign for QTotal primary variable for top segment
for multisegment wells.
2022-09-14 14:21:03 +02:00
Kai Bao
734b9a792f removing function localWellsActive() 2022-09-14 14:17:02 +02:00
Atgeirr Flø Rasmussen
f3b536889d
Merge pull request #4097 from totto82/cleanDBG
remove computeBhpAtThpLimitProd() output from .DBG file
2022-09-14 10:11:50 +02:00
Arne Morten Kvarving
57f2bb3ea7 fix build without MPI 2022-09-13 15:07:15 +02:00
Kai Bao
83529b22c7 removing one usage of wellsActive() in numComponents 2022-09-13 14:31:56 +02:00
Arne Morten Kvarving
6e83e349d6 changed: move variadic broadcast into EclMpiSerializer 2022-09-13 13:29:47 +02:00
Bård Skaflestad
7e44ddd2bd
Merge pull request #4100 from totto82/wvfpexp_user
remove WVFPEXP from unsupported keywords
2022-09-13 12:46:58 +02:00
Tor Harald Sandve
f8d1d040ab
Merge pull request #4033 from totto82/fix_grsw_output
cleanup group switching output to terminal
2022-09-13 12:25:40 +02:00
Kai Bao
4e1cc5bd5b determining wells_active_ based on well_containers_ size
instead of the information in wells_ecl_, which might include shut wells
2022-09-13 11:36:23 +02:00
Bård Skaflestad
56c653235f
Merge pull request #4087 from akva2/rename_serialization
Rename serialization files
2022-09-13 10:48:33 +02:00
Kai Bao
b363138240 removing the function setWellsActive from BlackoilWellModelGeneric 2022-09-13 09:41:48 +02:00
Tor Harald Sandve
683ed0df1f remove WVFPEXP from unsupported keywords 2022-09-13 09:30:04 +02:00
Tor Harald Sandve
7571215f44 some cleanup 2022-09-13 08:33:51 +02:00
Tor Harald Sandve
001d53858e remove computeBhpAtThpLimitProd() output from .DBG file 2022-09-12 09:29:37 +02:00
Markus Blatt
a4360b4961
Merge pull request #4028 from akva2/reduce_dup
changed: get rid of duplicate MatrixBlock headers/classes
2022-09-09 15:30:30 +02:00
Tor Harald Sandve
d2fc8a3d5e remove the logic that skips checking the group if it already changed 2022-09-09 10:58:36 +02:00
Tor Harald Sandve
702d824135 cleanup group switching output to terminal 2022-09-09 10:58:36 +02:00
Tor Harald Sandve
f36ac3eeed
Merge pull request #3837 from totto82/wvfpexp
Add option for explicit vfp lookup for problematic wells
2022-09-09 10:00:02 +02:00
Arne Morten Kvarving
c68d979d4b remove unused variables 2022-09-09 08:38:17 +02:00
Arne Morten Kvarving
1838b39d2e changed: split ParallelRestart.hpp/cpp in two bits
the mpi serialization bit is put in MPISerializer.hpp/cpp,
while the parallel restart bit stays in ParallelRestart
2022-09-08 13:36:51 +02:00
Kai Bao
4e4606c705 removing unused setupCartesianToCompressed_ function
for BlackoilWellModel
2022-09-08 13:33:39 +02:00
Atgeirr Flø Rasmussen
e9cba9e0c1 Use compressedIndexForInterior() for mapping cartesian indices. 2022-09-05 12:42:54 +02:00
Tor Harald Sandve
8075c1218b
Merge pull request #4029 from totto82/fix_group_multilevel
Simplify and fix check for violation of GRUP for multiple level of guiderates
2022-09-02 12:59:34 +02:00
Bård Skaflestad
93b059eca1
Merge pull request #4046 from akva2/mswellhelper_priv
make MSWellHelpers templates private
2022-09-01 16:44:15 +02:00
Bård Skaflestad
d1ba2ce5bc
Merge pull request #4045 from akva2/wellgrouphelper_priv
Make one more template private in WellGroupHelper
2022-09-01 16:33:43 +02:00
Arne Morten Kvarving
5052a09d6e make MSWellHelpers templates private 2022-09-01 15:17:04 +02:00
Arne Morten Kvarving
5d9ee32853 WellGroupHelpers: simply template instantation
use types for ParallelCommunication.hpp
2022-09-01 14:55:19 +02:00
Arne Morten Kvarving
2135a4268d WellGroupHelpers: make template private 2022-09-01 14:55:19 +02:00
Arne Morten Kvarving
5824af3f1b use libfmt
also change from debug to error
2022-09-01 13:54:40 +02:00
Arne Morten Kvarving
6bd790fd16 avoid pointer semantics 2022-09-01 13:48:01 +02:00
Arne Morten Kvarving
a6517d6111 remove unused template 2022-09-01 13:37:54 +02:00
Arne Morten Kvarving
18d8914ef1 wellhelpers: remove indentation for namespaces 2022-09-01 13:37:11 +02:00
Arne Morten Kvarving
69db0dd175 wellhelpers: make templates private
to increase header encapsulation
2022-09-01 13:37:11 +02:00
Arne Morten Kvarving
2c0ff6f81e consistently use ParallelCommunication.hpp for communication definition 2022-09-01 12:26:11 +02:00
Arne Morten Kvarving
004e7e55fb avoid two communication calls
one less network latency cost
2022-08-31 12:54:47 +02:00
Arne Morten Kvarving
a9590215dc changed: consistently use std::array 2022-08-26 08:28:46 +02:00
Tor Harald Sandve
9b7ba49495 Simplify and fix check for violation of GRUP for multiple level of guiderates 2022-08-25 16:09:53 +02:00
Arne Morten Kvarving
1a348c0d29 changed: get rid of duplicate MatrixBlock headers/classes
this has already led to some confusion. move some of the code
upstream to opm-models and remove the rest of the duplicated code.

the remainder of MatrixBlock.hpp is renamed to SmallDenseMatrixUtils.hpp
2022-08-25 12:48:53 +02:00
Bård Skaflestad
a56cd6752c
Revert "changed: reduce some code duplication" 2022-08-24 20:34:52 +02:00
Arne Morten Kvarving
447d77b579 changed: get rid of duplicate MatrixBlock headers/classes
this has already led to some confusion. move some of the code
upstream to opm-models and remove the rest of the duplicated code.

the remainder of MatrixBlock.hpp is renamed to SmallDenseMatrixUtils.hpp
2022-08-24 15:54:01 +02:00
Tor Harald Sandve
0f969dd7a5 check ipr for wells prevented to change to thp 2022-08-19 10:48:56 +02:00
Tor Harald Sandve
7a8eed6a6c adapt to renaming in opm-common 2022-08-19 10:33:19 +02:00