Tobias Meyer Andersen
d2681b26ed
refactor opm_cuda_safe_call
2024-08-23 11:12:13 +02:00
Arne Morten Kvarving
61abbc2de9
consistently use Scalar type
2024-08-23 11:04:20 +02:00
Arne Morten Kvarving
43fafc1ada
BlackoilMICPModules: fix field prop copy if Scalar is float
2024-08-23 11:04:20 +02:00
Arne Morten Kvarving
6bcdad6ceb
rocsparseBILU0: add support for float Scalars
2024-08-23 11:02:23 +02:00
Arne Morten Kvarving
644aeb582f
rocsparseSolverBackend: add support for float Scalars
2024-08-23 11:02:23 +02:00
Arne Morten Kvarving
452a0a0baa
rocalutionSolverBackend: optionally instantiate for float
2024-08-23 11:02:23 +02:00
Arne Morten Kvarving
c5ddec57d8
rocsparseMatrix: optionally instantiate for float
2024-08-23 11:02:23 +02:00
Arne Morten Kvarving
ecc62bbf19
HipKernels: optionally instantiate for float
2024-08-23 11:02:23 +02:00
Arne Morten Kvarving
cdad4500c1
amgclSolverBackend: disable for float scalar
...
for reasons deep down in amgcl, it does not compile. for now
just disable it
2024-08-23 11:02:23 +02:00
Arne Morten Kvarving
7a3a79c11b
openclSolverBackend: optionally instantiate for float
2024-08-23 11:02:23 +02:00
Arne Morten Kvarving
a0f8cc0aed
Preconditioner: optionally instantiate for float
...
BILU0: optionally instantiate for float
BISAI: optionally instantiate for float
CPR: optionally instantiate for float
CPRCreation: optionally instantiate for float
Misc: optionally instantiate for float
2024-08-23 11:02:23 +02:00
Arne Morten Kvarving
5bab71b8e3
OpenclMatrix: optionally instantiate for float
2024-08-23 11:02:23 +02:00
Arne Morten Kvarving
36c544e204
BlockedMatrix: optionally instantiate for float
2024-08-23 11:02:23 +02:00
Arne Morten Kvarving
da2a894090
CPR: disable with float Scalars
2024-08-23 11:02:23 +02:00
Arne Morten Kvarving
5825612a75
cusparseSolverBackend: optionally instantiate for float
2024-08-23 11:02:23 +02:00
Arne Morten Kvarving
35fb78ea9a
cusparseSolverBackend: add float Scalar support
2024-08-23 11:02:23 +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
Tobias Meyer Andersen
85a9ad2b61
refactor cuistl folder names
2024-08-22 15:32:21 +02:00
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
fa610b49a3
Merge pull request #924 from totto82/drsdtcon_pvtnum
...
support drsdtcon with pvtnum
2024-08-22 14:30:18 +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
hnil
23034c0bee
Avoid deleting derivatives with zero pressure difference
2024-08-22 11:44:59 +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
Arne Morten Kvarving
aaf0e81027
FractionCalculator: optionally instantiate for float
...
WellGroupHelpers: optionally instantiate for float
circular dependencies so these need to go in the same commit
2024-08-19 13:09:42 +02:00
Arne Morten Kvarving
951475f69d
VFPProdProperties: optionally instantiate for float
2024-08-19 13:09:42 +02:00
Arne Morten Kvarving
b3ce375c79
VFPHelpers: optionally instantiate for float
2024-08-19 13:09:42 +02:00
Arne Morten Kvarving
11158a219a
WellState: optionally instantiate for float
2024-08-19 13:09:42 +02:00
Arne Morten Kvarving
5b4c40c922
SingleWellState: optionally instantiate for float
2024-08-19 13:09:42 +02:00
Arne Morten Kvarving
8ddd898666
TargetCalculator: optionally instantiate for float
2024-08-19 13:09:42 +02:00
Arne Morten Kvarving
836436ccdc
GroupState: optionally instantiate for float
2024-08-19 13:09:42 +02:00
Arne Morten Kvarving
2fa954b724
SegmentState: optionally instantiate for float
2024-08-19 13:09:42 +02:00
Arne Morten Kvarving
75e3254656
PerfData: optionally instantiate for float
2024-08-19 13:09:42 +02:00
Arne Morten Kvarving
e43e854341
ConnFiltrateData: optionally instantiate for float
2024-08-19 13:09:42 +02:00
Arne Morten Kvarving
2ad3679ae4
ParallelWellInfo: optionally instantiate for float
2024-08-19 13:09:42 +02:00
Arne Morten Kvarving
d1f08e454a
ALQState: optionally instantiate for float
2024-08-19 13:09:42 +02:00
Arne Morten Kvarving
a9cd51669d
ComponentName: optionally instantiate for float
2024-08-19 13:09:42 +02:00
Arne Morten Kvarving
f8c04129dd
PropertyTree: add instances for float
2024-08-19 13:09:41 +02:00
Arne Morten Kvarving
122aeba4d3
RSTConv: optionally instantiate for float
2024-08-19 13:09:41 +02:00
Arne Morten Kvarving
e0deff8b1e
Transmissibility: optionally instantiate for float
2024-08-19 13:09:41 +02:00
Arne Morten Kvarving
174b73ebd1
GenericThresholdPressure: optionally instantiate for float
2024-08-19 13:09:41 +02:00
Arne Morten Kvarving
c29d60640c
GenericThresholdPressure: convert data to appropriate Scalar
2024-08-19 13:09:41 +02:00
Arne Morten Kvarving
1113746b7d
FlowGenericProblem: optionally instantiate for float
2024-08-19 13:09:41 +02:00
Arne Morten Kvarving
6ad616bd98
FlowGenericProblem: convert data to appropriate Scalar type
2024-08-19 13:09:41 +02:00
Arne Morten Kvarving
ae38896b1c
MixingRateControls: optionally instantiate for float
2024-08-19 13:09:41 +02:00
Arne Morten Kvarving
5a935ccfb5
SolutionContainers: optionally instantiate for float
2024-08-19 13:09:41 +02:00
Arne Morten Kvarving
58a930507a
LogOutputHelper: optionally instantiate for float
2024-08-19 13:09:41 +02:00
Arne Morten Kvarving
e267c377e6
GenericCpGridVanguard: optionally instantiate for float
2024-08-19 13:09:41 +02:00
Arne Morten Kvarving
f33278e194
Merge pull request #5539 from akva2/fix_serial_build
...
fixed: do not try to hide parameters that are not registered without MPI
2024-08-19 12:44:30 +02:00
Tor Harald Sandve
8fe55dba4e
Remove check for active wells for drift compensation
2024-08-19 12:37:22 +02:00
Arne Morten Kvarving
5cf468e48a
fixed: do not try to hide parameters that are not registered without MPI
2024-08-19 09:14:10 +02:00
Atgeirr Flø Rasmussen
bee91d2fdd
Merge pull request #5273 from totto82/ehystr4_fix
...
Allow Hysteresis option 4
2024-08-19 08:51:27 +02:00
Kai Bao
6f2073908c
relocating mixControls_ form FlowGenericProblem to FlowProblem
...
so FlowGenericProblem can be used for non-blackoil setting
2024-08-17 00:41:28 +02:00
Arne Morten Kvarving
1716f8627e
AdaptiveTimeStepping: move parameter registration to .cpp file
2024-08-16 17:15:53 +02:00