Commit Graph

2518 Commits

Author SHA1 Message Date
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
Markus Blatt
31ab752ae6 [fix] Parallel try-catch also added for updateWellControls for groups.
Not sure whether this is needed, but better safe than sorry.
2023-11-25 21:04:13 +01:00
Markus Blatt
50c25ead52 [bugfix] Expect singular matrices and terminate updateWellControls.
We are experiencing singular matrices when solving mulisegment wells
sometimes. In that case (here during
BlackoilModelEbos::assembleReservoir <-
BlackoilModelEbos::initialLinerization <-
BlackoilModelEbos:::nonlinearIterationNewton ) an exception is thrown
when updating the controls of a well.

The problem here is that this exception only happens on one
process. That one goes to the catch block in
NonLinearSolverEbos::step, marks the nonlinear solve as failed and
cuts the time step. The others move to the collective communication
below. Somehow and somewhen all end up in a non-matching collective
communication with different data types and we get an MPI Error that
the message was truncated.

Now all processes will throw, terminate the nonlinear solver and cut
the timestep as it should be.
2023-11-25 19:32:11 +01:00
Bård Skaflestad
cd94ac3a7c
Merge pull request #5023 from totto82/wpimult
Adapt wdfac to wpimult
2023-11-23 16:28:32 +01:00
Bård Skaflestad
7343aca2be
Merge pull request #5018 from blattms/parallel-well-fixes
[fix] Do parallel sums with int instead of bool.
2023-11-23 16:24:36 +01:00
Tor Harald Sandve
e1aa233026 Adapt wdfac to wpimult 2023-11-23 15:22:51 +01:00
Kai Bao
3aed0b9501 not updating the connection pressure for StandardWell
at the early stage of computeWellRatesWithBhpIterations. The perforation rates are not updated,
and it is not sensible to update based on the inconsistent well rates and perforation rates.

Better to keep the original explicit quantities for better consistency.

Furthermore, it can be dangerous to update the explicit quantities based on the
irrelevant perforation rates, since the ratios can be very undesirable due to crossflow.
2023-11-23 09:13:57 +01:00
Stein Krogstad
b08bc029e6 Fix shut-in logic for wells with shut-intructions 2023-11-22 16:53:48 +01:00
Markus Blatt
6a866ac8d2 [fix] Do parallel sums with int instead of bool.
Using bool here is at least frowned upon. To be honest, I have no idea
what happens underneath here if we pass a bool. In contrast to other
pod types we do not associate it with a builtin type of MPI (not even
sure what to use). Hence we probably create a custom type for sending
and receiving. That should work. But I have no idea what will be used
for summation.

BTW: I am debugging a case that previously crashed and now suddenly
works and this seems to be the only relevant change I made in the
meantime.
2023-11-22 16:50:57 +01:00
Bård Skaflestad
8dca5a931e
Merge pull request #5005 from totto82/fixWDFACCOR
dont scale d factor from wdfaccor with connection factor
2023-11-22 14:55:51 +01:00
Tor Harald Sandve
be06132702 remove trans multiplier from dake 2023-11-22 13:59:06 +01:00
Tor Harald Sandve
4879896789 adapt to refactoring of getDFactor 2023-11-22 09:17:28 +01:00
Tor Harald Sandve
ecd9930225 dont scale d factor from wdfaccor 2023-11-21 17:51:36 +01:00
Tor Harald Sandve
ee77d30fe5 Add output of connection dissolved gas and vapporized oil 2023-11-21 14:29:40 +01:00
Kai Bao
6ab809c69d
Merge pull request #5004 from blattms/control-mode-typo
Fixed typo: control model -> control mode.
2023-11-20 09:13:03 +01:00
Markus Blatt
de50fe5702 Fixed typo: control model -> control mode. 2023-11-20 08:29:24 +01:00
Vegard Kippe
abbcb4b148 Check if a well was closed this step before re-opening in history mode 2023-11-17 17:29:30 +01:00
Bård Skaflestad
c559de51cf
Merge pull request #4996 from totto82/fixWDFAC
Fix wdfac and d factor in comdat
2023-11-17 09:09:22 +01:00
Tor Harald Sandve
82cb3c3b53 Fix connection and well dfactor
The well dfactor is scaled by the well index

