Commit Graph

9496 Commits

Author SHA1 Message Date
Bård Skaflestad
203ade29b8 Support Variable Length Connection Data in Distributed Wells
With the addition of tracer information in the data::Rates object
we must relax the assumption that the object is POD.  Switch to
using the Point2PointCommunicator protocol for gathering connection
solutions on the well's owner before transferring well solution
objects to the I/O rank.
2022-11-03 11:37:53 +01:00
Tor Harald Sandve
e33d7c6561 fix group switch logging 2022-11-03 09:40:58 +01:00
Tong Dong Qiu
ea73a1bf3c Add rocalutionSolver 2022-11-02 15:55:07 +01:00
Bård Skaflestad
a49f0bc8c2
Merge pull request #4189 from plgbrts/rwgsalt
removed RWGSALT from unsupported keywords list
2022-11-01 22:11:31 +01:00
hnil
a86bd1c585 removed assert in cprw for strictly positive diagonal well coupling 2022-11-01 21:39:55 +01:00
Bård Skaflestad
daf65f6472
Merge pull request #4225 from GitPaean/removing_number_segments
removing unused number_segments from MultisegmentWell
2022-11-01 15:24:22 +01:00
Kai Bao
cbb2e04b05 removing unused number_segments from MultisegmentWell 2022-11-01 14:42:23 +01:00
Bård Skaflestad
73466da197
Merge pull request #4224 from akva2/wellinterface_eval_rename_assemble
Rename WellinterfaceEval to WellAssemble
2022-11-01 13:51:08 +01:00
Arne Morten Kvarving
b700ec9b53 rename WellInterfaceEval to WellAssemble 2022-11-01 12:55:00 +01:00
Atgeirr Flø Rasmussen
e872cfb21d
Merge pull request #4194 from hnil/trueimpes_scaling_fix
- made heuristic scaling of trueimpes
2022-11-01 12:00:06 +01:00
Arne Morten Kvarving
411e4d07e7 WellInterfaceEval: separate from inheritance hierarcy 2022-11-01 11:45:15 +01:00
Arne Morten Kvarving
97367a1e95 move checkIndividualConstraints to WellConstraints 2022-11-01 08:57:02 +01:00
Arne Morten Kvarving
e884778e46 move activeInjectionConstraint to WellConstraints 2022-11-01 08:57:01 +01:00
Arne Morten Kvarving
06686702ea added: WellConstraints
this will hold the code for well constraints.
start by moving activeProductionConstraint to the new class
2022-11-01 08:56:41 +01:00
Bård Skaflestad
4c2ebbd445
Merge pull request #4223 from atgeirr/unhide-option
Unhide NewtonMaxIterations.
2022-10-31 17:48:02 +01:00
Atgeirr Flø Rasmussen
2192b3a86c Unhide NewtonMaxIterations. 2022-10-31 17:13:09 +01:00
Atgeirr Flø Rasmussen
16ca6a5ead
Merge pull request #4217 from blattms/Debian-fixes
Debian fixes (manpage and missing header include)
2022-10-31 16:29:54 +01:00
Bård Skaflestad
dea582d296
Merge pull request #4197 from akva2/well_group_constraints
Add class for well group constraints
2022-10-31 16:12:17 +01:00
Arne Morten Kvarving
796aa51e79 changed: move calculateBhpFromThp to WellBhpThpCalculator 2022-10-31 13:16:51 +01:00
Arne Morten Kvarving
0577516cfe changed: move updateThp to WellBhpThpCalculator 2022-10-31 13:16:16 +01:00
Arne Morten Kvarving
a4df84f785 fixed: guard against invalid dereference in getRho 2022-10-31 13:16:16 +01:00
Arne Morten Kvarving
e8152a1b65 changed: tidy up computeBhpAtThpLimitProdWithAlq interface
put deferred_logger at the end of the parameter list.
similar to the rest of this family of methods
2022-10-31 13:16:16 +01:00
Arne Morten Kvarving
42fff132b0 changed: drop wrapper MultisegmentWellGeneric::computeBhpAtThpLimitProdWithAlq 2022-10-31 13:16:16 +01:00
Arne Morten Kvarving
db05f1d73f changed: drop wrapper StandardWellGeneric::computeBhpAtThpLimitProdWithAlq 2022-10-31 13:16:15 +01:00
Arne Morten Kvarving
f214ccc138 changed: move computeBhpFromThpLimitInj to WellBhpThpCalculator 2022-10-31 13:15:56 +01:00
Arne Morten Kvarving
6e214557e2 changed: move computeBhpFromThpLimitProd to WellBhpThpCalculator 2022-10-31 13:15:18 +01:00
Arne Morten Kvarving
4fcb1e9d37 changed: move calculateThpFromBhp to WellBhpThpCalculator 2022-10-31 13:15:18 +01:00
Arne Morten Kvarving
f7f4352b68 changed: move mostStrictBhpFromBhpLimits to WellBhpThpCalculator 2022-10-31 13:15:18 +01:00
Arne Morten Kvarving
d4e06536a0 changed: move getTHPConstraint to WellBhpThpCalculator 2022-10-31 13:15:18 +01:00
Arne Morten Kvarving
cd734f7a0d added: WellBhpThpCalculator
this will hold the code for THP/BHP calculations.

