Commit Graph

18378 Commits

Author SHA1 Message Date
Bård Skaflestad
d90d7113e0
Merge pull request #5569 from akva2/fix_python_depends
fixed: make python simulator object depend on copy_python
2024-09-02 09:39:09 +02:00
Arne Morten Kvarving
a78337fc33 fixed: make python simulator object depend on copy_python
if not building just the python binding won't end up in
a complete build
2024-09-02 08:21:36 +02:00
Bård Skaflestad
d591c5ab3c
Merge pull request #5565 from bska/fix-logic-statement
Fix DRVDT Initialisation Conditional
2024-08-30 17:36:35 +02:00
Arne Morten Kvarving
ed11ba604d
Merge pull request #5567 from akva2/add_python_packaging
add python packaging fluff
2024-08-30 17:04:11 +02:00
Bård Skaflestad
a73cb6ee93 Fix DRVDT Initialisation Conditional
It does not make sense to pass

    episodeIdx && maxDRv_.empty()

as an argument to drvdtActive().
2024-08-30 15:16:46 +02:00
Atgeirr Flø Rasmussen
58ce7cbc7c
Merge pull request #5556 from akva2/float_support5
Float support in simulators: Batch 5
2024-08-30 15:06:35 +02:00
Bård Skaflestad
a84359c1f7
Merge pull request #5566 from atgeirr/fix-cpp20ism
Avoid capturing structured bindings.
2024-08-30 14:31:27 +02:00
Arne Morten Kvarving
0203f74b3f add python packaging fluff 2024-08-30 14:28:25 +02:00
Atgeirr Flø Rasmussen
9dd54fb11a Avoid capturing structured bindings.
This is an error before C++20, and clang refuses it.
2024-08-30 13:17:07 +02:00
Kai Bao
f47d00c9d7
Merge pull request #5236 from hnil/no_early_exit_zero_flux
Avoid deleting derivative i.e. getting "wrong" matrix in case of zero…
2024-08-29 14:46:09 +02:00
hnil
6609d9fbcb changed references 2024-08-29 11:19:29 +02:00
Bård Skaflestad
d8c30f8758
Merge pull request #5537 from vkip/drsdt_restart
Avoid updating max Rs first step after restart.
2024-08-29 10:56:29 +02:00
Kai Bao
30eb34d324
Merge pull request #5564 from GitPaean/stablizing_test
adding --tolerance-cnv-relaxed for H2STORE regression
2024-08-28 19:14:24 +02:00
Vegard Kippe
eb869f211f Avoid time step dependent jump in RS after restart 2024-08-28 16:28:51 +02:00
Kai Bao
e4225df6b7 adding --tolerance-cnv-relaxed for H2STORE regression
so that the solution is converged and results in more stable regression
checking.
2024-08-28 15:10:00 +02:00
Vegard Kippe
0b6dd93903 Avoid negative time step size after restart (trouble for DRSDT init) 2024-08-28 15:04:15 +02:00
Vegard Kippe
0485bfb47f Set correct episode before initial call to invalidateAndUpdateIntensiveQuantities 2024-08-28 15:04:15 +02:00
Vegard Kippe
8f45cbe4c4 Properly initialize mixing controls after restart. 2024-08-28 15:04:15 +02:00
Vegard Kippe
cc08df226e Update after merging #5527 2024-08-28 15:04:15 +02:00
Kai Bao
2f36034077
Merge pull request #5563 from GitPaean/stablizing_test
hopefully stabilizing some regression test
2024-08-28 13:59:12 +02:00
hnil
5c0176371c -- fixed reference 2024-08-28 13:27:46 +02:00
Kai Bao
db62d4f914 adding --tolerance-wells=1.e-8 to regression tests
UDQ_M1 and NORNE_ATW2013_B1H_RE-PERF
2024-08-28 11:45:41 +02:00
Atgeirr Flø Rasmussen
d6c1ecea50
Merge pull request #5338 from bska/infoiter-cnv-pv-split
Output CNV Histogram to INFOITER File
2024-08-27 15:56:21 +02:00
Bård Skaflestad
9dca8256f3 Split Request Writing Into Stages
This commit introduces helper functions for each individual part of
a convergence report record in the INFOITER file.  In particular, we
create helpers for

  - Time related columns (report step, time step, time &c)
  - CNV pore-volume histogram columns
  - Reservoir convergence metrics (CNV and MB values per phase)
  - Well convergence metrics