If postive the connection dfactor is threated as a well factor
and also scaled. If negative the connection dfactor is not scaled
2023-11-16 14:50:59 +01:00
Kai Bao
e355990ac2
Merge pull request #4999 from vkip/always_open_historic_wells
Always check if wells on historic controls can be opened
2023-11-15 20:29:21 +01:00
Vegard Kippe
e0d1ff9c66 Always check if wells on historic controls can be opened 2023-11-15 19:04:48 +01:00
Bård Skaflestad
f195f73949 Extract Binary_Search Out to Helper
Mostly for readability.
2023-11-15 13:31:41 +01:00
Bård Skaflestad
0b2c396a01
Merge pull request #4961 from vkip/network_restart_use_node_pressures
Use network pressures from restart
2023-11-15 09:46:35 +01:00
Tor Harald Sandve
0f12977b17 only use d factor for gas wells 2023-11-14 12:45:25 +01:00
Tor Harald Sandve
e33d27ca90
Merge pull request #4973 from daavid00/enabledisgaswatvap
Enabling disGas and watVap at compile time for gasWaterBrine systems
2023-11-13 15:01:38 +01:00
Kai Bao
bbdad520d6
Merge pull request #4915 from vkip/network_multi_root
Support computation of network pressures in networks with multiple roots
2023-11-13 14:39:07 +01:00
Arne Morten Kvarving
ddd0c5629d GasLiftSingleWellGeneric: avoid dead store
all branches below write a new value
2023-11-10 14:32:30 +01:00
Vegard Kippe
4ce9c41a37 Replacing loop by assignment 2023-11-10 09:01:09 +01:00
Bård Skaflestad
16c8184e3f
Merge pull request #4914 from vkip/extra_network_output
Allow output of network pressures based on rates at end of time step
2023-11-09 23:19:48 +01:00
Bård Skaflestad
7832c1ba54
Merge pull request #4976 from totto82/fix_rsw
Fix rsw computation of wellbore density for StW
2023-11-09 09:37:16 +01:00
Kai Bao
25b007c46e
Merge pull request #4945 from vkip/network_reroute
Network reroute - avoid looking up nonexisting nodes
2023-11-08 19:59:40 +01:00
Atgeirr Flø Rasmussen
749ea93e24 Add and use OPM_DEFLOG_PROBLEM macro.
This should replace OPM_DEFLOG_THROW in places where the problem
category is more appropriate than the error category.

In this commit, uses of OPM_DEFLOG_THROW have been replaced whenever
the exception class used was NumericalProblem.
2023-11-08 15:16:17 +01:00
David Landa Marban
92de5355b2 Enabling disGas and watVap at compile time for gasWaterBrine 2023-11-07 18:35:30 +01:00
Bård Skaflestad
abfb5c9d82 Update Well Topology if Triggered From ACTIONX
This commit adds a new flag data member,

    wellStructureChangedDynamically_

to the generic black-oil well model.  This flag captures the

    well_structure_changed

value from the 'SimulatorUpdate' structure in the updateEclWells()
member function.  Then, in BlackoilWellModel::beginTimeStep(), we
key a well structure update off this flag when set.  This, in turn,
enables creating or opening wells as a result of an ACTIONX block
updating the structure in the middle of a report step.
2023-11-07 17:02:18 +01:00
Tor Harald Sandve
26247a2aba Fix rsw computation of wellbore density for StW 2023-11-07 15:53:51 +01:00
Stein Krogstad
0756e2d1c1 Initialize rates/previous rates before well-test 2023-11-06 11:46:44 +01:00
Arne Morten Kvarving
e3cd06c164 avoid uninitialized value static analyzer warning 2023-11-06 08:56:53 +01:00
Arne Morten Kvarving
fa45790bfb changed: rename variable
this indicates that bracketing was successfully found,
not that we are looking for a bracket
2023-11-06 08:56:53 +01:00
Bård Skaflestad
9233e32d81
Merge pull request #4826 from totto82/fixResvRates
Compute resv rates based on pressure and temperature in the well for injectors in thermal cases
2023-11-01 16:24:10 +01:00
Vegard Kippe
14b7f926da Avoid looking up nonexisting nodes.. 2023-11-01 13:36:21 +01:00
Tor Harald Sandve
d7401e3b6b
Merge pull request #4919 from daavid00/saltprecPermFac
Multiply well trans due to perm reduction in salt prec
2023-11-01 13:29:57 +01:00
Bård Skaflestad
17886f934c
Merge pull request #4924 from GitPaean/fixing_gecon_welopen
use the WELL_SET_TO_OPEN event to open closed wells
2023-11-01 10:24:18 +01:00
David Landa Marban
c93d46c1be Mult well trans due to perm reduction in salt prec 2023-10-31 22:11:55 +01:00
Bård Skaflestad
bf72698310
Merge pull request #4832 from totto82/wdaccor_refactor
Implement Forchheimer term in wellIndex
2023-10-31 17:46:49 +01:00
Vegard Kippe
c9cc261891 Use network pressures from restart 2023-10-30 23:26:35 +01:00
Vegard Kippe
429b312bc0 Re-introducing check for negative reportStepIdx and adding forgotten hasGroup check. 2023-10-27 20:30:48 +02:00
Vegard Kippe
f137565bb6 Avoid exception for non-group nodes 2023-10-26 19:35:56 +02:00
Vegard Kippe
5fbf981af8 Output of network pressures based on rates at end of time step 2023-10-26 19:35:56 +02:00
Tor Harald Sandve
a40ede9957 Compute reservoir injection rates from well temperature and pressure for thermal cases 2023-10-26 15:57:41 +02:00
Kai Bao
3e03ebbb58 making a few assertion to throw in StandardWellPrimaryVariables
to get more outputting information and also avoid harsh termination due
to assert.

