Commit Graph

11486 Commits

Author SHA1 Message Date
Markus Blatt
58ede5e789 Only indicate problems for exceptions whem updating well potentials,
Nearly all exceptions throw when computing well potentoals will not
abort the simulator but result in timestep chops. Hence those should not be
counted as errors (e.g. by calling the OPM_*THROW* macros) and be
reported in the PRT file.

This change will cause at least two more  occurences (in
MSWellHelpers) to be treated as problems. For this we added a new
helper function.
2024-06-12 14:25:37 +02:00
Svenn Tveit
87362d5037 Accumulate segment rates and minor fixes 2024-06-12 14:18:32 +02:00
David Landa Marban
80e00f4516 Fix to error in Clang: use 'template' keyword to treat 'data' ... 2024-06-11 09:31:48 +02:00
Bård Skaflestad
b0ee6b9c94
Merge pull request #5419 from GitPaean/only_trans_2
trying to release global transmissibility earlier to flatten the peak memory usage in the function finishInit()
2024-06-10 18:13:53 +02:00
Kai Bao
fd5e9d167f addressing reviewing comments OPM/opm-simulators#5419 2024-06-10 16:08:44 +02:00
Kai Bao
062a98b305 restruct so that we can release the global trans earlier
in the funciton finishInit().
2024-06-10 16:08:44 +02:00
Svenn Tveit
84cdef1135 Fix solution tracers and well output.
-Only output or restart solution tracers for gas/oil tracers with DISGAS/VAPOIL enabled (no solution tracers in water phase!).
-Initial tracers (free/solution) will be set to zero initially if TBLK/TVDP is not given.
- Do not calculate mass transfer between free and solution tracers if it is not necessary.
-Calculate well rates using updated tracer concentrations
2024-06-10 14:50:56 +02:00
Markus Blatt
6921db4282 omit unnescessary function parameter for EDINCC 2024-06-10 14:50:55 +02:00
Svenn Tveit
adc36d64a5 Output rates to multisegment wells 2024-06-10 14:50:55 +02:00
Markus Blatt
fc67eaeeda Prevent spurious warnings about NNCs when applying EDITNNC in parallel.
If we use transmissibilities for loadbalancing, then we calculate
transmissibilities twice. First on the global grid before
loadbalancing and then on the local grid after that. This is the
default. In this case all warnings will be shown correctly when
calculating the global transmissibilities.

If the user requests the same weights for all faces (command line
parameter --edge-weights-method=0) then the transmissibilities are only
calculated on the loadbalanced grid. Unfortunately, in this case only
rank 0 will issue warnings for his part including the false positives
mentioned below.