This makes the body of the main loop in writeConvergenceRequest()
slightly easier to read and means that we can apply some additional
logic to the CNV pore-volume histograms if the number of values does
not match the expected 3 per type.  In that case we output sentinel
values (e.g., NaN and -1) to signify that the corresponding pieces
of information are unavailable.
2024-08-27 10:50:06 +02:00
Bård Skaflestad
0b40277e01 Revise Convergence Report Collection Procedure
This commit switches the parallel implemenation of function
Opm::gatherConvergenceReport() into using the general serialisation
framework (classes Opm::Serializer<> and Opm::Mpi::Packer).  In
particular, we add serializeOp() functions to each of the types

  - ConvergenceReport
  - ConvergenceReport::ReservoirFailure
  - ConvergenceReport::ReservoirConvergenceMetric
  - ConvergenceReport::WellFailure

and defer the job of converting the objects between in-memory and
byte stream representations to Opm::Serializer<>.  The new special
purpose class CollectConvReports inherits from the latter and uses
its pack() and unpack() member functions, along with its internal
m_buffer data member, to distribute each rank's convergence report
object to all ranks.  We add this feature here, in a very narrowly
scoped use case, to enable testing and experimentation before we
consider adding this distribution mechanism as a general feature in
Opm::MpiSerializer.
2024-08-27 10:50:06 +02:00
Bård Skaflestad
68cc5d917e Output CNV Histogram to INFOITER File
This commit tracks the number of cells and their associate fraction
of the model's "eligible" pore volume (total pore volume in
numerical aquifers subtracted from the model's total pore volume) in
three distinct categories as a function of the non-linear iteration
number:

  - 0: MAX_p { CNV_p } <= strict CNV tolerance
  - 1: MAX_p { CNV_p } \in (strict, relaxed]
  - 2: MAX_p { CNV_p } > relaxed CNV tolerance

We then output these cell counts and pore volume fractions as new
items in the INFOITER file to enable more targeted analysis of the
non-linear convergence behaviour.

To this end, introduce a type alias CnvPvSplit in the
ConvergenceReport and aggregate these across the MPI ranks before we
collect them in the ConvergenceReport objects.

While here, also reduce the amount of repeated logic in
gatherConvergenceReport.cpp through a few local lambdas.
2024-08-27 10:50:06 +02:00
Bård Skaflestad
359e4903d5
Merge pull request #5561 from akva2/janitoring
amgcpr: use override
2024-08-27 09:18:04 +02:00
Arne Morten Kvarving
021d6c2b0c amgcpr: use override 2024-08-27 06:43:00 +02:00
Bård Skaflestad
1a6b063824
Merge pull request #5559 from akva2/janitoring
do not capture compile time data in lambda
2024-08-26 10:34:36 +02:00
Kjetil Olsen Lye
f97389d1b5
Merge pull request #5554 from multitalentloes/refactor_cuistl
refactor cuistl to gpuistl
2024-08-26 09:55:13 +02:00
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
fb9f7541f3 do not capture compile time data in lambda
quells clang warnings
2024-08-26 08:27:34 +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
Tobias Meyer Andersen
d14fed904a fix typo 2024-08-23 14:42:37 +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
Tobias Meyer Andersen
e14ebcb826 fix cmake for gpuvector 2024-08-23 13:02:09 +02:00
Tobias Meyer Andersen
d925d62bf2 refactor cusparsematrixoperations 2024-08-23 11:15:18 +02:00
Arne Morten Kvarving
b5bd290887 BlackoilModel: use appropriate Scalar type 2024-08-23 11:15:03 +02:00
Arne Morten Kvarving
fda7298374 FlowGenericVanguard: optionally instantiate for float 2024-08-23 11:15:03 +02:00
Arne Morten Kvarving
bca05f8f7b ISTLSolverBda: optionally instantiate for float 2024-08-23 11:15:03 +02:00
Arne Morten Kvarving
4d08afd480 BdaBridge: optionally instantiate for float 2024-08-23 11:15:03 +02:00
Arne Morten Kvarving
ecb2cafdd3 rocsparseSolverBackend: optionally instantiate for float 2024-08-23 11:15:03 +02:00
Arne Morten Kvarving
346ba93b66 rocsparsePreconditioner: optionally instantiate for float
rocsparseBILU0: optionally instantiate for float
rocsparseCPR: optionally instantiate for float
2024-08-23 11:15:03 +02:00
Arne Morten Kvarving
3ff678b58a rocsparseCPR: add support for float Scalars 2024-08-23 11:15:03 +02:00
Tobias Meyer Andersen
d2681b26ed refactor opm_cuda_safe_call 2024-08-23 11:12:13 +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