They are technically numerical problem instead of programming mistakes.
2023-10-26 11:36:25 +02:00
Bård Skaflestad
95bc3822fb
Merge pull request #4948 from GitPaean/glo_active_enter_glift
checking LIFTOPT active before gliftBeginTimeStepWellTestUpdateALQ and before attempting to optimize alq in gliftBeginTimeStepWellTestIterateWellEquations
2023-10-26 09:06:23 +02:00
Kai Bao
beda7a0b35 checking LIFTOPT active before trying to optimizing alq
in gliftBeginTimeStepWellTestIterateWellEquations.

otherwise, if the increment is 0 (inactive), the function
gliftBeginTimeStepWellTestIterateWellEquations
might return undesired results or enter endless loop.
2023-10-25 23:00:54 +02:00
Kai Bao
2b97c3fe1d checking LIFTOPT active before gliftBeginTimeStepWellTestUpdateALQ
to avoid meaningless message output related to GLIFT and WTEST
2023-10-25 21:45:19 +02:00
Tor Harald Sandve
90e791877c Implement Forchheimer term in wellIndex
Add output of CDFAC

Add effect of compaction on CTFAC
2023-10-23 08:55:21 +02:00
Kai Bao
83ed0f01e5 use the REQUEST_OPEN_WELL event to open closed wells 2023-10-20 13:08:07 +02:00
Stein Krogstad
57c960d7c5 default value of option for extra derivatives 2023-10-19 15:12:00 +02:00
Stein Krogstad
dd6d195a6b Add missing reverse flow derivatives for valve/icd/aicd 2023-10-19 15:12:00 +02:00
Bård Skaflestad
b60eb25285
Merge pull request #4918 from GitPaean/remove_white_spaces_wells_folder
removing white spaces in the wells folder
2023-10-19 09:08:03 +02:00
Bård Skaflestad
d98de155de
Merge pull request #4930 from GitPaean/not_reset_thp_value_well_state
not setting THP to be zero based whether having THP constraint from the Deck input in the WellState
2023-10-16 22:02:43 +02:00
Kai Bao
e1018e2815 if there is no VFP table associated with the well
we set the thp to be zero in the WellState. The previous logic related
this to THP constraints does not hold in multiple situations:
1. VFP table is specified, we need the THP value for output purpose
2. network is involved, we need the THP value for constraint check.
2023-10-16 21:43:18 +02:00
Kai Bao
b975ebff65
Merge pull request #4881 from vkip/no_network_solve_in_history
Avoid iterating network if no network wells are in prediciton mode
2023-10-16 14:54:36 +02:00
Vegard Kippe
5bb0942a02 Reverting unintended change. 2023-10-16 10:38:08 +02:00
Kai Bao
f5d3489d23 distinguishing report step and time step
for the funcitons related to createWellContainer() and
runWellPIScaling().

So it is not exhaustive, but we should do it gradually.
2023-10-11 11:33:02 +02:00
Kai Bao
a525f0865f removing white spaces in the wells folder 2023-10-09 11:14:48 +02:00
Vegard Kippe
56997655d1 Support computation of network pressures in networks with multiple roots 2023-10-06 18:29:12 +02:00
Vegard Kippe
77bb7aa9cf Let reported pressures (GPR) respect the NETBALAN configuration 2023-10-06 15:15:43 +02:00
Vegard Kippe
389db91839 Slight restructuring/renaming for (possibly) improved clarity. 2023-10-06 15:15:43 +02:00
Vegard Kippe
a8b4c25bfb Separate network active and need for rebalance bool + perform check per timestep only. 2023-10-06 15:15:43 +02:00
Vegard Kippe
663c62e366 Avoid iterating network if no network wells are in prediciton mode 2023-10-06 15:15:42 +02:00
Arne Morten Kvarving
900056e8d7 mark variable maybe_unused
quells a clang warning
2023-10-05 09:31:36 +02:00
Markus Blatt
6a705b9b8e Fixed spelling. 2023-10-04 13:24:01 +02:00
Markus Blatt
9279ce19e8 [bugfix] Fixes stopping network update in parallel at max steps.
We did only break in the loop for rank 0 and not the other ones. Hence
all other processes kept iterating beyond the maximum number of
allowed iterations. This lead to hard to find crashes because of
non-matching MPI communication.
2023-10-04 12:56:44 +02:00
Markus Blatt
fa04666b8a
Merge pull request #4888 from blattms/fix-compute-temperature-for-distwells
Fixes computation of temperature for distributed wells.
2023-10-02 17:22:09 +02:00
Kai Bao
b1974bbe45 recovering the SHUT during iteration beahvoir in prepareWellBeforeAssembling
when local_well_solver_control_switching_ is off
and incoporating commenst regarding resetting wellStatus_ in StandardWell within
the function iterateWellEqWithSwitching.
2023-09-29 10:55:19 +02:00
Kai Bao
e38e557bbc cleaning up to preapre for pull request 2023-09-29 10:55:19 +02:00
Stein Krogstad
035d216641 adding function iterateWellEqWithSwitching
when we do the local solve for well equations, control/status will be
updated during the iteration process, such that the converged well gets
correct control/status regarding to the current reservoir state.

