Commit Graph

2518 Commits

Author SHA1 Message Date
Arne Morten Kvarving
1be9a08d3d RateConverter: use Scalar type of FluidSystem 2024-05-22 09:47:37 +02:00
Arne Morten Kvarving
4e7ab26841 RegionAttributeHelpers: template Scalar type 2024-05-22 09:47:37 +02:00
Arne Morten Kvarving
e3891843df RegionAverageCalculator: use Scalar type of FluidSystem 2024-05-22 09:47:37 +02:00
Arne Morten Kvarving
f65b8ef33b StandardWell: use Scalar type 2024-05-22 09:01:05 +02:00
Arne Morten Kvarving
21c2352c44 StandardWellEval: use Scalar type 2024-05-22 09:01:05 +02:00
Arne Morten Kvarving
5636721bab StandardWellEquations: use Scalar type 2024-05-22 09:01:05 +02:00
Arne Morten Kvarving
e9794e1de5 StandardWellPrimaryVariables: use Scalar type 2024-05-22 09:01:05 +02:00
Arne Morten Kvarving
e6b48dce8b StandardWellConnections: use Scalar type 2024-05-22 08:09:39 +02:00
Arne Morten Kvarving
b736460afd StandardWellAssemble: use Scalar type 2024-05-22 07:58:55 +02:00
Arne Morten Kvarving
d5d16eaee4 VFPHelpers: move some functions into a class with static members
and template Scalar type
2024-05-21 17:01:30 +02:00
Arne Morten Kvarving
3747981347 VFPProperties: template Scalar type 2024-05-21 17:01:30 +02:00
Arne Morten Kvarving
29d142b5e4 VFPProdProperties: template Scalar type 2024-05-21 17:01:30 +02:00
Arne Morten Kvarving
099322b0f0 VFPInjProperties: template Scalar type 2024-05-21 17:01:30 +02:00
Bård Skaflestad
8a4e78e7c4
Merge pull request #5354 from akva2/various_well_helpers_template_scalar
Various well helpers: template Scalar type
2024-05-21 13:14:50 +02:00
Arne Morten Kvarving
8e000d08ce WellAssemble: use Scalar type 2024-05-15 08:19:36 +02:00
Arne Morten Kvarving
9c431d1921 WellBhpThpCalculator: template Scalar type 2024-05-15 08:19:36 +02:00
Arne Morten Kvarving
5a340258aa WellConstraints: template Scalar type 2024-05-15 08:19:36 +02:00
Arne Morten Kvarving
720e177aaa WellConvergence: template Scalar type 2024-05-15 08:19:36 +02:00
Arne Morten Kvarving
96c4a2f510 WellHelpers: template computeHydrostaticCorrection Scalar type 2024-05-15 08:19:36 +02:00
Arne Morten Kvarving
ca9baea09d WellTest: template Scalar type 2024-05-15 08:19:36 +02:00
Arne Morten Kvarving
9bbd23acca WellGroupControls: template Scalar type 2024-05-15 08:19:36 +02:00
Arne Morten Kvarving
d25ea9ec26 WellGroupConstraints: template Scalar type 2024-05-15 08:19:36 +02:00
Atgeirr Flø Rasmussen
48eb73fa80
Merge pull request #5350 from totto82/gpmain_reset
Reset gpmain state when rate is zero
2024-05-15 08:12:16 +02:00
Tor Harald Sandve
c0c301043c Reset gpmain state when rate is zero 2024-05-14 13:14:51 +02:00
Arne Morten Kvarving
3d8e5e5750 WellInterface: use Scalar type 2024-05-14 10:26:58 +02:00
Arne Morten Kvarving
5dfb926643 WellInterfaceIndices: use Scalar type 2024-05-14 10:26:58 +02:00
Arne Morten Kvarving
3067e56182 WellInterfaceFluidSystem: use Scalar type 2024-05-14 10:26:58 +02:00
Arne Morten Kvarving
11b5ba3f18 WellInterfaceGeneric: template Scalar type 2024-05-14 10:26:58 +02:00
Atgeirr Flø Rasmussen
226410cd44
Merge pull request #5303 from akva2/gaslift_template_scalar
GasLift: template Scalar type
2024-05-14 09:59:42 +02:00
Arne Morten Kvarving
3024fba293 fixed: properly avoid inclusion of BDA types if BDA is disabled 2024-05-02 11:37:03 +02:00
Vegard Kippe
91f532c036 Ensure well and accumulated group efficiency factors are applied to the connection energy rates. 2024-04-29 22:52:40 +02:00
Bård Skaflestad
d25c9d035f
Merge pull request #5311 from blattms/fix/uninit-warn
Fixes uninitialized variable warning with gcc-12
2024-04-25 10:34:05 +02:00
Markus Blatt
87c4471f96 Fixes uninitialized variable warning with gcc-12 2024-04-25 09:26:31 +02:00
Arne Morten Kvarving
ec90ca1736 GasLiftSingleWell: use Scalar type 2024-04-24 15:34:07 +02:00
Arne Morten Kvarving
4feebaba4f GasLiftSingleWell: drop indent for namespace 2024-04-24 15:34:07 +02:00
Arne Morten Kvarving
ababeb79c4 GasLiftStage2: template Scalar type 2024-04-24 15:34:07 +02:00
Arne Morten Kvarving
09065dd130 GasLiftSingleWellGeneric: template Scalar type 2024-04-24 15:31:13 +02:00
Arne Morten Kvarving
25de745dab GasLiftWellState: template Scalar type 2024-04-24 15:31:13 +02:00
Arne Morten Kvarving
56dbfde657 GasLiftWellState: drop indent for namespace 2024-04-24 15:31:13 +02:00
Arne Morten Kvarving
772b00bc19 GasLiftGroupInfo: template Scalar type 2024-04-24 15:31:13 +02:00
Arne Morten Kvarving
37fa8cc5b8 GasLiftCommon: template Scalar type 2024-04-24 15:31:13 +02:00
Tor Harald Sandve
bf5380b2c6
Merge pull request #5296 from totto82/fixGasLift2LevelAlqLimit
Redistribute gaslift for groups with alq limit
2024-04-24 14:54:22 +02:00
Tor Harald Sandve
bac49c200e Redistribute gaslift for groups with alq limit 2024-04-24 09:44:09 +02:00
Arne Morten Kvarving
f5d6b69703 BlackoilWellModel: use Scalar type 2024-04-23 11:33:33 +02:00
Arne Morten Kvarving
f0e7f8842b BlackoilWellModelGeneric: template Scalar type 2024-04-23 11:33:33 +02:00
Arne Morten Kvarving
3d381bac91 BlackoilWellModelGuideRates: template Scalar type 2024-04-22 15:39:51 +02:00
Arne Morten Kvarving
77f9692277 BlackoilWellModelConstraints: template Scalar type 2024-04-22 15:39:51 +02:00
Arne Morten Kvarving
ddd61f4176 BlackoilWellModelRestart: template Scalar type 2024-04-22 15:39:51 +02:00
Atgeirr Flø Rasmussen
edf4be5f79
Merge pull request #5227 from akva2/improve_ide_experience
Improve IDE experience
2024-04-22 15:31:08 +02:00
Arne Morten Kvarving
aa03d06c4d WellGroupHelpers: template Scalar type 2024-04-19 11:28:40 +02:00
Arne Morten Kvarving
522625aca8 WellGroupHelpers: change from namespace to class with static members
this to simplify adding support for float Scalars
2024-04-19 11:01:29 +02:00
Arne Morten Kvarving
ca0ca3c43e FractionCalculator: template Scalar type 2024-04-19 11:00:57 +02:00
Arne Morten Kvarving
c226c5c216 InjectionTargetCalculator: template Scalar type 2024-04-19 11:00:44 +02:00
Arne Morten Kvarving
eb3bbbb926 TargetCalculator: template Scalar type 2024-04-19 11:00:38 +02:00
Arne Morten Kvarving
6197aab409 TargetCalculator: move to namespace Opm::WGHelpers 2024-04-19 11:00:28 +02:00
Arne Morten Kvarving
9a42b70f20 TargetCalculator: drop indent for namespace 2024-04-19 11:00:20 +02:00
Arne Morten Kvarving
d6fc7cc4f6 WellGroupHelpers: drop indent for namespace 2024-04-19 10:59:53 +02:00
Arne Morten Kvarving
7354bc6371 GroupEconomicLimitsChecker: template Scalar type 2024-04-17 11:21:34 +02:00
Arne Morten Kvarving
88bc65c201 GroupEconomicLimitsChecker: drop indent for namespace 2024-04-17 11:21:26 +02:00
Arne Morten Kvarving
137741e572 WellFilterCake: template Scalar type 2024-04-17 11:13:01 +02:00
Arne Morten Kvarving
15d75c5228 WGState: template Scalar type 2024-04-17 11:12:40 +02:00
Arne Morten Kvarving
67f1811234 GroupState: template Scalar type 2024-04-17 11:12:40 +02:00
Arne Morten Kvarving
be57843296 WellState: template Scalar type 2024-04-17 11:12:40 +02:00
Arne Morten Kvarving
58f334b264 ALQState: template Scalar type 2024-04-17 11:12:40 +02:00
Arne Morten Kvarving
ab0e696709 SingleWellState: template Scalar type 2024-04-17 11:12:40 +02:00
Arne Morten Kvarving
e46e52f3dc SegmentState: template Scalar type 2024-04-17 11:12:40 +02:00
Arne Morten Kvarving
d350049876 PerfData: template Scalar type 2024-04-17 11:12:40 +02:00
Arne Morten Kvarving
ea1f4f822b ConnFiltrateData: template Scalar type 2024-04-17 11:12:40 +02:00
Arne Morten Kvarving
3b3fb6752c ConnFiltrateData: remove indent for namespace 2024-04-17 11:12:40 +02:00
Bård Skaflestad
456e149a64
Merge pull request #5290 from akva2/constraints_fix_bare_throw
BlackoilWellModelConstraints: fix throw of bare string
2024-04-17 11:06:25 +02:00
Arne Morten Kvarving
a3f554e4fb fixed: don't throw a bare string
and use OPM_THROW
2024-04-17 10:38:40 +02:00
Arne Morten Kvarving
99f45ae916 BlackoilWellModelConstraints: use fmt 2024-04-17 10:38:40 +02:00
Arne Morten Kvarving
2886fe2fe9 BlackoilWellModelConstraints: break some long lines 2024-04-17 10:38:37 +02:00
Arne Morten Kvarving
a6cb9134ff WellState: remove template parameters for comm
use Parallel::Communication directly instead
2024-04-17 09:37:04 +02:00
Arne Morten Kvarving
6b5cd88bee WellGroupHelpers: drop unnecessary template parameter
use Parallel::Communication type directly
2024-04-15 11:26:08 +02:00
Bård Skaflestad
b1be391d4c
Merge pull request #5172 from totto82/gconprod7
Implement WELL as group limit action
2024-04-11 17:36:55 +02:00
Arne Morten Kvarving
0161d69660 adjust to removal of EWOMS_GET_PARAM 2024-04-05 14:02:28 +02:00
Tor Harald Sandve
2210b523e4 Close worst-offending well based on ratio between violated and preferred phase 2024-04-03 09:16:39 +02:00
Tor Harald Sandve
920ad68782 Implement WELL as group limit action
And remove G as unsupported option in WTEST
2024-04-03 08:51:09 +02:00
Arne Morten Kvarving
ba96a94277 avoid derefing out-of-bounds if there are no alqs 2024-04-02 16:43:02 +02:00
Arne Morten Kvarving
cecedc1042 fixed: rate converter must be initialized early if WELLPI is enabled 2024-04-02 16:42:40 +02:00
Arne Morten Kvarving
ae60f0b640 BlackoilWellModel: header cleanup
add necessary headers, remove unused
2024-04-02 14:20:50 +02:00
Markus Blatt
1243148d38
Merge pull request #5264 from akva2/fix_oob_no_wells
fixed: out-of-bounds reference with no wells
2024-04-02 10:48:26 +02:00
Arne Morten Kvarving
c263ae9b66 fixed: out-of-bounds reference with no wells 2024-04-01 21:34:42 +02:00
Kai Bao
29358ee70b removing the including of FlowProblem in BlackoilWellModel 2024-03-27 13:12:55 +01:00
Markus Blatt
dc17b86865
Merge pull request #5261 from blattms/fix-libfmt-call
[bugfix] Correctly form debug message to avoid exceptions in libfmt.
2024-03-22 15:03:06 +01:00
Markus Blatt
fee12696cb [bugfix] Correctly form debug message to avoid exceptions in libfmt. 2024-03-22 14:12:05 +01:00
Atgeirr Flø Rasmussen
1507529151
Merge pull request #5229 from akva2/wghelpers_simplify_comm
WellGroupHelpers: use type alias instead of template parameter for Comm
2024-03-21 11:16:14 +01:00
Bård Skaflestad
7056c81a7b Allow for Sparse Source-Location Subsets
If a well is nominally connected in inactive cells, i.e., if its
connections have not been filtered down to the active connections
only, then 'allIndices' may not be a permutation of

    0 .. allIndices.size()-1

