Commit Graph

16624 Commits

Author SHA1 Message Date
Tobias Meyer Andersen
8b396fa3dc Update test properties of new tests using CUDA. Avoid comparison causing new warning 2023-10-16 11:31:00 +02:00
Tobias Meyer Andersen
533c5a1a3e Combine new diagonalMV kernels into one using
template arguements.
Use more consistent naming conventions.
Change printing function of CuVector from output
stream overload to toDebugString().
2023-10-16 09:53:02 +02:00
Tobias Meyer Andersen
c809819cbd Fuse kernels to optimize performance and update
the tests and documentation.
2023-10-13 10:31:17 +02:00
Tobias Meyer Andersen
fbeb006d45 Simplify and optimize the Jacobi preconditioner
apply. Fix .h and .cpp mistakes in cmake.
2023-10-13 10:31:17 +02:00
Tobias Meyer Andersen
1e4b0e97ee Add jacobi preconditioner that runs on the GPU.
Implement calls to cuBlas, cuSparse and implement necessary
CUDA kernels to perform a single iteration of the jacobi preconditioner.

Add tests that verify new kernels and the preconditioner in its totality.

The preconditioner is verified on 2x2 and 3x3 blocks, which as of now
are the only supported sizes. 1x1 are not supported because cuSparse
does not support it.
2023-10-13 10:31:17 +02:00
Kai Bao
3af34e4ae6
Merge pull request #4923 from GitPaean/using_report_step
distinguishing report step and time step
2023-10-11 23:14:43 +02:00
Markus Blatt
62dd660b2d
Merge pull request #4916 from daavid00/fixVtkOnReportStep
Fix to write vtks on report steps
2023-10-11 11:59:18 +02:00
Kai Bao
f5d3489d23 distinguishing report step and time step
for the funcitons related to createWellContainer() and
runWellPIScaling().

So it is not exhaustive, but we should do it gradually.
2023-10-11 11:33:02 +02:00
Atgeirr Flø Rasmussen
05eccd37c3
Merge pull request #4922 from bska/nldd-control-number-of-global-iterations
Make Number of Initial Global Iterations Configurable
2023-10-11 10:35:58 +02:00
Bård Skaflestad
e2ad737848 Make Number of Initial Global Iterations Configurable
The NLDD solver would always take one global non-linear (Newton)
iteration before starting the local non-linear iterations.  This
commit introduces a new command-line parameter,

    --nldd-num-initial-newton-iter (NlddNumInitialNewtonIter)

which allows the user to configure this value at runtime.  The
default value, 1, preserves the current behaviour.
2023-10-10 18:29:05 +02:00
Markus Blatt
9f79c7d4eb
Merge pull request #4921 from bska/dont-apply-multiplier-twice
Don't Apply Regional Multipliers Twice to EDITNNC Connections
2023-10-10 16:35:20 +02:00
Bård Skaflestad
544496d0eb Don't Apply Regional Multipliers Twice to EDITNNC Connections
The connections entered in the EDITNNC keyword are already fully
accounted for in the main 'update()' loop followed by the helper
function applyEditNncToGridTrans_().  Therefore, it is wrong to
include those connections when applying MULTREGT to NNCs.  This
commit removes the pertinent connections from the main loop in
helper function applyNncMultreg_().

Commit ddcafa8a91 got this wrong, so pointy hat to [at]bska.
2023-10-10 13:57:29 +02:00
Bård Skaflestad
1cc806cf42
Merge pull request #4920 from kjetilly/fix_fmt_10
Casting to support {fmt} v10.
2023-10-10 11:44:20 +02:00
Kjetil Olsen Lye
628b69c83c
Casting to support {fmt} v10.
Due to issues with anonymous enums, newer versions of {fmt} (v10) do not seem to handle the implicit conversion from enum value to `int`. Hence we need a cast for `fmt::format`-calls involving `Matrix::block_matrix::rows` (or `cols`) to compile. This seems to only be relevant for one part of the code. 