various change in the other parts of the code were made to make the
function work as intended.
2023-09-29 10:51:04 +02:00
Markus Blatt
2721b9fa2d Fixes computation of temperature for distributed wells.
Previously, we did a global summation of the size of the
well_perf_data vector to determine the number of perforations
of a well. In the case of distributed wells this will try to access
more perforations than stored for the well in well_perf_data and hence
might use data from cells that actually are not perforated by this
cell. Note that for well not distributed the code worked as the
summation has no effect.

This commit changes this to only query peforations on the
local process. This should be enough to fix this problem.

In addition it removes the computation of connpos which is never used.
2023-09-22 18:56:27 +02:00
Bård Skaflestad
40927cb173
Merge pull request #4877 from GitPaean/bhp_lower_limit_below_1bar
reducing the bhp lower limit slightly to handle 1 bar bhp limit
2023-09-19 18:44:37 +02:00
Kai Bao
9d642fd7ce only outputting some network info to the rank 0 process 2023-09-19 16:17:19 +02:00
Kai Bao
f4a420d2f9 reducing the bhp lower limit slightly to handle 1 bar bhp limit
it turns out that 1bar is the default bhp constraint for some keywords,
   and some cases are depending on it.
2023-09-19 15:30:42 +02:00
Vegard Kippe
cc39e04180 Addresing review comments 2023-09-18 13:05:12 +02:00
Tor Harald Sandve
b55270defe
Merge pull request #4854 from vkip/gecon_closure_reason_group
Set GECON closure reason to GROUP, to not open with WTEST option 'E'.
2023-09-14 08:58:32 +02:00
Bård Skaflestad
6f27ffa68d
Merge pull request #4862 from vkip/avoid_negative_relaxation_factor_fraction
Avoid fraction relaxation factors outside [0,1] (standard wells)
2023-09-13 16:45:11 +02:00
Bård Skaflestad
69e9bf624a
Merge pull request #4860 from GitPaean/not_relaxing_rate_update
removing rate relaxation during updateNewton for StandardWellPrimaryVariables
2023-09-13 15:31:44 +02:00
Kai Bao
b79e3a7de2 removing rate relaxation during updateNewton in StandardWellPrimaryVariables
it was introduced back then for some purpose. The purpose might not
apply anymore due to other development. And also, some issues were
reported for some situtation with the approach.
2023-09-13 12:16:58 +02:00
Atgeirr Flø Rasmussen
708401ca14
Merge pull request #4861 from hnil/fixed_msw_addwellcontricutions
fixed add-well-contributions for multisegement wells
2023-09-13 11:40:40 +02:00
Atgeirr Flø Rasmussen
3673c05242
Merge pull request #4848 from vkip/gconsump_mpi_fix
Avoid adding/substracting GCONSUMP values per MPI process..
2023-09-13 11:00:04 +02:00
Vegard Kippe
2b45785097 Using std::clamp 2023-09-12 12:52:41 +02:00
hnil
29e968c232 fixed add-well-contributions for multisegement wells 2023-09-12 09:49:15 +02:00
Vegard Kippe
4638b3a9be Avoid fraction relaxation factors outside [0,1] in the standard well model. 2023-09-12 00:20:02 +02:00
Vegard Kippe
a12f0aaa13 Set GECON closure reason to GROUP, to not open with WTEST option 'E'. 2023-09-08 11:16:11 +02:00
Vegard Kippe
dbd1d343e8 Avoid adding/substracting GCONSUMP values per MPI process.. 2023-09-07 14:14:56 +02:00
Bård Skaflestad
1d33e7caf0
Merge pull request #4806 from totto82/initBHPinj
initialize all injectors with a rate to avoid singularities
2023-09-07 14:06:23 +02:00
Bård Skaflestad
bb04054d2c
Merge pull request #4842 from totto82/wellPressGW
use gas pressure for gas-water system in the well model
2023-09-07 12:47:05 +02:00
Bård Skaflestad
467671b946
Merge pull request #4840 from totto82/solvent_well_fix
Solvent well fix
2023-09-07 12:45:56 +02:00
Tor Harald Sandve
79e0b7256a initialize all injectors with a rate to avoid singularities 2023-09-07 12:03:04 +02:00
Kai Bao
529af98ce9 setting uninitialized bhp to be bhp_limit in updateWellStateWithTarget
to avoid uninitialized bhp 0. to be used.
2023-09-07 08:50:37 +02:00
Tor Harald Sandve
8796fa1ccc use gas pressure for gas-water system in the well model 2023-09-06 13:46:18 +02:00
Tor Harald Sandve
e31b2f3492 don't use relaxation factor fraction in combination with solvent 2023-09-06 13:24:31 +02:00
Tor Harald Sandve
c239427233 add solvent contribution to the gas potential 2023-09-06 13:23:55 +02:00
Stein Krogstad
7981253f39 prevent negative oil fractions 2023-09-05 11:18:16 +02:00
Tor Harald Sandve
80cbfe7fda
Merge pull request #4819 from hakonhagland/gecon3
Implement support for GECON keyword
2023-09-01 15:06:48 +02:00
Håkon Hægland
b1274096e9 Added to partially supported keywords
Added GECON to the list of partially supported keywords
2023-09-01 11:29:18 +02:00
Vegard Kippe
a75f58f19a Moved two lines 2023-08-31 16:11:29 +02:00
Vegard Kippe
deeecfcd1f Fixing indent 2023-08-31 16:11:28 +02:00
Vegard Kippe
edd421ac93 Adding hydrostatic and acceleration pressure losses to icd segments 2023-08-31 16:11:28 +02:00
Kai Bao
f7bd386402 adding the support for filtration_summary_keywords 2023-08-29 21:31:24 +02:00
Stein Krogstad
e7a0dbacf2 don't do rate-init for stopped/zero target 2023-08-29 14:52:09 +02:00
Håkon Hægland
2f9b136bb1 Implement support for GECON keyword
Implement support for item 2 and 3 of the GECON keyword
2023-08-29 01:07:21 +02:00
Kai Bao
6d011131cd UDQ for the injection concentration for WINJFCNC 2023-08-23 11:44:50 +02:00
Arne Morten Kvarving
92fa9577da consistently use std::size_t 2023-08-15 09:32:10 +02:00
Arne Morten Kvarving
896cb8484d added: option to disable the BDA solvers 2023-08-11 11:00:07 +02:00
Atgeirr Flø Rasmussen
1a59c91c51 Silence release-mode warning. 2023-08-09 12:06:20 +02:00
Kai Bao
c46f60103e adding perf_data comparison in equality operator for SingleWellState 2023-08-08 14:52:49 +02:00
hnil
c065d34d0e -- added more timing to get better coverage of amg solver
-- added includes needed
2023-07-24 12:28:08 +02:00
Bård Skaflestad
ac6b9b2f34
Merge pull request #4748 from plgbrts/gconprod
Enable items, 11, 12 and 13 of GCONPROD
2023-07-14 21:30:14 +02:00
Paul
ae553787ba Use struct for collecting group limit actions 2023-07-14 11:20:03 +02:00
Paul
1796b3343b improved messages text 2023-07-13 13:15:54 +02:00
Paul
7302c37b78 Enable items, 11, 12 and 13 of GCONPROD 2023-07-12 20:44:10 +02:00
Bård Skaflestad
8c9682ab7a Split Well and Group Initialization Out to Helper
In preparation of adding support for opening/creating wells or
groups in the middle of a report step.  This is needed if an
ACTIONX block runs something like WELOPEN or WELSPECS/COMPDAT.
2023-07-12 17:23:14 +02:00
Bård Skaflestad
e965f6f27f Prune Unused Well State Parameter
The WellState parameter in setCmodeGroup() became unused when we
split the GroupState out of the WellState in commit e1d117c59f.
2023-07-12 17:23:14 +02:00
Bård Skaflestad
7f89276fe8 Hook New WBPn Calculation Up to Well Model
This commit activates the support for calculating WBPn summary
result values per well in parallel.  To affect the calculation we
add two new data members in BlackoilWellModelGeneric:

  - conn_idx_map_:
    Maps well's connection index (0..getConnections().size() - 1) to
    connections on current rank.  Its local() connections are
    negative 1 (-1) if the connection is not on current rank, and a
    non-negative value otherwise.  The global() function maps well
    connections on current rank to global connection ID for each
    well.  Effectively the reverse of local().  Finally, the open()
    function maps well connections on current rank to open/flowing
    connections on current rank.  Negative 1 if connection is not
    flowing.

  - wbpCalculationService:
    Parallel collection of WBPn calculation objects that knows how
    to exchange source and result information between all ranks in a
    communicator.  Also handles distributed wells.