Handle this case by sizing 'storageIndex_' according to the maximum
index value insted of 'allIndices.size()'.
2024-03-19 09:17:48 +01:00
Bård Skaflestad
4a87dcf5f3 Use In-place Construction of PerforationData Objects
This is (slightly) faster than construct + copy.
2024-03-19 09:16:23 +01:00
Arne Morten Kvarving
c5eb0816e6 fixed: we need to call loadRestartData on all processes
we need to read in group data even if there are no
local wells
2024-03-12 11:08:07 +01:00
Arne Morten Kvarving
1f4b248564 WellInterfaceIndices: remove unnecessary Scalar template parameter
use the Scalar type from the FluidSystem
2024-03-08 15:13:53 +01:00
Arne Morten Kvarving
215d22730b MultisegmentWellSegments: remove unnecessary Scalar template parameter
use the Scalar type from the FluidSystem
2024-03-08 15:13:53 +01:00
Arne Morten Kvarving
58e8022bb1 MultisegmentWellEval: remove unnecessary Scalar template parameter
use the Scalar type from the FluidSystem
2024-03-08 15:13:53 +01:00
Arne Morten Kvarving
e2e6385918 MultisegmentWellPrimaryVariables: remove unnecessary Scalar template parameter
use the Scalar type from the FluidSystem
2024-03-08 15:13:53 +01:00
Arne Morten Kvarving
5affbf4bd5 StandardWellPrimaryVariables: remove unnecessary Scalar template parameter
use the Scalar type from the FluidSystem
2024-03-08 15:13:53 +01:00
Arne Morten Kvarving
9997cde07a StandardWellEval: remove unnecessary Scalar template parameter
use the Scalar type from the FluidSystem
2024-03-08 15:13:53 +01:00
Arne Morten Kvarving
2fb05a4996 StandardWellConnections: remove unnecessary Scalar template parameter
use the Scalar type from the FluidSystem
2024-03-08 15:13:53 +01:00
Arne Morten Kvarving
9ab6ab27a0 MultisegmentWellAssemble: remove unnecessary Scalar template parameter
use the Scalar type from the FluidSystem
2024-03-08 15:13:53 +01:00
Arne Morten Kvarving
b2139d2cdf StandardWellAssemble: remove unnecessary Scalar template parameter
use the Scalar type from the FluidSystem
2024-03-08 15:13:52 +01:00
Arne Morten Kvarving
3284ba80e8 StandardWell: rename ebosSimulator to simulator 2024-03-08 12:39:48 +01:00
Arne Morten Kvarving
fb7c4f6fd2 move ebos/eclproblem.hh to opm/simulators/flow 2024-03-08 12:39:48 +01:00
Arne Morten Kvarving
3475da7d8c Rename ebos_simulator members/parameters to simulator 2024-03-06 10:53:00 +01:00
Kai Bao
cd9a208757
Merge pull request #5166 from akva2/indices_drop_ebos
Drop ebos in index functions
2024-03-05 23:31:27 +01:00
Kai Bao
c61f0b104c outputting segments with pressure close to lower limit
if the well does not get converged.
2024-03-02 16:28:33 +01:00
Kai Bao
f7ad5cb211 not using spres_lower_limit limit non-top segments
with multi-segments, the segment pressure can be lower than the bhp, so
it is not desirable to use spres_lower_limit to limit the segment
pressure. We only use spres_lower_limit to limit the bhp, which is still
valid until we begin using bhp limit lower than 1 bar.
2024-03-02 15:19:17 +01:00
Markus Blatt
5bafd76b94
Merge pull request #5230 from akva2/fractioncalculator_split
FractionCalculator: put in separate translation unit
2024-02-29 08:22:59 +01:00
Kai Bao
06dba324d2
Merge pull request #5221 from vkip/avoid_injector_alq_lookup
Avoid injector alq lookup
2024-02-28 11:40:27 +01:00
Arne Morten Kvarving
33dcc0bd50 FractionCalculator: put in separate translation unit 2024-02-27 13:00:23 +01:00
Arne Morten Kvarving
dc95f0534c WellGroupHelpers: use type alias instead of template parameter for Comm 2024-02-27 12:29:08 +01:00
Arne Morten Kvarving
fd33e2262a WellInterface: improve IDE experience 2024-02-27 10:43:03 +01:00
Arne Morten Kvarving
d0072727cd StandardWell: improve IDE experience 2024-02-27 10:43:03 +01:00
Arne Morten Kvarving
865079bbe1 MultisegmentWell: improve IDE experience 2024-02-27 10:43:03 +01:00
Arne Morten Kvarving
f9a2c63519 GasLiftSingleWell: improve IDE experience 2024-02-27 10:43:03 +01:00
Arne Morten Kvarving
90aadd4c94 BlackoilWellModel: improve IDE experience 2024-02-27 10:43:03 +01:00
Arne Morten Kvarving
73410e1c3a remove unused includes 2024-02-23 08:20:14 +01:00
Arne Morten Kvarving
9cc13977b0 MultisegmentWell: use CTAD 2024-02-23 08:20:14 +01:00
Vegard Kippe
6a760f40dd Avoid looking up (non-existing) ALQ value for injectors. 2024-02-22 14:33:39 +01:00
Kai Bao
60594a5e1b
Merge pull request #5129 from steink/avoid_reopening_stopped_wells
Avoid re-opening previously stopped wells
2024-02-12 14:44:15 +01:00
Arne Morten Kvarving
dd290b4a1d RegionAverageCalculator: rename EbosSimulator to Simulator 2024-02-08 14:45:29 +01:00
Arne Morten Kvarving
7706748210 RateConverter: rename EbosSimulator to Simulator 2024-02-08 14:45:02 +01:00
Arne Morten Kvarving
c0a50597a1 BlackoilWellModel::computePotentials: improve exception message
- add which well the exception added for
- concatenate message for all exceptions to show all, not just last exception
2024-02-07 14:12:54 +01:00
Arne Morten Kvarving
34e883c1de WellInterfaceFluidSystem: rename flowPhaseToEbosPhaseIdx to flowPhaseToModelPhaseIdx 2024-02-07 08:08:30 +01:00
Arne Morten Kvarving
c4c7d2e4f5 WellInterfaceIndices: rename ebosCompIdxToFlowCompIdx to modelCompIdxToFlowCompIdx 2024-02-07 08:08:30 +01:00
Arne Morten Kvarving
c029a57c72 WellInterfaceIndices: rename flowPhaseToEboxCompIdx to flowPhaseToModelCompIdx 2024-02-07 08:08:30 +01:00
Bård Skaflestad
f6c5397af2
Merge pull request #5139 from GitPaean/shutwell_noxflow_zerorate
shutting wells zero rate constraint and not allowing crossflow
2024-02-02 09:59:05 +01:00
Tor Harald Sandve
6afee54ec0
Merge pull request #5140 from svenn-t/fix_grat_solvent
Fix WCONPROD GRAT control mode with solvent
2024-02-02 08:21:39 +01:00
Kai Bao
e5e9143a2a shutting wells zero rate constraint and not allowing crossflow 2024-02-01 23:09:53 +01:00
Arne Morten Kvarving
dd92a7446c BlackoilModelParametersEbos: rename to BlackoilModelParameters 2024-02-01 09:05:40 +01:00
Svenn Tveit
b65f85a6c4 Add solvent rate in GRAT control mode 2024-01-31 18:18:19 +01:00
Kai Bao
2ddba5b339
Merge pull request #5128 from steink/fix_network_convergence_issues
Fix network convergence issues
2024-01-30 00:17:09 +01:00
Stein Krogstad
97477ea593 avoid re-opening previously stopped wells 2024-01-26 16:24:09 +01:00
Stein Krogstad
24c4f75ecb Use stricter tolerance when dynamic thp 2024-01-26 15:02:14 +01:00
Stein Krogstad
a9ab62e6b8 Don't set lower bound on network update 2024-01-26 14:58:06 +01:00
Vegard Kippe
31b46b4829 Revert the choice to open history wells at every step, since this may cause some models to be stuck at very short time steps. 2024-01-26 12:05:26 +01:00
Bård Skaflestad
d2af824b27
Merge pull request #5120 from atgeirr/avoid-nldd-crash
Avoid illegal combination of options.
2024-01-25 15:38:36 +01:00
Bård Skaflestad
6dd043446e Communicate Dynamic Transmissibility Multiplier to Output Layer
This commit captures the rock compaction transmissibility multiplier
in the 'PerfData' during the non-lienear iterations and communicates
the converged value back to the output layer through the new data
member to the data::Connection structure,

    double data::Connection::compact_mult
