Commit Graph

1892 Commits

Author SHA1 Message Date
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
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
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
3f4ae4ddf4 refactor cuistl namespace 2024-08-22 13:52:50 +02:00
jakobtorben
5d54c50ba0 Add method for defining if preconditioners should be recreated 2024-08-20 17:57:38 +02:00
Arne Morten Kvarving
965c89d7a2 added: (restart-)serialization test for MixingRateControls 2024-08-19 14:03:47 +02:00
Arne Morten Kvarving
b902f83fa6 BlackoilModelParameters: introduce translation unit 2024-08-16 17:15:53 +02:00
Arne Morten Kvarving
280704e2e0 move AdaptiveTimeStepping parameters to TypeTag-free parameter system 2024-08-16 13:22:17 +02:00
Arne Morten Kvarving
e2b8715b42 move EclTimeStepping parameters to TypeTag-free parameter system 2024-08-16 13:22:17 +02:00
Arne Morten Kvarving
3716ee664d move BlackoilModel parameters to TypeTag-free parameter system 2024-08-16 13:20:04 +02:00
Arne Morten Kvarving
aab40a32e2 move EnableTerminalOutput parameter to TypeTag-free parameter system 2024-08-16 13:17:56 +02:00
Arne Morten Kvarving
64557a136d NewtonMaxIterations moved to TypeTag-free parameter system 2024-08-13 20:13:28 +02:00
Arne Morten Kvarving
0195f8f113 NewtonTolerance moved to TypeTag-free parameter system 2024-08-13 20:13:28 +02:00
Arne Morten Kvarving
43f9a46b51 ContinueOnConvergenceError moved to TypeTag-free parameter system 2024-08-13 13:31:11 +02:00
Arne Morten Kvarving
9e11888ccb ThreadsPerProcess moved to TypeTag-free parameter system 2024-08-12 14:48:56 +02:00
Kjetil Olsen Lye
eb3d4e9203 Merge pull request #5441 from multitalentloes/add_opm_cuilu0
Add OpmCuILU0 and clean up cuistl
2024-08-12 09:46:37 +02:00
Tobias Meyer Andersen
7a30aaa46e Add an OPM implementation of ILU0
improve file structure in cuistl
run clang-format
2024-08-09 15:52:42 +02:00
Arne Morten Kvarving
edb99264ea add test for new parameter system 2024-08-09 15:29:27 +02:00
Arne Morten Kvarving
e1bcd00a36 adapt to ParameterSystem typetag removal 2024-08-09 10:56:07 +02:00
Arne Morten Kvarving
a65ddff8f6 changed: BlackoilModel parameters moved to Opm::Parameters namespace 2024-08-06 09:50:02 +02:00
Arne Morten Kvarving
d75b91aaba changed: SimulatorFullyImplicitBlackoil parameters moved to Opm::Parameters namespace 2024-08-06 09:50:02 +02:00
Kjetil Olsen Lye
51e8bb7191 Merge pull request #5392 from multitalentloes/add_CuBuffer
Add CuBuffer and CuView
2024-08-05 15:29:59 +02:00
Tobias Meyer Andersen
e8ac31da16 add CuBuffer and CuView to cuISTL 2024-08-01 16:38:16 +02:00
Tor Harald Sandve
f678c082de Adapt to inj prefix and cleanup 2024-08-01 11:23:00 +02:00
Tor Harald Sandve
5f8916c0c3 Use cell temperature in perforated cell to compute reservoir rates 2024-08-01 11:14:29 +02:00
Markus Blatt
03dc006b88 Merge pull request #5488 from lisajulia/fix/ACTIONX-COMPDAT
Fix/actionx compdat
2024-07-30 17:18:04 +02:00
Lisa Julia Nebel
3d8c1a11b7 Add option to compare two parallel runs 2024-07-25 16:26:20 +02:00
Atgeirr Flø Rasmussen
3e3dd7fa26 BSD and macOS getopts require options first. 2024-07-25 16:19:59 +02:00
Markus Blatt
ca2ef490aa Merge pull request #5408 from BigDataAccelerate/cpr_rocsparse
rocsparse CPR initial version
2024-07-16 18:57:40 +02:00
Razvan Nane
8963bf16f9 fix tests 2024-07-12 11:47:25 +02:00
Atgeirr Flø Rasmussen
db1be5e92b Fix Damaris test.
The h5diff program returns 1 (failure) if there are any differences at all,
even if using a relative or absolute difference tolerance and seeing no
differences above the tolerance. In that situation, the output will be empty,
but the return value 1.

To make this test behave similar to the other regression tests, we now check
if its output is empty instead.