We furthermore need a way to compute connection-level fluid mixture
density values.  For the standard well class we add a way to access
the StandardWellConnection's 'perf_densities_' values.  However,
since these are defined for open/flowing connections only, this
means we're not able to fully meet the requirements of the

  WELL/ALL

WPAVE depth correction procedure for standard wells.  The
multi-segmented well type, on the other hand, uses the fluid mixture
density in the associated well segment and is therefore well defined
for ALL connections.  OPEN well connections are supported for both
well types.
2023-07-10 13:42:46 +02:00
Bård Skaflestad
ff9e6ca18a
Merge pull request #4745 from akva2/filtercake_separate_class
FilterCake: put code in separate class
2023-07-07 16:51:23 +02:00
Arne Morten Kvarving
60b92d02eb WellFilterCake: make stateful 2023-07-07 16:08:42 +02:00
Arne Morten Kvarving
dcf8a444fd changed: put calculation of filter cake multiplier in WellFilterCake 2023-07-07 16:08:20 +02:00
Arne Morten Kvarving
aaeedf4091 put updating of FilterCake multiplier in separate method 2023-07-07 16:08:20 +02:00
Arne Morten Kvarving
1e7ca08702 changed: put handling of filtration particle volume in separate class 2023-07-07 16:08:17 +02:00
Bård Skaflestad
95d715b807 Add Parallel Calculation Support for WBPn/WPAVE
This commit adds a parallel calculation object derived from the serial
PAvgCalculator class.  This parallel version is aware of MPI
communicators and knows how to aggregate contributions from wells that
might be distributed across ranks.

