Tobias Meyer Andersen
5919b417e3
refactor cuview
2024-08-22 15:27:23 +02:00
Tobias Meyer Andersen
fba1858f42
refactor cuvector
2024-08-22 15:20:20 +02:00
Tobias Meyer Andersen
3aa1767548
refactor cusparsematrix
2024-08-22 15:14:33 +02:00
Tobias Meyer Andersen
0c1ea3ee4d
refactor cuseqilu0
2024-08-22 15:07:53 +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
Tobias Meyer Andersen
1721a1071f
refactor cuowneroverlapcopy
2024-08-22 14:46:38 +02:00
Tobias Meyer Andersen
158619083e
refacor cujac
2024-08-22 14:40:23 +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
Tobias Meyer Andersen
d17ee3315b
refactor CuDILU
2024-08-22 14:28:33 +02:00
Tobias Meyer Andersen
69897753e8
refactor CuBuffer
2024-08-22 14:12:30 +02:00
Tobias Meyer Andersen
67bc9e8f34
refactor CuBlockPreconditioner
2024-08-22 13:58:35 +02:00
Tobias Meyer Andersen
3f4ae4ddf4
refactor cuistl namespace
2024-08-22 13:52:50 +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
hnil
ec11bbaac3
Avoid deleting derivative i.e. getting "wrong" matrix in case of zero flux
2024-08-22 11:47: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
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
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
Lisa Julia Nebel
d02f84afb7
Add action-parsing-strictness
2024-08-20 10:50:56 +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
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
Arne Morten Kvarving
607160a47a
GasLiftGroupInfo: optionally instantiate for float
2024-08-19 13:26:23 +02:00
Arne Morten Kvarving
0b5a5e754c
GasLiftCommon: optionally instantiate for float
2024-08-19 13:25:24 +02:00
Arne Morten Kvarving
4264e21135
WellProdIndexCalculator: optionally instantiate for float
2024-08-19 13:23:59 +02:00
Arne Morten Kvarving
f1621e1a2b
WellFilterCake: optionally instantiate for float
2024-08-19 13:23:12 +02:00
Arne Morten Kvarving
cd9e8c8c6c
GroupEconomicLimitsChecker: optionally instantiate for float
2024-08-19 13:22:22 +02:00
Arne Morten Kvarving
1514b466d8
WGState: optionally instantiate for float
2024-08-19 13:21:18 +02:00
Arne Morten Kvarving
781f978b31
BlackoilWellModelConstraints: optionally instantiate for float
2024-08-19 13:20:29 +02:00
Arne Morten Kvarving
352beaf2ae
FlowUtils: optionally instantiate for float
2024-08-19 13:19:39 +02:00
Arne Morten Kvarving
05b997dc0f
EclTimeSteppingParams: optionally instantiate for float
2024-08-19 13:18:55 +02:00
Atgeirr Flø Rasmussen
7795640bb6
More helpful message for PETGRID.
2024-08-19 13:18:50 +02:00
Arne Morten Kvarving
e0f9fefbc7
FlowProblemParameters: optionally instantiate for float
2024-08-19 13:18:03 +02:00
Arne Morten Kvarving
9d0670a62d
WellTest: optionally instantiate for float
...
WellInterfaceGeneric: optionally instantiate for float
WellBhpThpCalculator: optionally instantiate for float
WellHelpers: optionally instantiate for float
these need to go together due to circular dependencies
2024-08-19 13:15:24 +02:00
Arne Morten Kvarving
6a71f139b9
VFPInjProperties: optionally instantiate for float
2024-08-19 13:09:42 +02:00