Commit Graph

5854 Commits

Author SHA1 Message Date
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
Tor Harald Sandve
66fd1dfcf3 Merge pull request #5527 from totto82/pvtnum_drdsdtcon
Support deactivation of individual DRSDT/DRVDT/DRSDTCON regions
2024-08-22 14:30:03 +02:00
Kjetil Olsen Lye
c4f686227b Merge pull request #5451 from multitalentloes/generalize_thread_block_tuner
Generalize thread block tuner
2024-08-22 12:56:14 +02:00
Tobias Meyer Andersen
8a1dfceeed clang format OpmCuilu0.cpp 2024-08-22 10:24:17 +02:00
Tobias Meyer Andersen
45f6116d5e clang format autotuner 2024-08-22 10:23:36 +02:00
Tobias Meyer Andersen
dcdce71d4b add more explanations 2024-08-22 10:17:53 +02:00
Tobias Meyer Andersen
8b50c90fd1 make use of OpmLog for printing tuning result 2024-08-22 10:07:06 +02:00
Atgeirr Flø Rasmussen
9b4c51de7e Merge pull request #5553 from jakobtorben/add_support_for_changing_local_solver_in_NLDD
Make local solver in NLDD a runtime specified ISTLSolver
2024-08-22 09:45:32 +02:00
Tor Harald Sandve
b0bfe9f1c1 Adapt to mixControl moving from genericProblem 2024-08-21 16:03:59 +02:00
jakobtorben
1f285ae0d5 Make local solver in NLDD a runtime specified ISTLSolver 2024-08-21 14:24:23 +02:00
Arne Morten Kvarving
267d282d1d NonlinearSolver: optionally instantiate for float 2024-08-21 10:12:25 +02:00
Arne Morten Kvarving
d938d821ad EclGenericWriter: optionally instantiate for float 2024-08-21 10:05:04 +02:00
Arne Morten Kvarving
6a364ea961 GenericOutputBlackoilModule: optionally instantiate for float 2024-08-21 09:56:01 +02:00
Arne Morten Kvarving
aadc5cb69c GenericOutputBlackoilModule: obtain data using appropriate overload 2024-08-21 09:49:22 +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
Bård Skaflestad
5fd5027ebd Merge pull request #5549 from akva2/actionhandler_float
ActionHandler: instance for float
2024-08-21 09:22:13 +02:00
Tor Harald Sandve
fffa19e757 Only resize drsdt related vectors when needed 2024-08-21 09:17:25 +02:00
Tor Harald Sandve
914f0b8644 Support deactivation of individual DRSDT/DRVDT/DRSDTCON regions 2024-08-21 09:17:25 +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
Atgeirr Flø Rasmussen
908a9b37ff Merge pull request #5445 from jakobtorben/make_cpr_reuse_option_only_apply_to_cpr
Make CPR reuse setup option only apply to CPR
2024-08-21 08:45:09 +02:00
Bård Skaflestad
e0e60fec8e Merge pull request #5548 from akva2/float_support2
Support float simulators - batch 2
2024-08-20 18:48:00 +02:00
jakobtorben
5d54c50ba0 Add method for defining if preconditioners should be recreated 2024-08-20 17:57:38 +02:00
Tobias Meyer Andersen
ae4e6a65fc make autotuner use lambda that only depends on blocksize 2024-08-20 15:06:59 +02:00
Tobias Meyer Andersen
14ea44246a add autotuner 2024-08-20 13:35:33 +02:00
Arne Morten Kvarving
d762f2b29c ActionHandler: optionally instantiate for float 2024-08-20 12:31:10 +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
Kai Bao
5866e9af84 Merge pull request #5535 from GitPaean/relocate_mixing_control
relocating mixControls_ form FlowGenericProblem to FlowProblem
2024-08-20 11:50:39 +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
Atgeirr Flø Rasmussen
1615719993 Merge pull request #5110 from totto82/fixDrift
Remove check for active wells for drift compensation
2024-08-20 09:53:25 +02:00
Bård Skaflestad
afe34e1868 Merge pull request #5542 from akva2/float_support1
Add float support to simulators: Batch 1
2024-08-20 09:29:40 +02:00
Bård Skaflestad
36494d19f8 Merge pull request #5541 from atgeirr/warn-petgrid
More helpful message for PETGRID.
2024-08-19 17:03:25 +02:00
Arne Morten Kvarving
14bc929fb0 ParallelOverlappingILU0: optionally instantiate for float 2024-08-19 13:51:15 +02:00
Arne Morten Kvarving
f94f1d1012 MILU: optionally instantiate for float 2024-08-19 13:50:08 +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