We also add a wrapper class, ParallelWBPCalculation, which knows how to
exchange information from PAvgCalculatorCollection objects on different
ranks and, especially, how to properly prune inactive cells/connections.
2023-07-07 15:01:05 +02:00
Stein Krogstad
b1c11f6d88 Move function to WellInterfaceGeneric 2023-07-07 13:13:43 +02:00
Stein Krogstad
252d08f1bd No need to loop over phases here 2023-07-07 13:13:43 +02:00
Stein Krogstad
2f8d210896 Also do explicit fallback for double-interp 2023-07-07 13:13:43 +02:00
Stein Krogstad
2dcebd4bdd Rephrase explicit to prev(uous) 2023-07-07 13:13:43 +02:00
Stein Krogstad
ab98e477c4 Use explicit rates as fallback for small FLO 2023-07-07 13:13:42 +02:00
Stein Krogstad
5212d20a96 Add explicit rates to well state 2023-07-07 13:12:34 +02:00
Kai Bao
e264042c62 refining the function updateInjFCMult
for code improvements.
2023-07-07 09:32:03 +02:00
Kai Bao
22269c92c3 adding regression tests for filtration cake model 2023-07-06 23:38:53 +02:00
Kai Bao
1981a3bf4d switching to scale the mobility instead of the well index
mostly to make the calculation of productivity easier.
2023-07-06 15:58:30 +02:00
Kai Bao
cb74d26e85 WIP in storing the filtration_particle_volume in BlackoilWellModelGeneric
instead of PerfData to handle the situation that well can be SHUT and
OPEN again.
2023-07-05 13:25:03 +02:00
Kai Bao
274c431492 tracking filtration particle volume instead of water injection volume
for filter cake calculation. The main reason is that the injection
concentration may vary during the simulation, which makes the tracking
of water injection volume is not very helpful when used for filter cake
calculation.
2023-07-05 13:25:03 +02:00
Kai Bao
eb08e2e863 cleaning up implementation related to filter cake 2023-07-05 13:25:03 +02:00
Kai Bao
7e5f1a1642 slightly different way to calculate the skin factor
for the radial model of the filter cake.

not tested yet.
2023-07-05 13:25:03 +02:00
Kai Bao
4cb3574e0f incoporate keyword WINJCLN
still in draft state.
2023-07-05 13:25:03 +02:00
Kai Bao
43196800b6 a draft version for for RADIAL model for WINJDAM 2023-07-05 13:25:03 +02:00
Kai Bao
aa5062683d a draft version for the linear geomery WINJDAM 2023-07-05 13:25:03 +02:00
Kai Bao
5e4cb8aeed WIP in using the filter cake to generate the skin factor 2023-07-05 13:25:03 +02:00
Kai Bao
49774186ab calculating the accumulative water injection volume
for each connection
2023-07-05 13:25:03 +02:00
Bård Skaflestad
77fe28979e Calculate Segment Phase and Mixture Densities for Summary Output
This commit adds logic and backing storage in the SegmentState to
provide the segment level summary vectors

  - SDENx -- Phase density of phase 'x' (O, G, W)
  - SDENM -- Mixture density without flowing fraction exponents
  - SMDEN -- Mixture density with flowing fraction exponents

