Commit Graph

20778 Commits

Author SHA1 Message Date
Lisa Julia Nebel
6bdb80126f Add parameter enableDistributedWells to the well state an when set to true, do not throw when initalizing distributed multi-segment wells in WellState.cpp 2024-11-22 15:16:00 +01:00
Svenn Tveit
a8a1a480b7 Fix max for Scalar=float 2024-11-22 13:38:08 +01:00
Kai Bao
b502206ad7
Merge pull request #5735 from totto82/dontshutGRUPwells
dont shut well with GRUP control that struggles to converge
2024-11-22 11:48:46 +01:00
Tor Harald Sandve
120416f358 dont shut well with GRUP control that struggles to converge 2024-11-22 11:05:08 +01:00
Arne Morten Kvarving
e845eb63a5
Merge pull request #5756 from bska/follow-cmake-bool-handling-update
Make Floating Point Existence Flag Initially Unset
2024-11-22 11:02:59 +01:00
Bård Skaflestad
e695550e05 Make Floating Point Existence Flag Initially Unset
PR OPM/opm-common#4348 altered the OPM build system's handling of
boolean flags and setting the flag to zero no longer works.
2024-11-22 10:39:24 +01:00
Svenn Tveit
f2e42b96ca Convert ALQ output to units used in the deck 2024-11-22 10:30:32 +01:00
Svenn Tveit
48f9e90248 Use gas lift optimization to get ALQ for well test 2024-11-22 10:30:32 +01:00
Arne Morten Kvarving
c4db1b10d2
Merge pull request #5755 from akva2/fix_build_regression_pr_5680
fixed: add missing include
2024-11-22 10:16:17 +01:00
Arne Morten Kvarving
c9a081adb1 fixed: add missing include
broke sequential build
2024-11-22 09:43:45 +01:00
Markus Blatt
53cf22d516
Merge pull request #5745 from blattms/feature/support-dune-suitesparse
Cmake: Use upper case for COMPONENTS of FindSuiteSparse
2024-11-22 09:09:26 +01:00
Lisa Julia Nebel
debb7cb036 Add option of comparing only the SMRY file to run-parallel-regressionTest.sh via the flag -s 2024-11-22 08:26:27 +01:00
Kai Bao
588b8215f2
Merge pull request #5680 from lisajulia/feature/ms-wells
Feature/ms wells - part 1: Initial assembly of B C D and the residual
2024-11-21 22:54:48 +01:00
Lisa Julia Nebel
a6d27c18a1 Move 'assemblePerforationEq' to a separate loop (over the segments), communicate the matrix D and the residual afterwards and add the rest that does not need communication afterwards 2024-11-21 16:13:15 +01:00
Lisa Julia Nebel
4b08c37cf0 Add communication in scaleSegmentRatesWithWellRates of MultisegmentWellGeneric to scale the perf_phaserate_scaled with the correct value
Add communication in scale
2024-11-21 16:13:01 +01:00
Lisa Julia Nebel
36f21e2e63 Add comments about the need for communication to the assemble functions of MultisegmentWellAssemble 2024-11-21 16:13:01 +01:00
Lisa Julia Nebel
0ce761c5e6 Make wellhelpers::sumDistributedWellEntries work with other matrices than Dune::DynamicMatrix and add specialization for FieldMatrix<double,2,2>, FieldMatrix<double,3,3> and FieldMatrix<double,4,4> as well as FieldMatrix<float,2,2>, FieldMatrix<float,3,3> and FieldMatrix<float,4,4>
Make wellhelpers::sumDistributedWellEntries work with other matrices than Dune::DynamicMatrix and add specialization for FieldMatrix<double,2,2>, FieldMatrix<double,3,3> and FieldMatrix<double,4,4> as well as FieldMatrix<float,2,2>, FieldMatrix<float,3,3> and FieldMatrix<float,4,4>
2024-11-21 16:12:59 +01:00
Lisa Julia Nebel
4c59df5594 Add function sumDistributed to MultisegmentWellEquations
This functions sums all contributions of a multisegment well for the diagonal of D and the residual.
2024-11-21 16:12:59 +01:00
Lisa Julia Nebel
6ce3f7a385 Add pw_info_ to the MultisegmentWellEquations and use it to fill the matrices B and C correctly 2024-11-21 16:12:59 +01:00
Lisa Julia Nebel
97953887e4 Take the correct perf depth when calculating the depth differences in the the init function of the MultisegmentWell class 2024-11-21 16:12:50 +01:00
Lisa Julia Nebel
8860c598fe Throw an error if the status "well convergence" in iterateWellEqWithSwitching of MultisegmentWell is not the same across all processes 2024-11-21 16:10:55 +01:00
Lisa Julia Nebel
dd895654d7 Other communication measures taken from StandardWells 2024-11-21 16:10:55 +01:00
Lisa Julia Nebel
8a01b89ec9 Store all (global) perforations depths and differences in perforation_depth_diffs_ and well.perfDepth() 2024-11-21 16:10:55 +01:00
Lisa Julia Nebel
dadfe3a634 Use local_perf_index instead of perf index where applicable
The vectors that contain info about the perforations of a
multisegment well are *local* vectors, yet the way we access them
by looping over the perforations is global, so when accessing a value
we need to get the local perforation index (and with this also check
if the perforation actually resides on the own process)
2024-11-21 16:10:49 +01:00
Lisa Julia Nebel
cde38bc23f Rename cell_idx to perf, since it is the perforation index actually 2024-11-21 16:09:15 +01:00
Lisa Julia Nebel
449847da9e Give the parallel well info object to the MultisegmentWellEval class as well 2024-11-21 16:09:15 +01:00
Lisa Julia Nebel
655f4011c7 Calculate the segment rates of the well state correctly, i.e. sum when the well is distributed over multiple processes 2024-11-21 16:09:10 +01:00
Lisa Julia Nebel
9f4fdd09fa Throw an error if the status "lastStepFailed" in prepareStep of BlackoilModel is not the same across all processes 2024-11-21 15:01:46 +01:00
Lisa Julia Nebel
7573ce2e41 Add globalToLocal and localToGlobal functions to the ParallelWellInfo class 2024-11-21 15:01:43 +01:00
Atgeirr Flø Rasmussen
f11c511878
Merge pull request #5707 from blattms/fix/log-section-topology-error
Make sure all errors from parsing show up in the log files.
2024-11-21 12:05:32 +01:00
Bård Skaflestad
20a13eefcd
Merge pull request #5751 from vkip/dont_initsolve_inactive_msw
Do not try to compute initial solution for inactive multi-segment wells split across processors
2024-11-21 10:16:53 +01:00
Tor Harald Sandve
71614ea5b0 Add parameter --nupcol_group_rate_tolerance to be able to set the relative tolerance. Default is 0.001 2024-11-20 17:46:31 +01:00
Tor Harald Sandve
7639450ce1 Update VREP even for iter > nupcol if VREP changes significant 2024-11-20 17:46:31 +01:00
Vegard Kippe
673d541932 Earlier continue and rename vector 2024-11-20 16:25:38 +01:00
Vegard Kippe
e189d56167 Explicit check for inactive wells and throw if trying to initialize a distributed multi-segment well 2024-11-20 15:40:18 +01:00
Bård Skaflestad
b233ed0eae
Merge pull request #5750 from bska/activate-actionx-well-templ-reg-tests
Activate New Regression Tests for ACTIONX Name Matching
2024-11-20 15:39:12 +01:00
Vegard Kippe
c42f02e802 Do not try to compute initial solution for inactive multi-segment wells 2024-11-19 15:57:49 +01:00
Bård Skaflestad
3a2b143504 Activate New Regression Tests for ACTIONX Name Matching
Following PRs OPM/opm-common#4345 and OPM/opm-common#4350, this
commit puts all example models from OPM/opm-tests#1240 into the
simulator's suite of regression tests.
2024-11-19 14:57:27 +01:00
Stein Krogstad
9b54245d9a Only update target of group-controlled wells during updateAndCommunicate 2024-11-19 12:57:42 +01:00
Markus Blatt
c5a84b55dc d/patches: Use upper case for COMPONENTS of FindSuiteSparse
This is what DUNE uses since 2015 makes OPM modules usable as DUNE
modules in all cases.
2024-11-19 10:07:28 +01:00
Atgeirr Flø Rasmussen
5b002b2a77
Merge pull request #5740 from vkip/avoid_glift_segfault
Avoid potential segfault due to invalid vector.end() after erase()
2024-11-18 13:14:38 +01:00
Vegard Kippe
1c22d18771 Restore threshold pressures from restart 2024-11-18 12:59:48 +01:00
Vegard Kippe
7ece35defe Avoid potential segfault due to invalid vector.end() after erase() 2024-11-16 14:34:34 +01:00
Bård Skaflestad
3188ac713a
Merge pull request #5736 from bska/actionx-assign-pattern-match
Chase API Update of Action::Result
2024-11-13 16:09:21 +01:00
Bård Skaflestad
d199977d75 Chase API Update of Action::Result
The type no longer uses operator overloading and the matching entity
back-end has been revised to no longer expose a vector of strings
for the well names directly.
2024-11-13 12:23:52 +01:00
Arne Morten Kvarving
8197b6083a ValidationFunctions: some cleanup
- introduce a type alias for the std::function type
- make implementation of specialValidations() private
- make validateBRINE private
2024-11-12 16:20:32 +01:00
Bård Skaflestad
ac346b4c23
Merge pull request #5730 from akva2/fix_no_failures
fixed: don't fail build if there are no failures
2024-11-12 15:22:40 +01:00
Arne Morten Kvarving
d4d2fa9a17 fixed: don't fail build if there are no failures 2024-11-12 14:31:35 +01:00
Arne Morten Kvarving
e687a5759f
Merge pull request #5728 from kjetilly/remove_umfpack_ifdef
Remove #if HAVE_SUITESPARSE_UMFPACK in WellContributions.hpp
2024-11-12 10:36:52 +01:00
Kjetil Olsen Lye
4210adff57 Removed #if HAVE_SUITESPARSE_UMFPACK in WellContributions.hpp and MultisegmentWellContribution.hpp since Suitesparse is required without #if guards further down. 2024-11-12 10:10:33 +01:00