2024-01-25 09:35:08 +01:00
Bård Skaflestad
8a8af09e7a Defer More Static D-Factor Calculation to Connection Class
In particular, we don't need the porosity value anymore now that the
"getDFactor()" function takes only the component density of gas at
surface conditions, the current dynamic gas viscosity at reservoir
conditions and a Connection object.

While here, split a few long lines and make more objects 'const' for
better maintainability.
2024-01-24 18:03:09 +01:00
Atgeirr Flø Rasmussen
3c4dd1f3b7 Avoid illegal combination of options.
NLDD requires --matrix-add-well-contributions=true for now.

Also: minor improvement to well rank and subdomain output clutter.
2024-01-24 14:19:07 +01:00
Bård Skaflestad
24ebb77257
Merge pull request #5116 from atgeirr/parallel-well-domain-output
Parallel well domain and error logging for NLDD
2024-01-23 15:41:11 +01:00
Arne Morten Kvarving
98c704c1c3 changed: move ebos/eclmpiserializer.hh to opm/simulators/utils/MPISerializer.hpp
it does not use the typetag system
2024-01-23 10:51:32 +01:00
Atgeirr Flø Rasmussen
1842df7cfd Output well subdomain info properly in the parallel case. 2024-01-19 16:15:53 +01:00
Bård Skaflestad
ceffbd2fc5 Chase Constructor API Change for Opm::Connection Class 2024-01-15 11:05:02 +01:00
Bård Skaflestad
534465d212
Merge pull request #5104 from atgeirr/nldd-improved-reporting
Nldd improved reporting
2024-01-15 11:00:58 +01:00
Atgeirr Flø Rasmussen
6eb670b5c7 Improve parallel logging in NLDD solver. 2024-01-15 09:08:52 +01:00
Tor Harald Sandve
d72ea5fcb0 add option for explicit pressure for rock compaction (only transmissibility) 2024-01-11 16:09:08 +01:00
Stein Krogstad
cdb43d917b Include all derivatives for acceleration term in MS wells 2024-01-09 11:59:07 +01:00
Vegard Kippe
b7b99a2445 Fixed var names 2023-12-20 15:06:01 +01:00
Vegard Kippe
32634f47d1 Properly check both positive and negative solutions to the connection IPR with flow-dependent skin 2023-12-20 14:20:50 +01:00
Vegard Kippe
ab690980de Pick valid rate or use zero flow-dependent skin 2023-12-20 14:20:50 +01:00
Vegard Kippe
d252f069e4 Test using rate consistent D-factor transmissibility multipliers 2023-12-20 14:20:50 +01:00
Stein Krogstad
e908c95ca2 Avoid call to saturationPressure 2023-12-19 09:54:52 +01:00
Bård Skaflestad
fc73a51310
Merge pull request #4873 from vkip/wsegvalv_uda_item4
Allow UDA for WSEGVALV item 4
2023-12-13 21:19:27 +01:00
Vegard Kippe
fcc3a19a42 Explicit cast to avoid narrowing warning. 2023-12-13 14:34:36 +01:00
Arne Morten Kvarving
6e21bdb35b GroupEconomicLimitsChecker: use std::array 2023-12-12 15:56:08 +01:00
Arne Morten Kvarving
d9cd6b51c3 GroupEconomicLimitsChecker::closeWellsRecursive: pass group as const ref 2023-12-12 15:53:37 +01:00
Arne Morten Kvarving
825b4b6677 GroupEconomicLimitsChecker: cleanup includes 2023-12-12 15:51:37 +01:00
Vegard Kippe
62de832e8b Post review update 2023-12-12 09:52:01 +01:00
Vegard Kippe
62ac4dc663 Take default UDQ value from UDQPARAM 2023-12-12 09:52:01 +01:00
Vegard Kippe
15305e467d Allow UDA for WSEGVALV item 4 2023-12-12 09:51:50 +01:00
Arne Morten Kvarving
035bd3a725 GasLiftXXX: clean up includes
in particular avoid including GasLiftStage2.hpp in BlackoilWellModel
2023-12-11 15:55:05 +01:00
Arne Morten Kvarving
7841f6abcb remove dead store 2023-12-08 18:42:41 +01:00
Arne Morten Kvarving
3534c6d1fa mark overriden virtual method as such 2023-12-08 18:42:21 +01:00
Atgeirr Flø Rasmussen
a52877081e
Merge pull request #5046 from blattms/comm-exception-wetgaspvt-sat-pressure
[fix,MPI] Handle exception during assembleWellEqWithoutIteration correctly
2023-12-08 13:02:42 +01:00
Stein Krogstad
051f4d4eab Remove early-return functionality due to unintended consequences 2023-12-08 00:36:39 +01:00
Markus Blatt
50e1d09a8c Add semicolon to help with indentation. 2023-12-07 16:41:16 +01:00
Markus Blatt
260dac77a5 [MPI] Handle exception during assembleWellEqWithoutIteration correctly
For this particular model WetGasPVT::saturationPressure did throw
because convergence in the newton solver is not reached in 20
iterations. Unfortunately, the exception was only seen on one MPI rank
and the others continued.