We defer the calculation of SDENM and, especially, SMDEN, to the
MultisegmentWellSegments class since this class maintains the
current flowing fractions.
2023-07-05 11:05:26 +02:00
Alf Birger Rustad
93a0bb0de3 improve message when shutting well due to convergence issues 2023-07-04 14:15:53 +02:00
Atgeirr Flø Rasmussen
363163b156 Silence unused capture warning. 2023-06-28 16:21:05 +02:00
Bård Skaflestad
9de535098f
Merge pull request #3764 from atgeirr/aspin
Add nonlinear solver based on domain decomposition method
2023-06-28 15:49:56 +02:00
Bård Skaflestad
82a2d284fb
Merge pull request #4686 from GitPaean/support_winjmult_rebase
Support  WINJMULT
2023-06-27 15:40:06 +02:00
Bård Skaflestad
37fe56451b
Merge pull request #4719 from akva2/connection_rate_to_connections
Move connection rate helpers to StandardWellConnections
2023-06-27 15:19:57 +02:00
Kai Bao
f78f8e45f7 addressing the review comments 2023-06-27 14:46:11 +02:00
Arne Morten Kvarving
fffb3d9f0e suppress unused lambda capture warnings with clang 2023-06-27 14:35:35 +02:00
Arne Morten Kvarving
adfe80cba0 avoid dead stores 2023-06-27 13:40:54 +02:00
Arne Morten Kvarving
62a2ee1713 StandardWell: move connectionRatezFraction to Connections class 2023-06-27 13:23:21 +02:00
Arne Morten Kvarving
56014ccff9 StandardWell: move connectionRatePolymer to Connections class 2023-06-27 13:22:08 +02:00
Arne Morten Kvarving
bf5108d09f StandardWell: move connectionRatesMICP to Connections class 2023-06-27 13:22:08 +02:00
Arne Morten Kvarving
2f6623993a StandardWell: move connectionRateFoam to Connections class 2023-06-27 13:22:08 +02:00
Arne Morten Kvarving
73ece47d97 StandardWell: move connectionRateBrine to Connections class 2023-06-27 13:22:08 +02:00
Arne Morten Kvarving
41a38cc9d6 WellInterfaceGeneric: add accessor for well_efficiency_factor 2023-06-27 13:22:08 +02:00
Arne Morten Kvarving
d1a2d27acb changed: move Eval and restrictEval to WellInterfaceIndices 2023-06-27 13:22:08 +02:00
Kai Bao
cacec2739c moving the inj_multiplier to BlackoilWellModelGeneric
to handle the situation that a well can be `SHUT` in the Schedule.

If stored in PerfData, when a well is `SHUT`, the inforamtion related to
WINJMULT will be discarded.