Also: set relative tolerance to 0.01 and remove the absolute test. This test
is not meant to trigger for numerics changes, but should capture errors in
the writing of the HDF5 file.
2024-07-08 15:57:10 +02:00
Atgeirr Flø Rasmussen
874b136ce9 Enable running test on BSD/MacOS.
BSD getopts() require options first.
2024-07-08 15:55:41 +02:00
Kjetil Olsen Lye
f3b5e0d14d Merge pull request #5433 from multitalentloes/useRecomendedBlockSize
Autotune thread block size
2024-07-08 14:17:39 +02:00
Tobias Meyer Andersen
085c3a9b16 add new constructor arguments in test instantiations 2024-07-08 11:35:26 +02:00
Arne Morten Kvarving
5c46d9cde5 add damaris test support to update_reference_data.sh 2024-07-03 21:01:54 +02:00
Arne Morten Kvarving
82cd3a2e01 changed: NewtonMaxIterations parameter moved to Opm::Parameters namespace 2024-07-01 14:13:48 +02:00
Arne Morten Kvarving
514eddc950 changed: NewtonTolerance parameter moved to Opm::Parameters namespace 2024-07-01 14:13:48 +02:00
Bård Skaflestad
9f8075e8a0 Merge pull request #5455 from akva2/fvbasediscretization_param_split
Adjust to to changes in fvbaseproperties.hh (moving of parameters to Opm::Parmeters namespace)
2024-07-01 13:22:26 +02:00
Arne Morten Kvarving
3e1c8baa35 changed: ContinueOnConvergenceError parameter moved to Opm::Parameters namespace 2024-06-28 14:43:11 +02:00
Arne Morten Kvarving
afa62ee428 changed: ThreadsPerProcess parameter moved to Opm::Parameters namespace 2024-06-28 14:43:11 +02:00
Bård Skaflestad
0c71d0701c Add MPI Support to Saturation Function Consistency Checks
This commit adds a new public member function

    SatfuncConsistencyChecks<>::collectFailures(root, comm)

which aggregates consistency check violations from all ranks in the
MPI communication object 'comm' onto rank 'root' of 'comm'.  This
amounts to summing the total number of violations from all ranks and
potentially resampling the failure points for reporting purposes.

To this end, extract the body of function processViolation() into a
general helper which performs reservoir sampling and records point
IDs and which uses a call-back function to populate the check values
associated to a single failed check.  Re-implement the original
function in terms of this helper by wrapping exportCheckValues() in
a lambda function.  Extract similar helpers for numPoints() and
anyFailedChecks(), and add a new helper function

    SatfuncConsistencyChecks<>::incorporateRankViolations()

which brings sampled points from an MPI rank into the 'root's
internal data structures.

One caveat applies here.  Our current approach to collecting check
failures implies that calling member function reportFailures() is
safe only on the 'root' process in a parallel run.  On the other
hand functions anyFailedChecks() and anyFailedCriticalChecks() are
safe, and guaranteed to return the same answer, on all MPI ranks.

On a final note, the internal helper functions are at present mostly
implemented in terms of non-owning pointers.  I intend to switch to
using 'std::span<>' once we enable C++20 mode.
2024-06-28 11:04:53 +02:00
Kjetil Olsen Lye
9b414419e7 Merge pull request #5404 from multitalentloes/add_dilu_LU_splitting
Add cudilu lu splitting
2024-06-27 14:30:45 +02:00
Bård Skaflestad
c3939c5444 Add New Platform for Saturation Function Consistency Checks
The intention is that this will ultimately replace the existing
RelpermDiagnostics component which does not really work in parallel
and which does not report enough context to help diagnose underlying
issues.  For now, though, we just add the shell of a new set of
checks and hook that up to the build.

Class SatfuncConsistencyChecks<Scalar> manages a configurable set of
consistency checks, the implementations of which must publicly
derive from SatfuncConsistencyChecks<Scalar>::Check.  Client code
will configure a set of checks by first calling

    SatfuncConsistencyChecks<Scalar>::resetCheckSet()

then register individual checks by calling

    SatfuncConsistencyChecks<Scalar>::addCheck()

and finally build requisite internal structures by calling

    SatfuncConsistencyChecks<Scalar>::finaliseCheckSet()

Client code will then run the checks by calling

    SatfuncConsistencyChecks<Scalar>::checkEndpoints()

typically in a loop.  Class SatfuncConsistencyChecks<Scalar> will
count consistency check failures and attribute these to each
individual check as needed.  We also maintain separate counts for
"Standard" and "Critical" failures.  The former will typically
generate warnings while the latter will typically cause the
simulation run to stop.  Individual checks get to decide which check
is "Critical", and client code gets to decide how to respond to
"Critical" failures.

Member function SatfuncConsistencyChecks<Scalar>::reportFailures()
will generate a textual report of the known set of consistency check
failures at a give severity level.

As an internal implementation detail, SatfuncConsistencyChecks uses
"reservoir sampling"
(https://en.wikipedia.org/wiki/Reservoir_sampling) to track details
about individual failed checks.  We maintain at most a fixed number
of individual points (constructor argument).
2024-06-26 12:17:00 +02:00
Bård Skaflestad
26cd7ab993 Move opm/core/props to opm/simulators/utils
The opm/core directory is no longer meaningful, and it contains only
components which might collectively be described as simulator
utilities.
2024-06-25 12:22:09 +02:00
Tobias Meyer Andersen
82ff782d5f clang format 2024-06-18 11:42:00 +02:00