Due to load balancing many NNCs might be stored on another process,
but we still use all EDITNNC entries when computing transmissibilties
locally. Hence when applying EDITNNC on the loadbalanced grid we
will issue warnings for cases where there are no problems (e.g. NNC
between two overlap cells.

With this PR we will only warn when computing the transmissibilities
for the first time. For the default settings this will remove spurious
and duplicate warnings.

Not that for --edge-weights-method=0 nothing changes and we will still
see only warnings for the first rank including spurious one.
2024-06-10 14:50:55 +02:00
Svenn Tveit
db970d58d2 Changed to Scalar type.
Following commit 61bfea46c7.
2024-06-10 14:48:49 +02:00
Svenn Tveit
1645559342 Fix mass exchange term.
Additionally, store separate well terms for free and solution tracers
2024-06-10 14:48:45 +02:00
Svenn Tveit
050ce2de3b Fixes after rebase 2024-06-10 14:41:21 +02:00
Svenn Tveit
b00cc2c1a5 Extend tracer model to solution tracers.
Solve an extended linear system with free and solution tracers with mass transfer coupling term.
2024-06-10 14:41:21 +02:00
Markus Blatt
b2c06415f4
Merge pull request #5182 from lisajulia/ilu-op-in-amg
Ghost entries skipped for ILU apply and SpMV operator in all levels of AMG/CPR hierarchy
2024-06-10 13:06:42 +02:00
Bård Skaflestad
fcad25e26a
Merge pull request #5420 from atgeirr/avoid-uninitialized-variable
Ensure 'mid' is always initialized.
2024-06-07 17:14:58 +02:00
Bård Skaflestad
58edb5b9aa
Merge pull request #5417 from blattms/feature-correct-comment-parallel
Update wrong comment about storage of transmissibilities
2024-06-07 16:50:38 +02:00
Atgeirr Flø Rasmussen
fc906842ad
Merge pull request #5352 from jcbowden/damaris-limit-variables-v1
Add ability to pass multiple variables to Damaris using DamarisWriter class.
2024-06-07 15:54:59 +02:00
Markus Blatt
d80b8411b7 Fixed spelling of comments. 2024-06-07 14:58:47 +02:00
andrthu
6c62753803 Ghost entries skipped for ilu apply and GL operator in AMG/CPR hierarchy.
This works since the ghost entries are the last entries
2024-06-07 14:40:53 +02:00
Atgeirr Flø Rasmussen
71684bfe2c Ensure 'mid' is always initialized. 2024-06-07 14:27:02 +02:00
Markus Blatt
2f3c1b7310 Update wrong comment about storage of transmissibilities
This is a follow up of the fix in #5414.

The comment said that the ordering of the compressed index of cells is
coherent with the cartesian index. THis is not the case in parallel
where cells in the overlap/ghost region might be ordered last (default).
2024-06-07 06:46:18 +02:00
Markus Blatt
302503e172
Merge pull request #5414 from totto82/fix_mpi_edit_trans
Fix modifications of TRANX/Y/Z in parallel (e.g. MULTIPLY of TRANX in EDIT)
2024-06-07 06:28:35 +02:00
Bård Skaflestad
e3bf48541f
Merge pull request #5406 from GitPaean/only_trans
only allocate trans_ for globalTrans_
2024-06-06 21:50:11 +02:00
Bård Skaflestad
225bdf4595
Merge pull request #5416 from atgeirr/missing-initialization
Initialize double member for serialization test.
2024-06-06 21:03:03 +02:00
Kai Bao
8f67881809 using enum class to replace boolean onlyTrans for
Transmissibility::update() for better readability, which is suggested by the reviewer.
2024-06-06 20:09:44 +02:00
Atgeirr Flø Rasmussen
74fc1d4a67 Ensure the 'injector' member is initialized, compared etc. 2024-06-06 16:31:46 +02:00
Atgeirr Flø Rasmussen
ab4d9cb36e Initialize double member for serialization test. 2024-06-06 15:24:20 +02:00
Bård Skaflestad
9c744190eb
Merge pull request #5411 from bska/claim-basic-wtmult-support
Enable WTMULT as an Input Operation
2024-06-06 14:53:07 +02:00
Bård Skaflestad
bc48a2e955
Merge pull request #5342 from atgeirr/nldd-domain-solves-newton-damping
Add Newton update damping when domain solution oscillates.
2024-06-06 14:52:25 +02:00
Tor Harald Sandve
42702e1d50 Fix mpi for MULTIPLY TRANX in EDIT 2024-06-06 12:59:41 +02:00
Atgeirr Flø Rasmussen
f06c238753 Add damping treatment to subdomain Newton iterations. 2024-06-06 12:59:22 +02:00
josh bowden
6fcec07bab cast to remove: comparison of integer expressions of different signedness warning. 2024-06-06 10:36:25 +02:00
Bård Skaflestad
3074c0d9fd Enable WTMULT as an Input Operation
Basic support for this keyword was added in commit

    OPM/opm-common@5e3e20c552

and this commit enables running models which use that basic support.
Advanced uses, such as including user-defined arguments for the
multipliers, will still be rejected at the input level.
2024-06-06 09:14:01 +02:00
Bård Skaflestad
151de07fa7 Collect Well Level Control Limits/Targets for Summary Output
This commit adds a new stage to the wellData() report function,
assignWellTargets(), which collects the numerical values of the
currently active limits/targets for summary file output purposes.
It is important that we collect these values strictly before we
start mutating the SummaryState object lest user-defined arguments
in keywords like WCONPROD be evaluated seemingly too soon.
Furthermore, it is faster to collect these values on the simulator
side and send them to the I/O rank for file output than to defer the
full calculation to the I/O rank.
2024-06-06 09:13:57 +02:00
Tor Harald Sandve
25f6c0a1bd
Merge pull request #5405 from svenn-t/ezrokhi
Support for CNAMES
2024-06-06 08:44:27 +02:00
Kai Bao
303a677a81 only allocate trans_ for globalTrans_
others are not needed for globalTrans_ for now. It will help to flatten
the peak memory usage for rank 0 during a parallel running.
2024-06-05 21:35:46 +02:00
josh bowden
7fc6cc0430 Other small additions from github comments and removal of compile time logic that checks for ParaView and Python - makes code more readable and alows use of Damaris libraries with differing compiled in backends to be swapped without need for recompiling opm-simulators 2024-06-05 17:26:34 +02:00
Razvan Nane
a1c238df8e last scalars 2024-06-05 15:30:08 +02:00
Razvan Nane
b51f27517b more scalars 2024-06-05 15:27:22 +02:00
Razvan Nane
40c0539bc3 update copyright and scalar 2024-06-05 15:12:12 +02:00
Razvan Nane
dcbd9be46a cleanup and run fix 2024-06-05 15:00:47 +02:00
Bård Skaflestad
4cf8a50b26
Merge pull request #5398 from atgeirr/minor-oscillation-handling-fix
Detect oscillation in just one phase.
2024-06-05 13:56:35 +02:00
Tobias Meyer Andersen
9b2f41ad96 Add option to split the matrix into diagonal,
strictly lower and stricly upper part.
Add tests checking that the result matches
the CPU dilu implementation.
2024-06-05 13:35:54 +02:00
Atgeirr Flø Rasmussen
558d888d90 Allow oscillation detection with less that two phases.
We should not require two phases to have oscillating residuals to
start handling it.
2024-06-05 11:50:01 +02:00
Razvan Nane
7a307fafa0 add rocsparseCPR preconditioner 2024-06-04 17:13:13 +02:00
Kai Bao
904cb7e2c4
Merge pull request #5395 from steink/consistent_vfp_interpolation
Small fixes related to thp-control/vfp-extrapolation
2024-06-04 15:15:41 +02:00
Razvan Nane
74b30e6bba refactor AMG creation as a class 2024-06-04 15:13:54 +02:00
Tor Harald Sandve
8b5fced909 avoid mass creation with drsdt 2024-06-04 15:10:11 +02:00
Razvan Nane
3eb87b7b04 refactor rocsparseSolverBackend to allow flexible preconditioner 2024-06-04 12:17:49 +02:00
Razvan Nane
071f009bf3 refactor preconditioner class 2024-06-04 09:47:03 +02:00
Razvan Nane
83b50f08e6 rename opencl files 2024-06-04 06:28:50 +02:00
Razvan Nane
02b76b5309 refactor rocm files 2024-06-04 06:19:28 +02:00
Svenn Tveit
912cd45182 Support for CNAMES needed with CO2STORE 2024-06-03 20:40:26 +02:00
Vegard Kippe
78cc10f620 Fix typo 2024-06-03 15:26:16 +02:00
Stein Krogstad
37c771cb5f fix bug and attempt to make code clearer 2024-05-31 14:11:10 +02:00
Stein Krogstad
d32d4419a9 fix double -> Scalar 2024-05-31 14:11:10 +02:00
Stein Krogstad
aa8516c085 Respect "global" switching logic also in local solves 2024-05-31 14:11:10 +02:00
Stein Krogstad
008fd268c5 fix bug 2024-05-31 14:11:10 +02:00
Stein Krogstad
c5f7d02bf7 Make thp-func constistent with bhp-func and add some damage prevention logic for severe extrapolation 2024-05-31 14:11:10 +02:00
Razvan Nane
988d3821cd fix compile rocsparseWellContrib 2024-05-31 11:55:53 +02:00
Arne Morten Kvarving
c92d80e0e8
Merge pull request #5399 from daavid00/fixMacOS
[FIX]: Build issue if OpenMP is not present
2024-05-31 09:56:39 +02:00
David Landa Marban
a6ed584ae2 [FIX]: Build issue if OpenMP is not present 2024-05-31 09:00:57 +02:00
Arne Morten Kvarving
bcbac79486
Merge pull request #5380 from akva2/linalg_template_scalar
LinAlg classes: template Scalar type
2024-05-31 08:40:11 +02:00
Kai Bao
e968da28bb renaming calcRates to calcResvCoeff
and calcInjRates to calcInjResvCoeff.
2024-05-29 22:29:12 +02:00
Bård Skaflestad
a3a2b7a978 Make SummaryState Objects Aware of Undefined UDQ Value
This PR switches to calling the SummaryState constructor which is
aware of the value of undefined UDQs (OPM/opm-common#4052) directly.

While here, also sort headers, split some long lines, and prefer
initialisation lists to constructor body assignments.
2024-05-29 09:16:56 +02:00
Bård Skaflestad
6e8da2309b Delay UDQ Assignments Until After Summary Output
Commit 0aaa69c6e (PR #5330) was a little too eager in its effort to
handle UDQ ASSIGN operations after action processing[%].  In
particular, the assignments, which alter the internal structures of
the SummaryState and UDQState objects, would happen prior to writing
summary files.  In turn, this would make it appear as if the
assignment happened too early.  This commit defers UDQ assignments
triggered by action processing until FlowProblem<>::endEpisode() for
two reasons

  1. The problem originally addressed in 0aaa69c6e only presented
     when the assignment was triggered on the final time step of an
     episode (report step), so handling this situation here is a
     more targeted approach.

  2. Member function FlowProblem<>::endEpisode() is called after we
     write the summary file output so any alterations to the
     internal structures of the SummaryState will not be visible in
     the summary output until the next time step.  This is the
     expected behaviour.

[%] Insufficient testing by: [at]bska.
2024-05-28 18:16:30 +02:00
Bård Skaflestad
03e8c7ecdc
Merge pull request #5394 from atgeirr/avoid-memory-leak
Avoid memory leak from the *unique_ptr<X>.release() antipattern.
2024-05-28 18:15:01 +02:00
Atgeirr Flø Rasmussen
6a7e1e08c0 Avoid memory leak from the *unique_ptr<X>.release() antipattern. 2024-05-28 16:49:08 +02:00
Bård Skaflestad
a16ef8b1c2
Merge pull request #5393 from atgeirr/avoid-out-of-scope-temporary
Bugfix: Avoid possible use of out-of-scope temporary.
2024-05-28 16:31:30 +02:00
Atgeirr Flø Rasmussen
0fe76f6011 Bugfix: Avoid possible use of out-of-scope temporary.
Since std::clamp returns a reference we must be careful to not capture
the return value by reference, when there is a temporary among the input
parameters.

For the second change (adding the explicit Scalar return type to a lambda)
this is strictly speaking not necessary, as the lambda's return type is not
a reference, but that is obscure so the change is just done as to clarify.
2024-05-28 16:01:48 +02:00
Bård Skaflestad
8199342ce9
Merge pull request #5232 from steink/check_zero_target_from_group
When checking for zero target rates, also check wells under group control where required
2024-05-27 22:09:26 +02:00
Arne Morten Kvarving
41885f5911 ISTLSolverBda: use Scalar type from vector 2024-05-24 14:28:10 +02:00
Arne Morten Kvarving
0e537a8ae3 ISTLSolverBda: fix indent 2024-05-24 14:21:26 +02:00
Arne Morten Kvarving
ad1d862426 BdaBridge: template Scalar type 2024-05-24 14:21:26 +02:00
Arne Morten Kvarving
3eed028978 rocsparseSolverBackend: template Scalar type 2024-05-24 14:21:25 +02:00
Arne Morten Kvarving
e620d9d044 rocaluationSolverBackend: template Scalar type 2024-05-24 14:16:36 +02:00
Arne Morten Kvarving
0b22b62205 amgclSolverBackend: template Scalar type 2024-05-24 14:16:36 +02:00
Arne Morten Kvarving
23250b87e3 cusparseSolverBackend: template Scalar type 2024-05-24 14:16:34 +02:00
Arne Morten Kvarving
18f42b51b2 openclSolverBackend: template Scalar type 2024-05-24 14:09:12 +02:00
Arne Morten Kvarving
d0773ef4f7 BdaSolver: template Scalar type 2024-05-24 14:09:12 +02:00
Arne Morten Kvarving
e03f2394b9 BdaSolver.hpp: drop indent for namespace 2024-05-24 14:09:12 +02:00
Arne Morten Kvarving
7e1f4629ed CPR: template Scalar type 2024-05-24 14:09:12 +02:00
Arne Morten Kvarving
1f39e6a9a9 BISAI: template Scalar type 2024-05-24 14:09:12 +02:00
Arne Morten Kvarving
8ea523fa68 BILU0: template Scalar type 2024-05-24 14:09:12 +02:00
Arne Morten Kvarving
b75ea188ee Preconditioner: template Scalar type 2024-05-24 14:09:12 +02:00
Arne Morten Kvarving
05a89d1e96 cuWellContributions: template Scalar type 2024-05-24 14:09:12 +02:00
Arne Morten Kvarving
d2637e53ea rocsparseWellContributions: template Scalar type 2024-05-24 14:09:12 +02:00
Arne Morten Kvarving
ddcfcf681d openclWellContributions: template Scalar type 2024-05-24 14:09:11 +02:00
Arne Morten Kvarving
ff39bc3b03 WellContribution: template Scalar type 2024-05-24 14:09:11 +02:00
Arne Morten Kvarving
216f0bea0d MultisegmentWellContribution: template Scalar type 2024-05-24 14:09:11 +02:00
Arne Morten Kvarving
ba1c6db855 OpenclKernels: template Scalar type 2024-05-24 14:09:11 +02:00
Arne Morten Kvarving
be59203179 OpenclMatrix: template Scalar type 2024-05-24 14:09:11 +02:00
Arne Morten Kvarving
5fbd7635cd Matrix: template Scalar type 2024-05-24 14:09:11 +02:00
Arne Morten Kvarving
25374b0e54 BlockMatrix: template Scalar type 2024-05-24 14:09:10 +02:00
Arne Morten Kvarving
b9ee637d78 PreconditionerFactory: use Scalar type from operator 2024-05-24 14:03:28 +02:00
Arne Morten Kvarving
b7bc7b7bf5 Pressure(Bhp)TransferPolicy: template Scalar type 2024-05-24 14:03:28 +02:00
Arne Morten Kvarving
c240df73c4 WellBhpThpCalculator: use appropriate Scalar type 2024-05-24 14:03:28 +02:00
Bård Skaflestad
6f094c558a
Merge pull request #5256 from BigDataAccelerate/overlap_copy_jacmat_gpu
Overlap creation of jacobian matrix with GPU data transfers
2024-05-24 13:11:27 +02:00
Stein Krogstad
427351cc12 Include checking for zero targets from groups where required 2024-05-23 14:55:37 +02:00
Stein Krogstad
2db90a92e7 include group controls for zero rate target checking 2024-05-23 14:44:26 +02:00
Arne Morten Kvarving
60e91a0fb5 amgclSolverBackend: fix for block_size == 1 2024-05-23 13:41:26 +02:00
Bård Skaflestad
9841c5d21c
Merge pull request #5377 from akva2/equil_template_scalar
InitStateEquil: template Scalar type
2024-05-23 10:48:04 +02:00
Arne Morten Kvarving
4bef925974 InitStateEquil: use Scalar type from FluidSystem 2024-05-23 09:39:49 +02:00
Arne Morten Kvarving
4cfb7a8566 EquilibrationHelpers: template Scalar type 2024-05-23 09:38:27 +02:00
Arne Morten Kvarving
5ed5676f32 WellGroupHelpers: use appropriate Scalar type 2024-05-23 09:08:48 +02:00
Arne Morten Kvarving
db2db4bab5 WellFilterCake: use appropriate Scalar type 2024-05-23 09:06:16 +02:00
Arne Morten Kvarving
ca6b73a6f8 VFPProdProperties: use appropriate Scalar type 2024-05-23 09:03:48 +02:00
Arne Morten Kvarving
769489f552 VFPHelpers: use appropriate Scalar type 2024-05-23 09:01:14 +02:00
Arne Morten Kvarving
e9050359db BlackoilWellModel: use appropriate Scalar type 2024-05-23 08:52:59 +02:00
Arne Morten Kvarving
600e7ea2f7 Transmissibility: consistently use Scalar type 2024-05-23 08:42:51 +02:00
Arne Morten Kvarving
27ca3ab5f7 OutputBlackoilModule: consistently use Scalar type 2024-05-23 08:34:09 +02:00
Arne Morten Kvarving
39554ab7dd NonLinearSolver: use Scalar type 2024-05-23 08:25:37 +02:00
Arne Morten Kvarving
cdf227bcbd BlackoilModelParameters: consistently use Scalar
parameters are registered as Scalar not double
2024-05-23 08:17:45 +02:00
Arne Morten Kvarving
2205c68f0d BlackoilModel: use Scalar type 2024-05-23 08:09:53 +02:00
Arne Morten Kvarving
aa4758ff07 BlackoilModelNldd: use Scalar type 2024-05-22 15:52:13 +02:00
Arne Morten Kvarving
61bfea46c7 GenericTracerModel: use Scalar type 2024-05-22 15:46:50 +02:00
Arne Morten Kvarving
bf93915101 WellOperators: use field type 2024-05-22 15:39:24 +02:00
Arne Morten Kvarving
0f685d6b44 WellOperators: fix indent
also some formatting fixes, using instead of typedef
2024-05-22 15:30:48 +02:00
Arne Morten Kvarving
bac2087b85 WellProdIndexCalculator: template Scalar type 2024-05-22 15:21:37 +02:00
Arne Morten Kvarving
685bca2c2a WellProdIndexCalculator: drop indent for namespace 2024-05-22 15:21:37 +02:00
Arne Morten Kvarving
b9d03fc358 MultisegmentWell: use Scalar type 2024-05-22 14:33:36 +02:00
Arne Morten Kvarving
791d83b31a MultisegmentWellSegments: use Scalar type 2024-05-22 14:24:22 +02:00
Arne Morten Kvarving
caf4bc1de2 MultisegmentWellGeneric: use Scalar type 2024-05-22 14:24:22 +02:00
Arne Morten Kvarving
b151cbabac MultisegmentWellPrimaryVariables: use Scalar type 2024-05-22 14:24:22 +02:00
Arne Morten Kvarving
33ad8e3617 MultisegmentWellEval: use Scalar type 2024-05-22 14:24:22 +02:00
Arne Morten Kvarving
0da7903f8b MultisegmentWellAssemble: use Scalar type 2024-05-22 13:24:05 +02:00
Arne Morten Kvarving
27d99f78ec ParallelWBPCalculation: template Scalar type 2024-05-22 10:51:12 +02:00
Arne Morten Kvarving
66a08b9c1a ParallelPAvgCalculator: template Scalar type 2024-05-22 10:51:07 +02:00
Arne Morten Kvarving
b68a854909 ParallelPAvgDynamicSourceData: template Scalar type 2024-05-22 10:51:07 +02:00
Arne Morten Kvarving
b9ad890ea5 adjust to PAvgCalculatorCollection templating 2024-05-22 10:51:07 +02:00
Arne Morten Kvarving
0481c7c0b2 adjust to PAvgCalculator templating 2024-05-22 10:51:07 +02:00
Arne Morten Kvarving
59e6d4db08 adjust to PAvgDynamicSourceData templating 2024-05-22 10:51:07 +02:00
Arne Morten Kvarving
e0bcb314ea MSWellHelpers: template Scalar type 2024-05-22 09:57:44 +02:00
Arne Morten Kvarving
16f5290038 ParallelWellInfo: template Scalar type 2024-05-22 09:48:22 +02:00
Arne Morten Kvarving
81189b89c7 PerforationData: template Scalar type 2024-05-22 09:48:07 +02:00
Arne Morten Kvarving
d2cbf33b62 PerforationRates: template Scalar type 2024-05-22 09:48:06 +02:00
Arne Morten Kvarving
1be9a08d3d RateConverter: use Scalar type of FluidSystem 2024-05-22 09:47:37 +02:00
Arne Morten Kvarving
4e7ab26841 RegionAttributeHelpers: template Scalar type 2024-05-22 09:47:37 +02:00
Arne Morten Kvarving
e3891843df RegionAverageCalculator: use Scalar type of FluidSystem 2024-05-22 09:47:37 +02:00
Arne Morten Kvarving
f65b8ef33b StandardWell: use Scalar type 2024-05-22 09:01:05 +02:00
Arne Morten Kvarving
21c2352c44 StandardWellEval: use Scalar type 2024-05-22 09:01:05 +02:00
Arne Morten Kvarving
5636721bab StandardWellEquations: use Scalar type 2024-05-22 09:01:05 +02:00
Arne Morten Kvarving
e9794e1de5 StandardWellPrimaryVariables: use Scalar type 2024-05-22 09:01:05 +02:00
Arne Morten Kvarving
e6b48dce8b StandardWellConnections: use Scalar type 2024-05-22 08:09:39 +02:00
Arne Morten Kvarving
b736460afd StandardWellAssemble: use Scalar type 2024-05-22 07:58:55 +02:00
Bård Skaflestad
9b1797e7b7
Merge pull request #5353 from akva2/vfp_template_scalar
VFP classes: template Scalar type
2024-05-21 17:52:10 +02:00
Arne Morten Kvarving
d5d16eaee4 VFPHelpers: move some functions into a class with static members
and template Scalar type
2024-05-21 17:01:30 +02:00
Arne Morten Kvarving
3747981347 VFPProperties: template Scalar type 2024-05-21 17:01:30 +02:00
Arne Morten Kvarving
29d142b5e4 VFPProdProperties: template Scalar type 2024-05-21 17:01:30 +02:00
Arne Morten Kvarving
099322b0f0 VFPInjProperties: template Scalar type 2024-05-21 17:01:30 +02:00
Bård Skaflestad
0aaa69c6e0 Rerun UDQ Assignments After Action Processing
If an action block happens to run a UDQ ASSIGN operation and,
furthermore, happens to run at the last time step of an episode then
the "clear pending assignments" behaviour of the ScheduleState copy
constructor leads to not performing the UDQ assignment at all.  This
commit works around this problem by invoking the action handler's
UDQ assignment function after processing all active action blocks.

The underlying problem has been present since at least Pull Request
OPM/opm-common#3587 which introduced the "clear pending assignments"
behaviour of ScheduleState's copy constructor.
2024-05-21 13:51:06 +02:00
Bård Skaflestad
9731a84cad Adjust Whitespace in FlowProblem File
In particular, be consistent about four-space indent levels and add
braces to a number of single-statement control blocks.  Add a few
blank lines for readability.

While here, also mark a number of objects as 'const'.
2024-05-21 13:51:06 +02:00
Bård Skaflestad
8a4e78e7c4
Merge pull request #5354 from akva2/various_well_helpers_template_scalar
Various well helpers: template Scalar type
2024-05-21 13:14:50 +02:00
Bård Skaflestad
c5810d722b
Merge pull request #5363 from akva2/support_dune_fem_2.9
fixed: build with dune-fem 2.9
2024-05-21 11:22:40 +02:00
Bård Skaflestad
2fe957ca6c
Merge pull request #5368 from multitalentloes/fix_typo_cuda_aware_mpi
fix typo that would cause crash cuda aware openmpi
2024-05-21 11:15:00 +02:00
Tobias Meyer Andersen
9d6dcb00a3 fix typo that would cause crash cuda aware openmpi 2024-05-21 10:20:02 +02:00
josh bowden
2744614f9c update after pull request comments; addition of OUTPUTDIR variable to Damaris XML configuration 2024-05-17 17:36:18 +02:00
Arne Morten Kvarving
b74b170d5b fixed: build with dune-fem 2.9 2024-05-16 10:58:08 +02:00
Tor Harald Sandve
2ea6cea895
Merge pull request #5292 from gdfldm/patch-1
Update GMDS and GMGP definitions in GenericOutputBlackoilModule.cpp
2024-05-15 15:00:10 +02:00
Arne Morten Kvarving
ee1c531431 InitStateEquil: remove template parameter from Comm and use Parallel::Communication directly
in the process this quells a deprecation warning for
Dune::CollectiveCommunication usage
2024-05-15 11:20:29 +02:00
Arne Morten Kvarving
60defa4fd8
Merge pull request #5355 from multitalentloes/famg_warning_fix
Resolve warning delete-abstract-non-virtual-dtor
2024-05-15 11:00:34 +02:00
Tobias Meyer Andersen
73746b56bc Resolve warning delete-abstract-non-virtual-dtor 2024-05-15 10:00:14 +02:00
Arne Morten Kvarving
8e000d08ce WellAssemble: use Scalar type 2024-05-15 08:19:36 +02:00
Arne Morten Kvarving
9c431d1921 WellBhpThpCalculator: template Scalar type 2024-05-15 08:19:36 +02:00
Arne Morten Kvarving
5a340258aa WellConstraints: template Scalar type 2024-05-15 08:19:36 +02:00
Arne Morten Kvarving
720e177aaa WellConvergence: template Scalar type 2024-05-15 08:19:36 +02:00
Arne Morten Kvarving
96c4a2f510 WellHelpers: template computeHydrostaticCorrection Scalar type 2024-05-15 08:19:36 +02:00
Arne Morten Kvarving
ca9baea09d WellTest: template Scalar type 2024-05-15 08:19:36 +02:00
Arne Morten Kvarving
9bbd23acca WellGroupControls: template Scalar type 2024-05-15 08:19:36 +02:00
Arne Morten Kvarving
d25ea9ec26 WellGroupConstraints: template Scalar type 2024-05-15 08:19:36 +02:00
Atgeirr Flø Rasmussen
48eb73fa80
Merge pull request #5350 from totto82/gpmain_reset
Reset gpmain state when rate is zero
2024-05-15 08:12:16 +02:00
josh bowden
3630177e3e added ability to pass through multiple variables to Damaris, with full list still defined in initDamarisXmlFile.cpp ; Also adds ability to limit the variables to be passed through using --damaris-limit-variables=<CSV list> coammand line option 2024-05-14 21:08:47 +02:00
Arne Morten Kvarving
f70c7f15f8 ActionHandler: template Scalar type 2024-05-14 16:21:55 +02:00
Tor Harald Sandve
c0c301043c Reset gpmain state when rate is zero 2024-05-14 13:14:51 +02:00
Arne Morten Kvarving
3d8e5e5750 WellInterface: use Scalar type 2024-05-14 10:26:58 +02:00
Arne Morten Kvarving
5dfb926643 WellInterfaceIndices: use Scalar type 2024-05-14 10:26:58 +02:00
Arne Morten Kvarving
3067e56182 WellInterfaceFluidSystem: use Scalar type 2024-05-14 10:26:58 +02:00
Arne Morten Kvarving
11b5ba3f18 WellInterfaceGeneric: template Scalar type 2024-05-14 10:26:58 +02:00
Atgeirr Flø Rasmussen
226410cd44
Merge pull request #5303 from akva2/gaslift_template_scalar
GasLift: template Scalar type
2024-05-14 09:59:42 +02:00
Bård Skaflestad
2e7a7a0c44
Merge pull request #5347 from akva2/janitoring_gcc14
add missing include
2024-05-13 21:27:26 +02:00
Arne Morten Kvarving
5d54d36dc4 add missing include
in particular fixes build with gcc14
2024-05-13 15:05:47 +02:00
Bård Skaflestad
0f67799e9c
Merge pull request #5344 from totto82/GMST
Add GMST and modify GMTR output the maximum trapped CO2 in the gas phase
2024-05-13 13:56:49 +02:00
Tor Harald Sandve
b42a8cbcc3 Add output of GMST/GMUS
Rename GMTR to GMMO as ending with TR are used for tracers
[FR]GMTR output maximum trapped CO2 in the gas phase
2024-05-13 11:24:08 +02:00
Kai Bao
5fda72d24f removing unused releaseGlobalTransmissibility()
from AluGridVanguard and CpGridVanguard.
they exist is becaluse of typo in the function name. There is another
releaseGlobalTransmissibilities() function actually gets used.
2024-05-10 16:45:00 +02:00
Bård Skaflestad
a417968464
Merge pull request #5333 from GitPaean/remove_unused_updateImbnum_
removing unused updateImbnum_ function
2024-05-08 10:59:41 +02:00
Kai Bao
b225ec240f removing updateKrnum_
which does not have effects, which was suggested by Håkon Hægland.

And also removing the following member variables from
FlowGenericProblem because they are not in use anymore.

    krnumx_, krnumy_, krnumz_;
    imbnumx_, imbnumy_, imbnumz_;
2024-05-08 09:41:46 +02:00
Kai Bao
79236c4927 removing unused updateImbnum_ function 2024-05-08 09:33:00 +02:00
Bård Skaflestad
cc28bbe989 Enforce Relaxed Tolerances Not Stricter Than Strict
Relaxed tolerances being more strict than the strict tolerances does
not make sense in our use case.
2024-05-07 15:03:18 +02:00
Arne Morten Kvarving
66131bd350
Merge pull request #5253 from multitalentloes/script_test
Add HIP support
2024-05-07 08:02:53 +02:00
Tobias Meyer Andersen
e9d6b326cc Add HIP support for AMD GPUs
This commits adds cmake functionality that can
hipify the cuistl framework to support AMD GPUs.

Some tests have been written as HIP does not mirror
CUDA exactly.

CONVERT_CUDA_TO_HIP is the new CMAKE argument.
CMAKE version is increased to include HIP
as a language (3.21 required).

A macro is added to create a layer of indirection
that will make only cuistl files that have been
changed rehipified.

Some BDA stuff is extracted to make sure CUDA
is not accidentally included.
2024-05-06 15:56:53 +02:00
Vegard Kippe
b27c83b2fd Tag 'BASIC=0' as allowed in RPTRST 2024-05-06 15:17:08 +02:00
Bård Skaflestad
027eed16e9 Report CNV Violation Pore-Volume Fraction to INFOITER
This commit includes the fraction of pore-volume whose CNV targets
are violated as a new per-iteration quantity in the INFOITER file
(--output-extra-convergence-info=iteration), with the column header
"CnvErrPvFrac".  We collect the values which are already calculated
in

    BlackoilModel<>::getReservoirConvergence()

and store these as a pair of numerator and denominator in the
ConvergenceReport class.  Note that we need both the numerator and
the denominator in order to aggregate contributions from multiple
ranks.

While here, also make a few more objects 'const' and calculate
column widths directly instead of the maximum number of characters
in writeConvergenceHeader().
2024-05-06 11:31:47 +02:00
Bård Skaflestad
f01635dcf2
Merge pull request #5331 from totto82/fix_restart_co2
Bugfix: initialize the input temperature in restart run without temperature in the restart file
2024-05-06 11:19:18 +02:00
Bård Skaflestad
26c59ce5cb
Merge pull request #5329 from vkip/input_skip_mode
Add parameter InputSkipMode to parameterise SKIP100 and SKIP300
2024-05-06 10:56:38 +02:00
Tor Harald Sandve
c6c447dc94 initialize the input temperature in restart run without temperature in the restart file 2024-05-06 10:21:42 +02:00
Bård Skaflestad
1e9943bfe6 Accumulate CNV Pore-Volume Sum for Interior Cells Only
The 'interiorBorder' category is *probably* equivalent to the
'interior' category for codimension zero elements, but it's better
to be safe than sorry.  We don't want to accumulate pore-volume
contributions twice.
2024-05-03 14:19:00 +02:00
Arne Morten Kvarving
0cafaf92cb
Merge pull request #5332 from multitalentloes/remove_thrust_dependency
remove usage of thrust
2024-05-03 14:14:14 +02:00
Tobias Meyer Andersen
d5c088bb20 remove unused headers 2024-05-03 13:45:24 +02:00
Tobias Meyer Andersen
d795561100 remove usage of thrust 2024-05-03 12:52:27 +02:00
Bård Skaflestad
226e90f8e1
Merge pull request #5324 from daavid00/fixMass
Bug fix massGas in place
2024-05-03 09:41:14 +02:00
Vegard Kippe
b68a55a9b9 Add parameter InputSkipMode to parameterise the behvaviour of the SKIP100 and SKIP300 keywords 2024-05-03 09:28:14 +02:00
Atgeirr Flø Rasmussen
f0855f4f48
Merge pull request #5293 from totto82/fixInitGW
Fix gas-water initialization with transision zone
2024-05-02 15:57:13 +02:00
Bård Skaflestad
a9d7457ca3
Merge pull request #5326 from akva2/fix_bda_disable
fixed: properly avoid inclusion of BDA types if BDA is disabled
2024-05-02 13:07:19 +02:00
Arne Morten Kvarving
0c3da92272
Merge pull request #5325 from hakonhagland/python_mpi
Allow Python bindings to control MPI setup in the OPM::Main constructor
2024-05-02 11:38:32 +02:00
Arne Morten Kvarving
3024fba293 fixed: properly avoid inclusion of BDA types if BDA is disabled 2024-05-02 11:37:03 +02:00
Håkon Hægland
a1b7d4b5dd Allow Python bindings to setup MPI
Allows the Python bindings to control whether MPI_Init() and
MPI_Finalize() will be called when creating an OPM::Main object.
2024-05-02 11:14:07 +02:00
David Landa Marban
955cdbf02f Bug fix massGas in place 2024-04-30 11:51:16 +02:00
Atgeirr Flø Rasmussen
da5f20a0d9
Merge pull request #5145 from multitalentloes/add_gpu_direct
Add GPU Direct
2024-04-29 14:08:25 +02:00
Atgeirr Flø Rasmussen
e767b6145f Avoid getting parameters in hot path. 2024-04-26 16:46:27 +02:00
Bård Skaflestad
d25c9d035f
Merge pull request #5311 from blattms/fix/uninit-warn
Fixes uninitialized variable warning with gcc-12
2024-04-25 10:34:05 +02:00
Markus Blatt
87c4471f96 Fixes uninitialized variable warning with gcc-12 2024-04-25 09:26:31 +02:00
Bård Skaflestad
1dfdae3892
Merge pull request #5309 from akva2/aquifers_template_scalar
Aquifer: use Scalar type
2024-04-24 16:50:31 +02:00
Arne Morten Kvarving
ec90ca1736 GasLiftSingleWell: use Scalar type 2024-04-24 15:34:07 +02:00
Arne Morten Kvarving
4feebaba4f GasLiftSingleWell: drop indent for namespace 2024-04-24 15:34:07 +02:00
Arne Morten Kvarving
ababeb79c4 GasLiftStage2: template Scalar type 2024-04-24 15:34:07 +02:00
Arne Morten Kvarving
09065dd130 GasLiftSingleWellGeneric: template Scalar type 2024-04-24 15:31:13 +02:00
Arne Morten Kvarving
25de745dab GasLiftWellState: template Scalar type 2024-04-24 15:31:13 +02:00
Arne Morten Kvarving
56dbfde657 GasLiftWellState: drop indent for namespace 2024-04-24 15:31:13 +02:00
Arne Morten Kvarving
772b00bc19 GasLiftGroupInfo: template Scalar type 2024-04-24 15:31:13 +02:00
Arne Morten Kvarving
37fa8cc5b8 GasLiftCommon: template Scalar type 2024-04-24 15:31:13 +02:00
Arne Morten Kvarving
6d0cbb47f3 BlackoilAquiferModel: use Scalar type 2024-04-24 15:22:00 +02:00
Arne Morten Kvarving
46e668911d AquiferCarterTracy: use Scalar type 2024-04-24 15:15:24 +02:00
Arne Morten Kvarving
687695882c AquiferConstantFlux: use Scalar type 2024-04-24 15:08:41 +02:00
Arne Morten Kvarving
f9f568d5ea AquiferNumerical: use Scalar type 2024-04-24 15:01:55 +02:00
Tor Harald Sandve
bf5380b2c6
Merge pull request #5296 from totto82/fixGasLift2LevelAlqLimit
Redistribute gaslift for groups with alq limit
2024-04-24 14:54:22 +02:00
Arne Morten Kvarving
a1ebca0a3e AquiferAnalytical: use Scalar type 2024-04-24 14:50:25 +02:00
Arne Morten Kvarving
7e86106ecc AquiferInterface: use Scalar type 2024-04-24 14:43:08 +02:00
Tor Harald Sandve
bac49c200e Redistribute gaslift for groups with alq limit 2024-04-24 09:44:09 +02:00
Arne Morten Kvarving
f5d6b69703 BlackoilWellModel: use Scalar type 2024-04-23 11:33:33 +02:00
Arne Morten Kvarving
f0e7f8842b BlackoilWellModelGeneric: template Scalar type 2024-04-23 11:33:33 +02:00
Arne Morten Kvarving
3d381bac91 BlackoilWellModelGuideRates: template Scalar type 2024-04-22 15:39:51 +02:00
Arne Morten Kvarving
77f9692277 BlackoilWellModelConstraints: template Scalar type 2024-04-22 15:39:51 +02:00
Arne Morten Kvarving
ddd61f4176 BlackoilWellModelRestart: template Scalar type 2024-04-22 15:39:51 +02:00
Atgeirr Flø Rasmussen
edf4be5f79
Merge pull request #5227 from akva2/improve_ide_experience
Improve IDE experience
2024-04-22 15:31:08 +02:00
Atgeirr Flø Rasmussen
a2b660d705
Merge pull request #5295 from akva2/wellgrouphelpers_template_scalar
WellGroupHelpers: template Scalar type
2024-04-22 13:14:23 +02:00
Bård Skaflestad
450bfd04fb
Merge pull request #5297 from akva2/fix_rstconv_mpich
fixed: do not send and recv from same buffer
2024-04-19 23:30:37 +02:00
Arne Morten Kvarving
70c9e5345d fixed: do not send and recv from same buffer
even though it's perfectly fine to do so in this case, mpich
will error out with an error if send and recv buffer is
the same
2024-04-19 20:10:47 +02:00
Arne Morten Kvarving
aa03d06c4d WellGroupHelpers: template Scalar type 2024-04-19 11:28:40 +02:00
Arne Morten Kvarving
522625aca8 WellGroupHelpers: change from namespace to class with static members
this to simplify adding support for float Scalars
2024-04-19 11:01:29 +02:00
Arne Morten Kvarving
ca0ca3c43e FractionCalculator: template Scalar type 2024-04-19 11:00:57 +02:00
Arne Morten Kvarving
c226c5c216 InjectionTargetCalculator: template Scalar type 2024-04-19 11:00:44 +02:00
Arne Morten Kvarving
eb3bbbb926 TargetCalculator: template Scalar type 2024-04-19 11:00:38 +02:00
Arne Morten Kvarving
6197aab409 TargetCalculator: move to namespace Opm::WGHelpers 2024-04-19 11:00:28 +02:00
Arne Morten Kvarving
9a42b70f20 TargetCalculator: drop indent for namespace 2024-04-19 11:00:20 +02:00
Arne Morten Kvarving
d6fc7cc4f6 WellGroupHelpers: drop indent for namespace 2024-04-19 10:59:53 +02:00
Tor Harald Sandve
af2e08d5aa Also fix gas-oil initialization with transision zone 2024-04-19 10:12:14 +02:00
Tor Harald Sandve
575bc813dd Fix gas-water initialization with transision zone 2024-04-19 08:39:24 +02:00
Tobias Meyer Andersen
f4b9e0a3a8 add safe conversion 2024-04-17 14:31:07 +02:00
Tobias Meyer Andersen
29cc7c4925 make variable naming convention more consistent 2024-04-17 13:49:08 +02:00