With this commit we communicate the problem and throw on all MPI
processes. Time step will be cut as a result.
2023-12-07 15:41:35 +01:00
Stein Krogstad
7c91c015cf updates according to Atgeirrs comments 2023-12-07 13:09:00 +01:00
Stein Krogstad
1fd1c5afc6 Updates according to Atgeirr's comments 2023-12-07 13:09:00 +01:00
Stein Krogstad
00bd006eb4 Fix bugs 2023-12-07 13:09:00 +01:00
Stein Krogstad
94cde80235 always set wells operable to avoid skipping linear solve/updating 2023-12-07 13:09:00 +01:00
Stein Krogstad
2121373e4f clean-up 2023-12-07 13:09:00 +01:00
Stein Krogstad
5083052a3f clean-up, fixing and add debug info 2023-12-07 13:09:00 +01:00
Stein Krogstad
743c7bd120 add argument to get proper conv for well-copies 2023-12-07 13:09:00 +01:00
Stein Krogstad
9a5aef6e5e move function for proper access to well_state 2023-12-07 13:09:00 +01:00
Stein Krogstad
88ede7b7fc revert to original 2023-12-07 13:09:00 +01:00
Stein Krogstad
ee16e90ba2 fix well-convergence for well-copies 2023-12-07 13:09:00 +01:00
Stein Krogstad
03366b92eb include thp-solve for potentials 2023-12-07 13:09:00 +01:00
Stein Krogstad
44e17fa615 cleanup thp-solve 2023-12-07 13:09:00 +01:00
Stein Krogstad
3e6732a67b rename to implicit_ipr 2023-12-07 13:09:00 +01:00
Stein Krogstad
746e05db5d Include implicit ipr for ms-wells 2023-12-07 13:09:00 +01:00
Stein Krogstad
b287981e5e testing 2023-12-07 13:09:00 +01:00
Stein Krogstad
7aa50f149f updates 2023-12-07 13:09:00 +01:00
Stein Krogstad
2470b20d13 final revert 2023-12-07 13:09:00 +01:00
Stein Krogstad
94c0b49cf7 revert changes 2023-12-07 13:09:00 +01:00
Bård Skaflestad
d2ee47de7f
Merge pull request #5041 from steink/prevent_nans_for_valve_models
Guard against nans from certain expressions in the valve models
2023-12-06 19:42:32 +01:00
Stein Krogstad
4355a94511 make reference to parameter 2023-12-06 14:45:18 +01:00
Markus Blatt
abd387abba
Merge pull request #5036 from blattms/comm-sigular-mat-exception
Communicate exceptions during WellModel::updateAndCommunicate
2023-12-06 09:54:00 +01:00
Stein Krogstad
a483839caa return zero for powers with negative base 2023-12-05 21:28:54 +01:00
Markus Blatt
3a9c586d19 Make sure that problems with singular matrices are logged.
Previously, if the problem occured on an MPI process with rank other
than zero the the logging would not seen (at least in the output
files). Now together with the previous commit the problem should be
logged together with the well name and calling method.
2023-12-04 23:15:08 +01:00
Markus Blatt
779dd74923 Communicate exceptions during WellModel::updateAndCommunicate
For multi segment well the underlying call to
MultisegmentWell::updateWellStateWithTarget (at least if
updateWellStateWithTHPTargetProd is called for a producer under thp
control) might throw as there might be a singular matrix during the
solve needed in MultisegmentWell::iterateWellEqWithControl.