For an isolated example, see https://github.com/kjetilly/fmt_fails_with_enum
2023-10-10 10:58:21 +02:00
Bård Skaflestad
ab6241f1f6
Merge pull request #4917 from kjetilly/remove_cuda_thread_exit
Removed call to deprecated cudaThreadExit
2023-10-09 11:41:23 +02:00
David Landa Marban
b0b9b1205c Fix to write vtks on report steps 2023-10-09 11:03:23 +02:00
Kjetil Olsen Lye
df0fdbbd0b
Removed call to deprecated cudaThreadExit
`cudaThreadExit` has been deprecated in favour of `cudaDeviceReset`, which is already being called.
2023-10-09 10:49:31 +02:00
Markus Blatt
3f436501d2
Merge pull request #4883 from jychang48/jychang48-edits
Removed OpenCL dependencies for rocsparse backend & error exception handling
2023-10-06 20:50:22 +02:00
Justin Chang
48a4ddec3a
Revert hipStreamSynchronize placement in rocsparseSolverBackend.cpp 2023-10-06 09:38:44 -05:00
Markus Blatt
3c7a4635ea
Merge pull request #4402 from bska/follow-udq-context-api-change
Chase API Change for UDQ Evaluation
2023-10-06 15:35:29 +02:00
Markus Blatt
f2d3d2d144
Merge pull request #4903 from blattms/fix-debian-bookworm-rocblas
[cmake] Always demand rocblas to be there when activating rocsparse
2023-10-06 11:41:58 +02:00
Bård Skaflestad
958ee8ac50
Merge pull request #4911 from akva2/janitoring
mark variable maybe_unused
2023-10-05 10:31:31 +02:00
Arne Morten Kvarving
900056e8d7 mark variable maybe_unused
quells a clang warning
2023-10-05 09:31:36 +02:00
Bård Skaflestad
0c7b0f5fcb Chase API Change for UDQ Evaluation
In particular, pass a "segment matcher factory" into every function
that forms UDQ context objects.
2023-10-04 16:33:19 +02:00
Markus Blatt
8b8164308a
Merge pull request #4909 from blattms/fix-parallel-stop-network-update-at-max
[bugfix] Fix stopping network update in parallel at max steps.
2023-10-04 14:12:54 +02:00
Markus Blatt
6a705b9b8e Fixed spelling. 2023-10-04 13:24:01 +02:00
Markus Blatt
9279ce19e8 [bugfix] Fixes stopping network update in parallel at max steps.
We did only break in the loop for rank 0 and not the other ones. Hence
all other processes kept iterating beyond the maximum number of
allowed iterations. This lead to hard to find crashes because of
non-matching MPI communication.
2023-10-04 12:56:44 +02:00
Markus Blatt
3c45522bab
Merge pull request #4901 from hnil/fix_nonpinch_z
No connection without pinch and layers inbetween.
2023-10-04 12:26:24 +02:00
Justin Chang
b5d8c3b5f0 Added detailed HIP exception handling 2023-10-03 15:40:20 -05:00
Justin Chang
54d82d349e Removed OpenCL dependencies from rocsparse backend 2023-10-03 15:40:20 -05:00
Bård Skaflestad
d1b908421d
Merge pull request #4904 from vkip/bflowijk_alloc_fix
Always allocate buffers for storing flows if BFLOW[I|J|K] is requested
2023-10-03 09:41:10 +02:00
Vegard Kippe
563dd8ed49 Ensuring buffers required for BFLOW[I|J|K] summary output are allocated initially even if there is no RPTRST in the solution section. 2023-10-02 18:36:00 +02:00
Markus Blatt
fa04666b8a
Merge pull request #4888 from blattms/fix-compute-temperature-for-distwells
Fixes computation of temperature for distributed wells.
2023-10-02 17:22:09 +02:00
Markus Blatt
5a2a97d21c [cmake] Always demand rocblas to be there when activating rocsparse
This was somehow only done for hip version >=5.3, but Debian bookworm
is missing rocblas and using hipcc 2.3.0 and therefore compilation failed there.
2023-10-02 17:14:43 +02:00
Markus Blatt
9dac9de6a1
Merge pull request #4900 from hnil/fix_nnz_thermal
fixed error using NNC with thermal
2023-10-02 11:08:24 +02:00
Tor Harald Sandve
a54f8dd81c
Merge pull request #4890 from hakonhagland/python_docs
Added some Python documentation
2023-10-02 08:54:51 +02:00
hnil
049cc36727 -- set no connections in tranz if vertical cells has more layers inbetween and pinch is not set 2023-09-29 14:31:45 +02:00
hnil
7ff4605ccc -- fixed error using NNZ with thermal
also:
-- fixed but not checked for diffusion
-- bug for zero thermal diffusion (nan in derivatives)
-- added checking of consistency between input and taged phases
2023-09-29 13:26:31 +02:00
Bård Skaflestad
724ccd6fc2
Merge pull request #4895 from GitPaean/steink-local_control_switch_option_0920_3
Option for doing well control/status switching during local well solve
2023-09-29 11:57:35 +02:00
Kai Bao
b1974bbe45 recovering the SHUT during iteration beahvoir in prepareWellBeforeAssembling
when local_well_solver_control_switching_ is off
and incoporating commenst regarding resetting wellStatus_ in StandardWell within
the function iterateWellEqWithSwitching.
2023-09-29 10:55:19 +02:00
Kai Bao
83bbe89342 LocalWellSolveControlSwitching default to be false 2023-09-29 10:55:19 +02:00
Kai Bao
e38e557bbc cleaning up to preapre for pull request 2023-09-29 10:55:19 +02:00
Stein Krogstad
035d216641 adding function iterateWellEqWithSwitching
when we do the local solve for well equations, control/status will be
updated during the iteration process, such that the converged well gets
correct control/status regarding to the current reservoir state.