Before we want to change how the `PerfData` works, storing
`inj_multiplier` in BlackoilWellModelGeneric is the viable approach.
2023-06-27 12:49:25 +02:00
Kai Bao
b50c404247 adjusting the implementation of WINJMULT support
addn relaxed the absolute tolearnce of the parallel running test for
WINJMUT_MSW
2023-06-27 12:49:25 +02:00
Kai Bao
b1fad4bb10 store the inj_multiper in PerfData in WellState 2023-06-27 12:49:25 +02:00
Kai Bao
cc9ee9c059 support WINJMULT 2023-06-27 12:49:25 +02:00
Atgeirr Flø Rasmussen
15c1e38533 Silence unused variable/parameter warnings. 2023-06-23 16:24:18 +02:00
Arne Morten Kvarving
9f681e8193 put formating of invalid d-value error in helper function 2023-06-23 10:49:19 +02:00
Arne Morten Kvarving
bbdfa35a62 changed: put calculation of injection gas-water perf rates in separate method 2023-06-23 10:45:10 +02:00
Arne Morten Kvarving
79c4797cd5 changed: put calculation of injection gas-oil perf rates in separate method 2023-06-23 10:33:07 +02:00
Arne Morten Kvarving
e0003eb6d6 changed: put calculation of gas-oil volume ratio in separate method 2023-06-23 09:40:09 +02:00
Arne Morten Kvarving
fdfd181629 changed: put calculation of vaporized and dissolved water volume ratio in separate method 2023-06-23 09:40:07 +02:00
Arne Morten Kvarving
516320699e changed: put calculation of production gas-water perf rates in separate method 2023-06-23 09:35:02 +02:00
Arne Morten Kvarving
21aa783d88 changed: put calculation of production gas-oil perf rates in separate method 2023-06-23 09:29:49 +02:00
Arne Morten Kvarving
e7bb51740e cosmetics 2023-06-23 08:47:11 +02:00
Arne Morten Kvarving
a994394dca changed: use {fmt} in connectionRateEnergy 2023-06-22 14:40:45 +02:00
Arne Morten Kvarving
9574e40ac4 changed: put calculation of energy connection rate in separate method 2023-06-22 14:40:45 +02:00
Arne Morten Kvarving
b3fd64d915 changed: put calculation of polymer connection rate in separate method 2023-06-22 14:40:45 +02:00
Arne Morten Kvarving
4041644171 changed: put calculation of foam connection rate in separate method 2023-06-22 14:40:45 +02:00
Arne Morten Kvarving
c239cbd14f changed: put calculation of zFraction connection rate in separate method 2023-06-22 14:35:41 +02:00
Arne Morten Kvarving
b1cafa25ca changed: put calculation of micp connection rates in separate method 2023-06-22 14:35:41 +02:00
Arne Morten Kvarving
8b38943485 changed: put calculation of brine connection rate in separate method 2023-06-22 14:35:40 +02:00
Arne Morten Kvarving
768a4903a3 reorganize (Std|MS)Well::computeWellPotentials
put shared parts in WellInterfaceGeneric::computeWellPotentials and
WellInterfaceGeneric::checkNegativeWellPotentials
2023-06-22 11:28:59 +02:00
Arne Morten Kvarving
7b33cc6d62 move computeConnLevel(Inj|Prod)Ind to WellInterface
now code is shared between STW and MSW
2023-06-22 09:58:58 +02:00
Arne Morten Kvarving
c234d4faa5 StandardWell: use scalar mobilities in computeConnLevel(Inj|Prod)Ind
unifies code with MultisegmentWell
2023-06-22 09:56:48 +02:00
Bård Skaflestad
b5517c8600
Merge pull request #4652 from akva2/update_ws_thp_prod_shared
move updateWellStateWithTHPTargetProd to WellInterface
2023-06-22 09:54:35 +02:00
Bård Skaflestad
3219b9d36e
Merge pull request #4631 from akva2/unify_perf_rate
changed: unify computePerfRate(Eval|Scalar)
2023-06-22 09:35:36 +02:00
Arne Morten Kvarving
01c4aa1927 move updateWellStateWithTHPTargetProd to WellInterface
to share implementation between STW and MSW
2023-06-22 09:10:38 +02:00
Arne Morten Kvarving
b55ca83917 changed: unify MultisegmentdWell::computePerfRate(Eval|Scalar) 2023-06-22 08:46:06 +02:00
Arne Morten Kvarving
58bed1e30a changed: unify StandardWell::computePerfRate(Eval|Scalar) 2023-06-22 08:46:06 +02:00
Arne Morten Kvarving
e7738e70dc BlackoilWellModel: move numLocalNonshutWells to generic class 2023-06-22 08:27:05 +02:00
Arne Morten Kvarving
aaa1006e2b BlackoilWellModel: move numLocalWellsEnd to generic class 2023-06-22 08:26:01 +02:00
Arne Morten Kvarving
dd9a2835fe BlackoilWellModel: move getMaxWellConnections to generic class 2023-06-22 08:26:01 +02:00
Arne Morten Kvarving
7ab8d94215 BlackoilWellModel: move assignWellTracerRates to generic class 2023-06-22 08:26:00 +02:00
Bård Skaflestad
77adc6ea3b Add Container for Dynamic WBPn Source Values
This commit adds a new container class,

    ParallelPAvgDynamicSourceData

which inherits from PAvgDynamicSourceData and provides a parallel
view of source contributions.  Member function

    collectLocalSources

will call the user-provided source term evaluation function for each
source location in its purview--typically those locations owned by
the current MPI rank.  Those values will be distributed to other MPI
ranks through member function synchroniseSources which will fill the
base class' 'src_' data member, and become available to clients
through read-only item spans.
2023-06-21 12:06:49 +02:00
Bård Skaflestad
6464f5ee4e
Merge pull request #4716 from akva2/janitoring
Some janitoring
2023-06-21 09:46:57 +02:00
Arne Morten Kvarving
3c566a9e4e avoid dead store 2023-06-21 08:59:26 +02:00
Arne Morten Kvarving
2327768db6 anonymize unused parameter 2023-06-21 08:55:11 +02:00
Arne Morten Kvarving
f88bf57388 use temporary helper variable 2023-06-21 08:54:53 +02:00
Kai Bao
5f344eef26 avoid dividing by zero in updateWellStateRates() 2023-06-20 23:14:50 +02:00
Vegard Kippe
d6d4b94b25 Parameterized iteration limits in network solver 2023-06-16 12:15:06 +02:00