Previously, if that happened then the MPI process where it happened would
stop the nonlinear iteration as failed and try with a chopped time
step. The others might go one with the current time step and we would
see MPI errors about truncated messages.

Now we communicate any exception happening during this part of
WellModel::updateAndCommunicate and all processes will stop the
nonlinear iteration as failed and chop the time step.
2023-12-04 22:26:55 +01:00
Vegard Kippe
55067636f4 Ensuring that the UDA is updated every time step, not just only report step. 2023-12-01 19:44:09 +01:00
Vegard Kippe
fa6697a5fa Capture reference in lambda 2023-12-01 13:30:48 +01:00
Vegard Kippe
69f82f1104 Allow using UDQ for WCONPROD item 12 (ALQ) 2023-12-01 13:21:34 +01:00
Vegard Kippe
17452e0fc6 Adding const 2023-12-01 09:34:42 +01:00
Vegard Kippe
0acb148ba7 Using std::exception 2023-11-30 16:13:40 +01:00
Vegard Kippe
2294983759 Catch exceptions from well testing (often: inf/nan in MSW matrices). 2023-11-29 09:17:53 +01:00
Bård Skaflestad
5fe1eafb34
Merge pull request #5026 from totto82/fix_gpmaint2
Bugfix sign of gpmaint prod
2023-11-28 11:16:03 +01:00
Tor Harald Sandve
f7323bd679 fix sign of gpmaint prod 2023-11-27 15:10:11 +01:00
Atgeirr Flø Rasmussen
cb3ab14a71
Merge pull request #5025 from blattms/expect-singular-matrices-upate-WellControl
[bugfix] Expect singular matrices, terminate updateWellControls/nonlinear and cut timestep
2023-11-27 08:42:11 +01:00