Commit Graph

18311 Commits

Author SHA1 Message Date
Atgeirr Flø Rasmussen
2e15a04db5
Merge pull request #5557 from atgeirr/avoid-cprw-incompatibilities
Intercept CPRW if MICP or polymer injectivity is used.
2024-08-26 09:50:57 +02:00
Markus Blatt
7ebb6e7034
Merge pull request #5547 from lisajulia/feature/action-parsing-strictness
Add action-parsing-strictness command line parameter
2024-08-26 09:06:25 +02:00
Arne Morten Kvarving
c0197625fc
Merge pull request #5558 from akva2/janitoring
ISTLSolverBda: avoid using deprecated Dune::CollectiveCommunication
2024-08-23 15:43:39 +02:00
Arne Morten Kvarving
4af89f1ced ISTLSolverBda: avoid using deprecated Dune::CollectiveCommunication 2024-08-23 15:10:25 +02:00
Atgeirr Flø Rasmussen
9ccb67ead6 Intercept CPRW if MICP or polymer injectivity is used.
These modeling options are currently incompatible with our CPRW implementation.
2024-08-23 13:08:08 +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
8e16495f61
Merge pull request #5479 from bska/bhp-depth-corr
Revise Mixture Density Method for No-Flow Producers
2024-08-22 20:24:12 +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
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
Bård Skaflestad
b74d84404e
Merge pull request #5551 from akva2/float_support4
Float support in simulators: Batch 4
2024-08-21 13:57:24 +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
Arne Morten Kvarving
05d37bfbf6 InitStateEquil: optionally instantiate for float 2024-08-21 09:45:11 +02:00
Arne Morten Kvarving
b16fd2f724 EquilibrationHelpers: optionally instantiate for float 2024-08-21 09:43:25 +02:00
Arne Morten Kvarving
bff3dae230 GenericTracerModel: optionally instantiate for float 2024-08-21 09:41:56 +02:00
Arne Morten Kvarving
2245daa0c7 ISTLSolver: optionally instantiate for float 2024-08-21 09:40:24 +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
1cc27754d8 FlexibleSolver: optionally instantiate for float
PreconditionerFactory: optionally instantiate for float

these need to go in the same commit due to circular dependencies
2024-08-21 09:34:28 +02:00
Arne Morten Kvarving
d244f49813 FlexibleSolver: throw if umfpack is requested with float Scalar 2024-08-21 09:33:03 +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
a7b99651c1 WellContributions: optionally instantiate for float
cuWellContributions: optionally instantiate for float
openclWellContributions: optionally instantiate for float
rocsparseWellContributions: optionally instantiate for float

these need to go in the same commit due to circular dependencies
2024-08-21 09:23:31 +02:00
Arne Morten Kvarving
9f5bad224c openclKernels: optionally instantiate for float 2024-08-21 09:23:31 +02:00
Arne Morten Kvarving
df0a9a4055 MultisegmentWellContribution: optionally instantiate for float 2024-08-21 09:23:31 +02:00
Arne Morten Kvarving
b507c75e75 MultisegmentWellContribution: disable with float Scalars 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
Arne Morten Kvarving
d28b751742 BlackoilModelParameters: optionally instantiate for float 2024-08-21 09:23:31 +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