various change in the other parts of the code were made to make the
function work as intended.
2023-09-29 10:51:04 +02:00
Markus Blatt
c657cfecc8
Merge pull request #4868 from bska/support-truncated-region-names
Match Region Sets by Unique Prefix
2023-09-28 21:04:06 +02:00
Bård Skaflestad
85bb525067 Match Region Sets by Unique Prefix
This commit switches the region set tag matching algorithm to using
unique prefixes.  This enables the simulator to recognise that the
region set name

    FIPUNI

should match up with the user defined region set 'FIPUNIT'.  In the
current master sources, the above summary vector would produce a
diagnostic message saying that the region set 'FIPUNI' (without the
final 'T') does not exist.

To this end, we instruct the ParallelEclipseState to always pass the
six character substring beginning with 'FIP' for FIP-like region
arrays and defer to the rank-0 EclipseState/FieldProps mechanism to
match this prefix with its canonical region set.
2023-09-28 17:54:27 +02:00
Markus Blatt
326d63cb8e
Merge pull request #4898 from aritorto/centroidRankZero
Supporting centroids lookup for rank 0 and LGRs
2023-09-28 17:49:07 +02:00
Bård Skaflestad
1e8441e8a9
Merge pull request #4528 from svenn-t/h2store
Enable WSF/GSF for H2STORE
2023-09-28 16:59:49 +02:00
Bård Skaflestad
09626f2e3a
Merge pull request #4525 from goncalvesmachadoc/co2store
keywords co2store + gaswat
2023-09-28 16:56:25 +02:00
Antonella Ritorto
92a1d3caab Separating LGRs in rank 0 cellCentroids_ 2023-09-28 16:03:08 +02:00
Atgeirr Flø Rasmussen
ffa7bc23ed
Merge pull request #4885 from hnil/safer_fluid_evaluation
Safer fluid evaluation
2023-09-26 14:59:05 +02:00