Håkon Hægland
3999a59024
Simplify method signatures by removing redundant DeferredLogger parameter
...
Methods that receive GroupStateHelper can obtain the DeferredLogger via
groupStateHelper.deferredLogger(), making the separate parameter redundant.
2026-01-14 07:23:22 +01:00
Håkon Hægland
e7461f9332
Refactor: Remove unused DeferredLogger parameter from methods
...
Remove the DeferredLogger parameter from methods that don't use it.
This simplifies the method signature and call sites.
Part of the DeferredLogger refactoring series for GroupStateHelper.
2026-01-10 07:36:38 +01:00
Håkon Hægland
9c5469d6ad
Refactor TargetCalculator
...
Refactor TargetCalculator::groupTarget() to
WellGroupHelper::getProductionGroupTarget(), and
don't pass Group::ProductionControls as a parameter. Since
TargetCalculator only works for a given group, passing control as a
parameter is confusing and can be error prone if being passed a control
for a different group than the TargetCalculator was constructed for.
2025-12-12 18:17:52 +01:00
Håkon Hægland
4ce72a9aec
Rename WellGroupHelper
...
Rename WellGroupHelper to GroupStateHelper and make GroupState a
non-const pointer such that it is clear that the object can update
GroupState.
2025-11-28 08:03:55 +01:00
Håkon Hægland
db1a3c344a
Don't store non-const deferred logger object
...
Don't store non-const DeferredLogger object in WellGroupHelper class,
instead pass it explicitly as a non-const parameter when needed.
2025-10-24 15:37:20 +02:00
Håkon Hægland
cebdf98231
Remove const casts for WellState
...
Remove const casts from wgHelper.wellState() and instead pass non-const
WellState as a separate parameter
2025-10-24 04:37:22 +02:00
Håkon Hægland
0a8e67033e
Remove unused parameter warnings
2025-10-22 15:12:11 +02:00
Håkon Hægland
36d9d84bc2
Refactor WellGroupHelpers
...
Use a dynamic WellGroupHelper object that can store state instead of the
current WellGroupHelpers collection of static functions. This is in
preparation for the reserovir coupling feature which needs to be
injected into the well group helper functions.
2025-10-22 15:12:11 +02:00
Kai Bao
7d5663cd47
changing numComponents in wells to be numConservationQuantities
...
numComponents has been a very misleading name and something causes
confusion when coming to phase/component indices.
For example, mobility is not way to be associated with compoent.
2025-09-12 09:38:04 +02:00
Kai Bao
b3e4c4d0d0
removing BlackoilPhases and PhaseUsage
...
replacing it with a new PhaseUsageInfo and FluidSystem, both of which
are using the same implementation of PhaseUsageInfo, and only one set of
indices is used. Currently, it is the BlackOilDefaultFluidSystemIndices.
2025-09-02 10:19:36 +02:00
Tor Harald Sandve
233837cbb0
Fix checking of guiderate fractions
...
We dont want to check for guiderate fractions during local solves
(i.e. while well rates are not converged)
2025-06-11 11:05:27 +02:00
Atgeirr Flø Rasmussen
1cec083ea6
Rename BlackOilDefaultIndexTraits->BlackOilDefaultFluidSystemIndices
2025-05-08 15:03:19 +02:00
Kai Bao
29e1291296
moving flowPhaseToModelPhaseIdx to WellInterfaceIndices
2025-04-10 15:28:48 +02:00
Arne Morten Kvarving
82a9698d27
added: support a scaling factor for well efficiency
2024-12-17 08:41:25 +01:00
Vegard Kippe
ac5de96ad4
Add dampening to the injectivity multipliers (WINJMULT)
2024-10-08 15:49:10 +02:00
Arne Morten Kvarving
610abd0b6c
WellInterfaceFluidSystem: optionally instantiate for float
2024-08-19 13:35:43 +02:00
Tor Harald Sandve
5f8916c0c3
Use cell temperature in perforated cell to compute reservoir rates
2024-08-01 11:14:29 +02:00
Kai Bao
6ac7f8fdaf
not applying WECON RATE limit
...
when the well is under zero group target.
2024-06-24 14:42:10 +02:00
Stein Krogstad
427351cc12
Include checking for zero targets from groups where required
2024-05-23 14:55:37 +02:00
Arne Morten Kvarving
16f5290038
ParallelWellInfo: template Scalar type
2024-05-22 09:48:22 +02:00
Arne Morten Kvarving
81189b89c7
PerforationData: template Scalar type
2024-05-22 09:48:07 +02:00
Arne Morten Kvarving
3067e56182
WellInterfaceFluidSystem: use Scalar type
2024-05-14 10:26:58 +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
ab0e696709
SingleWellState: template Scalar type
2024-04-17 11:12:40 +02:00
Arne Morten Kvarving
34e883c1de
WellInterfaceFluidSystem: rename flowPhaseToEbosPhaseIdx to flowPhaseToModelPhaseIdx
2024-02-07 08:08:30 +01: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
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
Tor Harald Sandve
dbe8c3d294
Support WGRUPCON item 2 = no
2023-03-31 11:47:33 +02:00
Tor Harald Sandve
a2ae7d5bed
Fix resv for groups
2023-03-27 16:03:40 +02:00
Tor Harald Sandve
054d832bff
compute CVIR and CVPR
2023-02-22 08:54:47 +01:00
Tor Harald Sandve
ceb8d996aa
Fix GPMAINT for groups without control
...
If GPMAINT is used the group does not need a valid control object
2023-01-10 15:59:21 +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
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
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
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
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