Commit Graph

5531 Commits

Author SHA1 Message Date
Arne Morten Kvarving
6a03394d5b changed: EnableVtkOutput parameter moved to Opm::Parameters namespace 2024-06-28 14:43:11 +02:00
Arne Morten Kvarving
b3fae7f0f9 changed: OutputDir parameter moved to Opm::Parameters namespace 2024-06-28 14:43:11 +02:00
Arne Morten Kvarving
da4471acfa changed: EnableGridAdaptation 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
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
ac42250b25
Merge pull request #5402 from totto82/output_wetting_hyst
Output maximum/minimum saturations directly for restart hysteresis
2024-06-26 12:15:20 +02:00
Kai Bao
eb83fff9d5
Merge pull request #5435 from steink/updates_in_preparation_for_5157
Minor updates in preparation for New defaults #5157.
2024-06-26 00:24:29 +02:00
Tor Harald Sandve
230656ec31 updateInitialHystParams 2024-06-25 12:55:02 +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
Stein Krogstad
fd199d2558 Rewrite to properly loop over components 2024-06-25 11:46:53 +02:00
Stein Krogstad
1efcd2c936 Fix potential for solvent + adjust perforation pressures 2024-06-25 11:46:53 +02:00
Arne Morten Kvarving
981a5f8a14 clean up some comments
- simulator note was copied from the typetag dependent class (EclWriter)
- opm-output is no longer a separate module
2024-06-25 10:59:57 +02:00
Kai Bao
d7d74d3a3e
Merge pull request #5424 from GitPaean/fixing_wecon
WECON RATE limit should not be applied if the well is under zero group rate target
2024-06-24 19:02:53 +02:00
Kai Bao
f99956c452
Merge pull request #5432 from vkip/gconprod_item11to13
Allow GCONPROD item 11-13 to actually take effect.
2024-06-24 18:59:29 +02:00
Kai Bao
6ac7f8fdaf not applying WECON RATE limit
when the well is under zero group target.
2024-06-24 14:42:10 +02:00
Markus Blatt
363eaaa57b
Merge pull request #5434 from blattms/bugfix/do-not-count-nan-as-errors
[fix] Do not count experiencing nans as error in PRT file.
2024-06-20 16:18:49 +02:00
Markus Blatt
9dbaad2b3e
Merge pull request #5423 from blattms/bugfix/mswell-exceptions-are-problems
Only indicate problems for exceptions whem updating well potentials,
2024-06-20 14:33:17 +02:00
Tor Harald Sandve
a419390854
Merge pull request #5407 from totto82/fix_drsdt
avoid mass creation with drsdt
2024-06-20 12:14:22 +02:00
Markus Blatt
238b7b2980 [fix] Do not count experiencing nans as error in PRT file.
The simulation will just chop the time step and continue.
Note, that the error count in the PRT file is used by engineers to
decide whether a simulation was successfull. Hence the error count
should not be increased here.
2024-06-20 10:40:37 +02:00
Bård Skaflestad
acb124bbdc
Merge pull request #5426 from totto82/output_every_timestep
fix option for output every timestep
2024-06-19 12:09:34 +02:00
Bård Skaflestad
46523e7cd9
Merge pull request #5430 from atgeirr/fix-damaris-logging-parallel
Add and use DamarisOutput::handleError() helper.
2024-06-19 11:30:08 +02:00
Vegard Kippe
ca1331fe08 Allow GCONPROD item 11-13 to actually take effect. 2024-06-19 10:47:43 +02:00
Atgeirr Flø Rasmussen
2c99a84c87 Add and use DamarisOutput::handleError() helper.
This should improve error handling in parallel, and ensure
Damaris problems are logged properly.
2024-06-19 10:30:38 +02:00
Tor Harald Sandve
4f2311d1b2 Output maximum/minimum saturations directly for restart hysteresis 2024-06-18 10:39:19 +02:00
Tor Harald Sandve
366f3a2944 fix option for output every timestep 2024-06-14 15:03:43 +02:00
Vegard Kippe
683dc715e2 Do NOT delete files recursively - causes massive problems if outputdir is not specified.. 2024-06-14 13:36:15 +02:00
Tor Harald Sandve
151bba43a7
Merge pull request #5268 from svenn-t/tracer_dis_vap
Partitioning tracers
2024-06-14 09:08:12 +02:00
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