first method moved there is wellHasThpConstraints
2022-10-31 13:15:18 +01:00
Arne Morten Kvarving
726e6699da move checkGroupConstraints into WellGroupConstraints 2022-10-31 13:14:51 +01:00
Arne Morten Kvarving
75dad9f4c4 move checkGroupConstraintsProd into WellGroupConstraints 2022-10-31 13:14:51 +01:00
Arne Morten Kvarving
698b748270 added: WellGroupConstraints
this holds the code for well group constraints.
move checkGroupConstraintsInj into the new class
2022-10-31 13:14:50 +01:00
Bård Skaflestad
2840e0cc5f
Merge pull request #4195 from akva2/well_group_controls
Add class for well group controls
2022-10-31 12:34:34 +01:00
Markus Blatt
50eff23710
Merge pull request #4219 from akva2/use_fmt
BlackoilWellModel: use fmt::format
2022-10-31 11:54:57 +01:00
Arne Morten Kvarving
7d72af43de BlackoilWellModelGeneric: use fmt::format 2022-10-31 11:07:20 +01:00
Arne Morten Kvarving
de13e5018a BlackoilWellModelConstraints: use fmt::format 2022-10-31 10:46:50 +01:00
Arne Morten Kvarving
f367e4fb7b changed: use return value
no reason to pass a reference here, just use return
2022-10-31 10:35:52 +01:00
Markus Blatt
d0816a2d35 Added mssing include of functional to StandardWellGeneric.hpp
Without including functional compilation fails with Debian experimental.
2022-10-31 10:12:14 +01:00
Arne Morten Kvarving
6f49aee719 move getGroupProductionTargetRate into WellGroupControls 2022-10-31 09:08:35 +01:00
Arne Morten Kvarving
2d4c522082 move getGroupInjectionTargetRate into WellGroupControls 2022-10-31 09:08:35 +01:00
Arne Morten Kvarving
cdbeef0a3e move getGroupProductionControl into WellGroupControls 2022-10-31 08:52:20 +01:00
Arne Morten Kvarving
cfd0eda7de added: WellGroupControls
this holds the code for well group controls.
move getGroupInjectionControl into the new class
2022-10-31 08:52:19 +01:00
Bård Skaflestad
86bbd38a55
Merge pull request #4185 from blattms/NewtonMaxIterations
Rename option FlowNewtonMaxIterations to NewtonMaxIterations.
2022-10-29 20:48:53 +02:00
Bård Skaflestad
7b499c4f0a
Merge pull request #4199 from akva2/well_test
Add class for well tests
2022-10-29 13:49:22 +02:00
Arne Morten Kvarving
9f78e0454d move guideRateUpdateIsNeeded into BlackoilWellModelGuideRates 2022-10-28 23:33:05 +02:00
Arne Morten Kvarving
d42cdd409b move assignGroupGuideRates into BlackoilWellModelGuideRates 2022-10-28 23:33:05 +02:00
Arne Morten Kvarving
5e157cd23b move calculateAllGroupGuideRates into BlackoilWellModelGuideRates 2022-10-28 23:33:05 +02:00
Arne Morten Kvarving
01dfe23a50 move assignWellGuideRates into BlackoilWellModelGuideRates 2022-10-28 23:24:29 +02:00
Arne Morten Kvarving
f19c7b2ee6 move getGuideRateInjectionGroupValues into BlackoilWellModelGuideRates 2022-10-28 22:54:54 +02:00
Arne Morten Kvarving
b6659d6960 move getGuideRateValues(Group) into BlackoilWellModelGuideRates 2022-10-28 22:53:33 +02:00
Arne Morten Kvarving
41b1a38de3 move getGuideRateValues(Well) into BlackoilWellModelGuideRates 2022-10-28 22:50:26 +02:00
Arne Morten Kvarving
dc607ce3ff add BlackoilWellModelGuideRates
start by moving getGuideRateValues
2022-10-28 22:40:38 +02:00
Bård Skaflestad
d1d5ff2831
Merge pull request #4208 from akva2/well_convergence
Add class for checking well convergence
2022-10-28 21:26:17 +02:00
Arne Morten Kvarving
f06264152c remove now unnecessary Bhp_ member in StandardWellGeneric 2022-10-28 19:48:01 +02:00
Arne Morten Kvarving
5d4c7f49a2 move checkConvergencePolyMW into WellConvergence 2022-10-28 19:47:59 +02:00
Arne Morten Kvarving
0f8ca0c529 add WellConvergence
move checkConvergenceControlEq into it
2022-10-28 19:47:55 +02:00
Arne Morten Kvarving
cc306a45b4 move updateGroupIndividualControl into BlackoilWellModelConstraints 2022-10-28 19:32:06 +02:00
Arne Morten Kvarving
e04f20af8e move actionOnBrokenConstraints into BlackoilWellModelConstraints 2022-10-28 19:32:02 +02:00
Arne Morten Kvarving
82cf0deef4 move checkGroupConstraints into BlackoilWellModelConstraints 2022-10-28 19:19:33 +02:00
Arne Morten Kvarving
df27ec5d4d move checkGroupProductionConstraints into BlackoilWellModelConstraints 2022-10-28 18:59:40 +02:00
Arne Morten Kvarving
2d9d452fff add BlackoilWellModelConstraints
start by moving hasTHPConstraints
2022-10-28 18:21:43 +02:00
Markus Blatt
2fdc9e6cc6 Remove references of flow i usage string of Newton method properties.
This makes them constent to NewtonMaxIterations
2022-10-28 16:41:54 +02:00
Markus Blatt
2c8a63fc3d Use consistent NewtonMaxIteration usage string.
Needed to prevent an exception. Apparently both the value and usage
sting must match each time we register a parameter no matter
whether the template parameters differs or not.
2022-10-28 16:41:54 +02:00
OPMUSER
bbd9d8bf58 Rename option FlowNewtonMaxIterations to NewtonMaxIterations.
Now it is consistent with other options (e.g. NewtonMinIterations
2022-10-28 16:41:54 +02:00
Arne Morten Kvarving
3fdf28508f move loadRestartData into BlackoilWellModelRestart 2022-10-28 15:30:09 +02:00
Arne Morten Kvarving
35386a79bf move loadRestartGuideRates(Config) into BlackoilWellModelRestart 2022-10-28 15:24:59 +02:00
Arne Morten Kvarving
2e433a5bc2 move loadRestartGuideRates(Target) into BlackoilWellModelRestart 2022-10-28 15:22:17 +02:00
Arne Morten Kvarving
ffeddfe280 move loadRestartGroupData into BlackoilWellModelRestart 2022-10-28 15:20:09 +02:00
Arne Morten Kvarving
0f853a8566 move loadRestartWellData into BlackoilWellModelRestart 2022-10-28 15:18:29 +02:00
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
Bård Skaflestad
733eb5989e
Merge pull request #4212 from OPMUSER/KRNUM
Remove KRNUM from Unsupported Keyword List (Back-Port)
2022-10-27 16:53:04 +02:00
OPMUSER
af922366e8 Remove KRNUM from Unsupported Keyword List (Back-Port)
Remove KRNUM from Unsupported Keyword List, as it is now supported. This should be back-ported, to prevent a warning stating the keyword is not supported.
2022-10-27 20:19:05 +08:00
Tong Dong Qiu
b4e730a767 Removed default declaration in wrong place 2022-10-27 09:25:55 +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
Arne Morten Kvarving
96ec2b0e96 comment out unused private variable (causes a warning) 2022-10-26 10:59:43 +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
hnil
8ede0e67b2 - made heuristic scaling of trueimpes 2022-10-21 12:51:05 +02:00
Paul Egberts
f294e2c832 removed RWGSALT from unsupported keywords list 2022-10-20 11:38:09 +02:00
Markus Blatt
3e680e41f5
Merge pull request #4136 from Tongdongq/remove_reordering
Remove reordering for opencl
2022-10-19 15:30:01 +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
a2c5ec1127
Merge pull request #4037 from totto82/scaleEnergy
scale energy residual to have the same relative order as the mass balance residuals
2022-10-17 23:33:28 +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
1eec214c89
Merge pull request #4169 from blattms/dune-2.9-fix-deprecations
Dune 2.9 fix deprecations
2022-10-17 15:17:29 +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
Markus Blatt
8d522a2c42 Get rid deprecation warning for newer DUNE versions. 2022-10-14 21:29:09 +02:00
Bård Skaflestad
629edd3919 Add Serialization Support for std::bitset<3>
Needed in upcoming work for communicating dynamic phase quantities
per segment in a multisegmented well.
2022-10-14 18:29:52 +02:00
Atgeirr Flø Rasmussen
c6b3e4c462 Hide all vtk parameters. 2022-10-14 10:46:45 +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
Arne Morten Kvarving
72dfc63167 BlackoilModelEbos: use elements range generator 2022-10-13 23:01:37 +02:00
Arne Morten Kvarving
ada17881cc AquiferAnalytical: use elements and intersections range generators 2022-10-13 23:01:37 +02:00
Arne Morten Kvarving
72bed4449b AquiferNumerical: use elements range generator 2022-10-13 23:01:37 +02:00
Arne Morten Kvarving
0da1ff494b findOverlapRowsAndColumns: use elements range generator 2022-10-13 23:01:37 +02:00
Arne Morten Kvarving
3137cb5194 getQuasiImplesWeights: 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
Tong Dong Qiu
09e262bbfd Minor changes:
- removed unused header inclusion
- update comments
- removed unnecessary cast
2022-10-13 15:37:20 +02:00
Arne Morten Kvarving
ecc36f6ce8 fix cmake handling
- use imported target for linking
- use separate damaris cmake script
- handle HAVE_DAMARIS config variable in the usual way

fixing issues when user does not provide an outputDir via a command_line

avoid adding damaris's command lines when we dont have damaris
2022-10-13 12:23:06 +02:00
Elyes Ahmed
0a7f7e94b7 fixing unused variable err 2022-10-13 12:23:06 +02:00
Atgeirr Flø Rasmussen
d27ed995bf Use OpmLog. 2022-10-13 12:23:06 +02:00
Atgeirr Flø Rasmussen
c1b3c5e973 Rename option to EnableDamarisOutputCollective. 2022-10-13 12:23:06 +02:00
Atgeirr Flø Rasmussen
066897bbf9 Remove file added by mistake. 2022-10-13 12:23:06 +02:00
Atgeirr Flø Rasmussen
430d8995eb Reformatting with clang-format. 2022-10-13 12:23:06 +02:00
Atgeirr Flø Rasmussen
76bacff3cf Move XML template to separate file, fix formatting, and use path. 2022-10-13 12:23:06 +02:00
Atgeirr Flø Rasmussen
fd1d1d15a4 Bugfix: remove quotes around _File_Mode. 2022-10-13 12:23:06 +02:00
Atgeirr Flø Rasmussen
926c213628 Make ensureOutputDirExists() callable outside readDeck.cpp, and use it.
This is necessary because when using Damaris we must have the output dir ready
when we initialize Damaris. In the existing code, this was ensured only
from the setupLogging() call.
2022-10-13 12:23:06 +02:00
Atgeirr Flø Rasmussen
fae71df32d Fix initialization and stopping Damaris.
With this, flow no longer hangs on exit.
2022-10-13 12:23:06 +02:00
Atgeirr Flø Rasmussen
e347959d79 Set _PATH_REGEX_ for non-async, also reformat. 2022-10-13 12:23:06 +02:00
Atgeirr Flø Rasmussen
408fadca8e Add #define to fix compile on clang.
Necessary due to primitive check for std::unique_ptr in the XSD library.
2022-10-13 12:23:06 +02:00
Joshua Bowden
fa7af3540c Changes needed to add Damaris functionality. The current state is that we output the pressure field and we use both HDF5 and parallel HDF5.
Damaris initialization is added after InitMpi but before starting the simulation. Damaris will invoke a separate core for writing in
parallel and leave the rest of cores for the simulator. The main changes are in main where start_damaris and then in eclwriterm where
we use damaris to output the PRESSURE. To test Damaris one can use --enable-damaris-output=true and to use parallel HDF5 one can use
--enable-async-damaris-output=true (false is the default choice)
2022-10-13 12:23:06 +02:00
Bård Skaflestad
90ddd13bcc Remove Trailing Semicolon on Function's Close Brace
This removes a GCC warning message on higher warning levels.
2022-10-13 09:57:55 +02:00
Markus Blatt
fcc3690832 Added missing include of config.h in cpp files. 2022-10-12 15:28:38 +02:00
Markus Blatt
b9aa7bdc3b Move include of config.h to cpp-file
One should never include config.h in a header. To the very least it results
in redefined macros.
2022-10-12 14:30:26 +02:00
Tor Harald Sandve
408624cf57
Merge pull request #4148 from osae/hysterKillough
Killough hysteresis now supported.
2022-10-12 07:52:35 +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
Bård Skaflestad
0a3ede1400
Merge pull request #4151 from GitPaean/wecon_only_producer
only enforcing production economic limit to producers.
2022-10-06 15:44:52 +02:00
Kai Bao
9461bf1a99 only enforcing production economic limit to producers. 2022-10-06 15:27:33 +02:00
Arne Morten Kvarving
d08ab74630 fixed: add missing includes
and mark parameter maybe_unused
2022-10-06 13:16:46 +02:00
Ove Sævareid
38436df417 Killough hysteresis now supported. 2022-10-05 18:20:00 +02:00
Bård Skaflestad
8d85ffd916
Merge pull request #4142 from atgeirr/rename-sims
Rename flow_blackoil to flow_blackoil_legacyassembly and flow_blackoil_tpfa to flow_blackoil
2022-10-04 12:54:13 +02:00
Atgeirr Flø Rasmussen
a7a5a7a98d Make the Python interface use the TpfaLinearizer. 2022-10-04 11:44:35 +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