Commit Graph

2518 Commits

Author SHA1 Message Date
Vegard Kippe
ca36f5b2a6 Support ALQ in network calculations and avoid adding gas lift of closed wells 2024-09-19 23:43:16 +02:00
Stein Krogstad
d202ea256a Remove unused schedule 2024-09-19 13:28:13 +02:00
Stein Krogstad
41933c618a update description 2024-09-19 12:58:47 +02:00
Stein Krogstad
cb7e168728 Disallow switching to group control in local well solve 2024-09-19 11:44:34 +02:00
Atgeirr Flø Rasmussen
9c74c4d638
Merge pull request #5305 from hnil/shut_inj_temp
fixing some of output
2024-09-17 14:33:29 +02:00
hnil
c000678c0b fixe merge error 2024-09-16 10:44:46 +02:00
hnil
1f78064b75 fixed errors in merging 2024-09-16 10:41:51 +02:00
Arne Morten Kvarving
3a5d527417
Merge pull request #5602 from totto82/fixBHPCO2
BUGFIX fix injection bhp pressure for CO2/H2 STORE
2024-09-13 15:48:17 +02:00
Tor Harald Sandve
50a4742c23
Merge pull request #5323 from vkip/energy_efficiency_factor
Apply well/group efficiency factors for connection energy rates.
2024-09-13 12:48:36 +02:00
Tor Harald Sandve
d13b4a3956 BUGFIX fix injection bhp pressure for CO2/H2 STORE 2024-09-13 09:17:37 +02:00
Arne Morten Kvarving
05f01bf819 parametersystem.hh: rename to .hpp 2024-09-05 10:07:40 +02:00
hnil
eb1b2c6711 fixing some of output 2024-08-30 09:46:23 +02:00
Arne Morten Kvarving
b5bd290887 BlackoilModel: use appropriate Scalar type 2024-08-23 11:15:03 +02:00
Bård Skaflestad
3dbeed2199
Merge pull request #5550 from akva2/float_support3
Float support in simulators: Batch 3
2024-08-23 10:29:14 +02:00
Bård Skaflestad
93c368cbfa Revise Mixture Density Method for No-Flow Producers
This commit switches the approach introduced in commit eeb1b7e36 (PR
#3169) to using a mobility weighted average of cell level densities
for the connection level mixture densities in no-flow producing
wells.  We also use the recent stoppedOrZeroRateTarget() predicate
to identify those no-flow producing wells instead of inspecting the
connection flow rates.

The mobility weighted average gives a more monotone pressure buildup
for the stopped wells and this is usually what the engineer wants.
This revised approach furthermore needs fewer cell-level dynamic
properties so simplify the computeProperties() signature by
introducing a structure for the property callback functions and
update the callers accordingly.
2024-08-22 14:51:00 +02:00
Bård Skaflestad
586d8e2ddc Generate Property Object Directly
This commit switches computePropertiesForPressures() to return a
Properties object directly instead of populating an object
constructed in the caller.  There is just a single call site for
this function so there's no benefit to using an out parameter here.
While here, also collect the property callbacks into a structure to
simplify the function signature.  This also enables not filling in
the solvent properties unless solvent is active in the run.  Update
caller accordingly.
2024-08-22 14:51:00 +02:00
Bård Skaflestad
6f2ee80e41 Refactor Perforation Pressure Property Helper Function
In particular, split the sections of the main loop out to helper
functions

  - calculatePerforationOutflow() uses the global container factory
    to compute the outflow from each connection
  - initialiseConnectionMixture() computes the 'mix' array depending
    on the local flowing conditions of the connection.  We have
    renamed 'x' and 'mix' arrays to 'currentMixture' and
    'previousMixture' respectively to give more descriptive names in
    the process.

We've also split out the redistribution of the individual phases to
the new private helper functions reapportionGasOilMixture() and
reapportionGasWaterMixture() in order to reduce the cognitive load
of the main loop in computePropertiesForPressures().  While here,
employ pointer arithmetic to expose the underlying structure of the
assignment expressions.
2024-08-22 14:51:00 +02:00
Bård Skaflestad
fa199461b5 Varnish Parts of Well Implementation
In particular

  * Split some long lines
  * Reverse conditions to reduce nesting
  * Mark potentially unused arguments as [[maybe_unused]]
  * Try to remove redundant calculations
  * Mark some objets 'const' where possible
2024-08-22 14:51:00 +02:00
Bård Skaflestad
5914744f7c
Merge pull request #5546 from totto82/fix_no_wells
BUGFIX Fix no wells case
2024-08-21 09:36:16 +02:00
Arne Morten Kvarving
94e43f6ea9 StandardWellEval: optionally instantiate for float 2024-08-21 09:23:31 +02:00
Arne Morten Kvarving
f6e0c03498 StandardWellEquations: optionally instantiate for float 2024-08-21 09:23:31 +02:00
Arne Morten Kvarving
6f04033142 MultisegmentWellEval: optionally instantiate for float 2024-08-21 09:23:31 +02:00
Arne Morten Kvarving
6f7660905e MultisegmentWellEquations: optionally instantiate for float 2024-08-21 09:23:31 +02:00
Arne Morten Kvarving
fa84eb65c7 MultisegmentWellEquations: throw with float Scalar
UMFPack cannot handle floats
2024-08-21 09:23:31 +02:00
Arne Morten Kvarving
e4e6430644 MultisegmentWellSegments: optionally instantiate for float 2024-08-21 09:23:31 +02:00
Arne Morten Kvarving
39971162a3 MSWellHelpers: optionally instantiate for float 2024-08-21 09:23:31 +02:00
Arne Morten Kvarving
42b8545e51 MSWellhelpers: disable for float Scalar
there is no UMFPack for floats
2024-08-21 09:23:31 +02:00
Tor Harald Sandve
e584e05435 Fix shut wells case for output of gas mass injected rates 2024-08-21 08:50:57 +02:00
Arne Morten Kvarving
bc1fd4f01c BlackoilWellModelGeneric: optionally instantiate for float
BlackoilWellModelRestart: optionally instantiate for float
these need to be in the same commit due to circular dependencies
2024-08-20 12:31:07 +02:00
Arne Morten Kvarving
dcbd1c7baf BlackoilWellModelGeneric: convert input data to appropriate Scalar type 2024-08-20 12:31:07 +02:00
Arne Morten Kvarving
62daa16304 ParallelWBPCalculation: optionally instantiate for float 2024-08-20 11:41:12 +02:00
Arne Morten Kvarving
35b93eed14 ParallelPAvgCalculator: optionally instantiate for float 2024-08-20 11:36:24 +02:00
Arne Morten Kvarving
86b3879806 ParallelPAvgDynamicSourceData: optionally instantiate for float 2024-08-20 11:08:34 +02:00
Arne Morten Kvarving
554bb7d8b7 StandardWellConnections: optionally instantiate for float 2024-08-19 13:47:49 +02:00
Arne Morten Kvarving
5c37e497cc StandardWellAssemble: optionally instantiate for float 2024-08-19 13:46:50 +02:00
Arne Morten Kvarving
3e6afbe480 StandardWellPrimaryVariables: optionally instantiate for float 2024-08-19 13:45:34 +02:00
Arne Morten Kvarving
bee3dea736 WellConvergence: optionally instantiate for float 2024-08-19 13:44:35 +02:00
Arne Morten Kvarving
7105fb8601 MultisegmentWellAssemble: optionally instantiate for float 2024-08-19 13:41:17 +02:00
Arne Morten Kvarving
aceadc5e88 WellAssemble: optionally instantiate for float 2024-08-19 13:40:12 +02:00
Arne Morten Kvarving
db3d552fe7 MultisegmentWellPrimaryVariables: optionally instantiate for float 2024-08-19 13:37:59 +02:00
Arne Morten Kvarving
41e93ba730 MultisegmentWellGeneric: optionally instantiate for float 2024-08-19 13:37:14 +02:00
Arne Morten Kvarving
26bb0c3d85 WellInterfaceIndices: optionally instantiate for float 2024-08-19 13:36:30 +02:00
Arne Morten Kvarving
610abd0b6c WellInterfaceFluidSystem: optionally instantiate for float 2024-08-19 13:35:43 +02:00
Arne Morten Kvarving
6fa7f970f0 WellGroupConstraints: optionally instantiate for float 2024-08-19 13:34:57 +02:00
Arne Morten Kvarving
66c445b36e WellConstraints: optionally instantiate for float 2024-08-19 13:34:12 +02:00
Arne Morten Kvarving
9080130d80 WellGroupControls: optionally instantiate for float 2024-08-19 13:33:08 +02:00
Arne Morten Kvarving
a30b0a3cf5 RateConverter: optionally instantiate for float 2024-08-19 13:32:21 +02:00
Arne Morten Kvarving
571053a00f BlackoilWellModelGuideRates: optionally instantiate for float 2024-08-19 13:29:03 +02:00
Arne Morten Kvarving
bdcccf187c GasLiftStage2: optionally instantiate for float 2024-08-19 13:28:13 +02:00
Arne Morten Kvarving
ef1ff30a97 GasLiftSingleWellGeneric: optionally instantiate for float 2024-08-19 13:27:24 +02:00