Commit Graph
100 Commits
Author SHA1 Message Date
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
Markus Blatt ac232197dc Merge pull request #5510 from lisajulia/fix/COMPDAT-NLDD-parallel
Fix/compdat nldd parallel
2024-08-14 11:18:28 +02:00
Markus Blatt a6006b0c93 Merge pull request #5505 from lisajulia/fix/COMPDAT-NLDD
Fix the usage of the COMPDAT keyword in an ACTIONX for the NLDD solver for sequential runs
2024-08-08 15:35:00 +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
Markus Blatt 40ae8a6c53 Merge pull request #5492 from akva2/janitoring
Some janitoring
2024-07-30 15:02:47 +02:00
Markus Blatt 9f76155312 Merge pull request #5487 from atgeirr/further-fixes-for-argument-order
BSD and macOS getopts require options first.
2024-07-26 10:15:42 +02:00
Markus Blatt 6e74fea547 Merge pull request #5477 from lisajulia/feature/metis-support
Add the metis partitioner as a command line option as well
2024-07-17 07:32:39 +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
Markus Blatt c243620057 Merge pull request #5474 from lisajulia/feature/add-failureFlag-to-tasklets
Remove UNIFOUT keyword from python test data file SPE1CASE1.DATA
2024-07-12 13:13:47 +02:00
Markus Blatt e95fa33f8e Merge pull request #5475 from lisajulia/move-documentation
Move documentation
2024-07-12 12:33:22 +02:00
Markus Blatt 93e06d2187 Merge pull request #5473 from vkip/avoid_mpi_int_overflow
Avoid buffers exceeding intmax in MPI calls
2024-07-10 17:24:05 +02:00
Markus Blatt 0caf92c6a6 Merge pull request #5448 from atgeirr/ensure-initialized-members-bdystate
Ensure all members are initialized in FlowProblem::boundaryFluidState().
2024-07-04 16:43:05 +02:00
Markus Blatt 3ee2830d28 Change distanceVector_ to take the element index instead of centroid 2024-07-04 14:40:28 +02:00
Markus Blatt d7c869d01a [refactor] Remove unnecessary copy in axisCentroid and simply code.
We stored 3 copies of each cell centroid in axisCentroid. This seemed
to be a waste of memory and also made the function distanceVector_ hard
to understand.

With this change we omit this copy of information and simplify distanceVector_
2024-06-27 15:15:33 +02:00
Markus Blatt f6a4d7b076 [refactor] Use DUNE's do product to hide code complexity.
this removes some explicit loops.
2024-06-27 13:29:55 +02:00
Markus Blatt ddb984c24e Merge pull request #5444 from akva2/hipify_only_build_time
changed: remove hipification at configure time
2024-06-27 10:41:14 +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
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
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
Markus Blatt 6921db4282 omit unnescessary function parameter for EDINCC 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
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
Markus Blatt d80b8411b7 Fixed spelling of comments. 2024-06-07 14:58:47 +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
Markus Blatt 15001cbf7e Merge pull request #5330 from bska/run-udq-assign-after-action
Rerun UDQ Assignments After Action Processing
2024-05-21 17:19:54 +02:00
Markus Blatt 87c4471f96 Fixes uninitialized variable warning with gcc-12 2024-04-25 09:26:31 +02:00
Markus Blatt d4ae595fd5 use fixtures for test_LogOutputHelper 2024-04-11 10:59:46 +02:00
Markus Blatt 4e9eed0acd [fix] Prevent dangling refernces in Logger for test_LogOutputHelper
In the test methods of the test suite we construct a new logger that
logs to a local stringstream. This logger will be stored in a static
map and hence live longer that the test method and the stringstream.

Some methods use Opm::Log::MessageType::Note, others
Opm::Log::MessageType::Warning for adding the loggging backend . There
is one map per MessageType and sometimes (e.g. previous method used Note
and this one uses Warning) we will log to the old logger with dangling
references.

This problem materialized in a segmentation fault on ppc64el architecture.
2024-04-11 09:44:40 +02:00
Markus Blatt 450a35971b Added MULTXYZ tests as regression tests. 2024-04-05 12:52:59 +02:00
Markus Blatt ca71415297 Merge pull request #5266 from lisajulia/feature/pyAction-comparison-tests
Comparison tests for PYACTION
2024-04-04 19:40:25 +02:00
Markus Blatt 1243148d38 Merge pull request #5264 from akva2/fix_oob_no_wells
fixed: out-of-bounds reference with no wells
2024-04-02 10:48:26 +02:00
Markus Blatt 4647d90f02 Merge pull request #5262 from GitPaean/removing_flowproblem_include
removing the including of FlowProblem in BlackoilWellModel
2024-04-02 10:32:11 +02:00
Markus Blatt 1484b4f96f Merge pull request #5244 from bska/defer-smrycfg-init
Defer SummaryConfig Initialisation
2024-03-22 18:55:36 +01:00
Markus Blatt dc17b86865 Merge pull request #5261 from blattms/fix-libfmt-call
[bugfix] Correctly form debug message to avoid exceptions in libfmt.
2024-03-22 15:03:06 +01:00
Markus Blatt 98e11bf14e [bugfix] Use reasonable timestep if NEXTSTEP in ACTIONX is used.
The step size might still need to be smaller than suggested to not
simulate beyond the end of the current report step. To ensure this we
now use AdaptiveTimeSimulationTimer::provideTimeStepEstimate which
will limit it and also make sure that subsequent time steps will not
get to small either.
2024-03-22 14:25:09 +01:00
Markus Blatt fee12696cb [bugfix] Correctly form debug message to avoid exceptions in libfmt. 2024-03-22 14:12:05 +01:00
Markus Blatt 8d28b1b73e Merge pull request #5218 from aritorto/aboutLgrTrans
Simulation (partially) supported for CpGrid with LGRs
2024-03-20 10:33:05 +01:00
Markus Blatt 0c87b3386a Merge pull request #5159 from akva2/quell_rocsparse_warnings
Quell rocsparse warnings
2024-03-08 16:44:40 +01:00
Markus Blatt f04f4c5765 Merge pull request #5239 from akva2/move_flow_utilities_dedicated_file
changed: rename FlowMain.cpp to FlowUtils.cpp
2024-03-07 17:35:59 +01:00
Markus Blatt d061d70ba9 Merge pull request #5222 from blattms/actionx-instant-nextstep
[Fix] Correct handling of NEXTSTEP in ACTIONX
2024-03-05 15:00:06 +01:00
Markus Blatt 2cd490b601 [Fix] Correct handling of NEXTSTEP in ACTIONX
Previously, the step size would only have used for the first time step
of the next report step (at least of --enable-tuning=true was used).
2024-03-05 13:59:24 +01:00
Markus Blatt bb85fc9939 Merge pull request #5237 from akva2/timestepping_use_fmt
AdaptiveTimeStepping: use {fmt} to format messages
2024-02-29 14:25:26 +01:00
Markus Blatt 5bafd76b94 Merge pull request #5230 from akva2/fractioncalculator_split
FractionCalculator: put in separate translation unit
2024-02-29 08:22:59 +01:00
Markus Blatt bc807a4fc4 Merge pull request #5201 from akva2/rename_typetag_entries
Drop Ecl from two typetag entries/cl-parameters
2024-02-23 11:29:33 +01:00
Markus Blatt cc9d9bab41 Merge pull request #5193 from akva2/move_timestepping_params
move ebos/ecltimesteppingparams.hh to opm/simulators/timestepping
2024-02-23 10:13:24 +01:00
Markus Blatt 72d8abb837 Merge pull request #5209 from akva2/drop_ecl_typetags
Rename typetags - drop Ecl prefix
2024-02-23 10:01:26 +01:00
Markus Blatt b8bc29b544 Merge pull request #5223 from akva2/janitoring
Some janitoring
2024-02-23 09:53:07 +01:00
Markus Blatt 12cc0d7c5b Merge pull request #5219 from aritorto/skipIndices
Documentation fixed in skipping indices for trans
2024-02-22 18:00:06 +01:00
Markus Blatt 5c6087b0ee Merge pull request #5202 from akva2/remove_parameters
Remove some parameters that are not used by flow
2024-02-22 14:29:59 +01:00
Markus Blatt 3dfb808724 Merge pull request #5220 from vkip/actionx_low_parsing_strictness
Respect low parsing strictness in actions
2024-02-22 14:27:01 +01:00
Markus Blatt 4d40197406 Merge pull request #5215 from vkip/nextstep_without_tuning
Ensure NEXTSTEP is respected also without --enable-tuning=true
2024-02-21 16:09:23 +01:00
Markus Blatt ae9ddfbea4 Merge pull request #5210 from akva2/move_parallel_split_to_cpp
MPIPartitionFromFile: move implementation to generic translation unit
2024-02-19 16:44:35 +01:00
Markus Blatt f52a0058aa Merge pull request #5213 from blattms/remove-EclEnableTuning
remove duplicate EclEnableTuning parameter
2024-02-16 18:41:34 +01:00
Markus Blatt 3ae685d47c Merge pull request #5146 from akva2/flowmain_drop_ebos
rename FlowMainEbos to FlowMain
2024-02-06 16:24:33 +01:00
Markus Blatt 778a7e2343 Merge pull request #5163 from akva2/fix_comments
Fix some comments
2024-02-06 16:22:56 +01:00
Markus Blatt b5ad44bdee Merge pull request #5161 from totto82/coordssys
Ignore Coordsys and print a warning
2024-02-06 16:19:09 +01:00
Markus Blatt 57da17b591 [bugfix] Do not try to save FLOWS or FLOWRES values for NNCs.
If we would try that then we would index vectors with index -1 and
possibly overwriting other system information. This was the case for
some models resulting in cryptic errror " corrupted size vs. prev_size"

Now we simply do nothing for NNCs.
2024-02-06 16:06:11 +01:00
Markus Blatt 819842d7cf Fix linking errors when using shared libraries.
We accomplish that by passing the module version as a string to the
constructors of LogOutputHelper and EclGenericOutputBlackoilModel
instead of calling moduleVersionName() in LogOutputHelper. That way
moduleVersionName is not needed by libopmsimulators anymore and
compilation works again for people requesting shared libraries via
CMake's BUILD_SHARED_LIBS variable.
2024-01-29 16:37:38 +01:00
Markus Blatt 3aa2e0969f Merge pull request #864 from lisajulia/feature/deterministic-indicesSyncer
Construct the matrices in the AMG hierarchy with deterministic indices if possible.
2024-01-29 13:59:44 +01:00
Markus Blatt ddb174f401 Merge pull request #5125 from aritorto/rmNumElems
[refactor] Remove numElems from LookUpData methods
2024-01-26 14:19:04 +01:00
Markus Blatt 8b4bc32d62 Merge pull request #5079 from aritorto/lgrCreateResetTrans
Support LGRs when creating/resetting transmissibilities
2024-01-22 11:46:29 +01:00
Markus Blatt ce81fdb932 Add MULTREGT regression test.
Test case was added in OPM/opm-tests#1099 and works since merge of
OPM/opm-common#3845
2024-01-09 09:42:56 +01:00
Markus Blatt adbe894c09 Merge pull request #5084 from akva2/janitoring
Some janitoring
2024-01-02 12:29:46 +01:00
Markus Blatt 0c01a3ac50 Mark keywords SKIP, SKIP100, SKIP300, and ENDSKIP as supported.
Follow up to OPM/opm-common#3817 which implements the support for
these keywords.
2024-01-02 11:06:33 +01:00
Markus Blatt 78e8ceccba Merge pull request #5078 from aritorto/throwMULTZ
Throw for LGRs combine with TRANX/Y/Z
2023-12-20 12:03:11 +01:00
Markus Blatt 67594ed051 Merge pull request #5077 from aritorto/throwMULTZlgrs
Throw for LGR combined with MULTZ keyword
2023-12-19 17:59:35 +01:00
Markus Blatt eec2fbaaa1 Merge pull request #5071 from aritorto/assertSameParent
Assert refactored to include same-parent-leaf-cells
2023-12-18 19:36:18 +01:00
Markus Blatt 784131509f Merge pull request #5072 from aritorto/lookupExtractPerm
Lookup origin index for correct extractPermeability_
2023-12-18 19:34:51 +01:00
Markus Blatt 63031246c2 Merge pull request #5074 from aritorto/lookupPoroDisper
Lookup for extractPorosity and extractDispersion_
2023-12-18 16:47:51 +01:00
Markus Blatt acc08799a4 Merge pull request #5064 from aritorto/lookupAssigner
lookupIdxOnLevelZeroAssigner added
2023-12-18 11:33:56 +01:00
Markus Blatt 4f619f8f38 Also print information about parallel run to PRT file.
Up to now this information is only output to standard out.
To help with debugging and replicating (e.g. in case of crashes)
without saved standard putput, we now also print the imformation about
MPI processes and OMP threads to the PRT file.
2023-12-13 16:42:02 +01:00
Markus Blatt e66c6b6204 Merge pull request #5060 from aritorto/materialSim
Assign int on leaf added for material props
2023-12-13 13:35:05 +01:00
Markus Blatt 05b61b12f8 Merge pull request #5057 from aritorto/thermalLawMan
Function to lookup origin cell indices added in thermal field props.
2023-12-13 11:11:48 +01:00
Markus Blatt df0daa1a16 Merge pull request #5055 from bska/short-reg-names-redux
Publish Short Region Set Names Only
2023-12-12 10:38:00 +01:00
Markus Blatt 3b60e1ef89 Merge pull request #5047 from totto82/applyMultBC
Apply MULT[XYZ] to boundary trans
2023-12-08 14:51:12 +01:00
Markus Blatt 50e1d09a8c Add semicolon to help with indentation. 2023-12-07 16:41:16 +01:00
Markus Blatt 260dac77a5 [MPI] Handle exception during assembleWellEqWithoutIteration correctly
For this particular model WetGasPVT::saturationPressure did throw
because convergence in the newton solver is not reached in 20
iterations. Unfortunately, the exception was only seen on one MPI rank
and the others continued.

With this commit we communicate the problem and throw on all MPI
processes. Time step will be cut as a result.
2023-12-07 15:41:35 +01:00
Markus Blatt faad3a6ee5 Merge pull request #4811 from akva2/simulator_serializer_class
Move simulator serialization to separate class
2023-12-06 10:02:26 +01:00
Markus Blatt abd387abba Merge pull request #5036 from blattms/comm-sigular-mat-exception
Communicate exceptions during WellModel::updateAndCommunicate
2023-12-06 09:54:00 +01:00
Markus Blatt 3a9c586d19 Make sure that problems with singular matrices are logged.
Previously, if the problem occured on an MPI process with rank other
than zero the the logging would not seen (at least in the output
files). Now together with the previous commit the problem should be
logged together with the well name and calling method.
2023-12-04 23:15:08 +01:00
Markus Blatt 779dd74923 Communicate exceptions during WellModel::updateAndCommunicate
For multi segment well the underlying call to
MultisegmentWell::updateWellStateWithTarget (at least if
updateWellStateWithTHPTargetProd is called for a producer under thp
control) might throw as there might be a singular matrix during the
solve needed in MultisegmentWell::iterateWellEqWithControl.

Previously, if that happened then the MPI process where it happened would
stop the nonlinear iteration as failed and try with a chopped time
step. The others might go one with the current time step and we would
see MPI errors about truncated messages.

Now we communicate any exception happening during this part of
WellModel::updateAndCommunicate and all processes will stop the
nonlinear iteration as failed and chop the time step.
2023-12-04 22:26:55 +01:00
Markus Blatt c6bb607cdc Merge pull request #5029 from aritorto/cartCoord
CartesianCoordinateLevel added for ALUGrid
2023-11-28 17:18:12 +01:00
Markus Blatt 31ab752ae6 [fix] Parallel try-catch also added for updateWellControls for groups.
Not sure whether this is needed, but better safe than sorry.
2023-11-25 21:04:13 +01:00
Markus Blatt 50c25ead52 [bugfix] Expect singular matrices and terminate updateWellControls.
We are experiencing singular matrices when solving mulisegment wells
sometimes. In that case (here during
BlackoilModelEbos::assembleReservoir <-
BlackoilModelEbos::initialLinerization <-
BlackoilModelEbos:::nonlinearIterationNewton ) an exception is thrown
when updating the controls of a well.

The problem here is that this exception only happens on one
process. That one goes to the catch block in
NonLinearSolverEbos::step, marks the nonlinear solve as failed and
cuts the time step. The others move to the collective communication
below. Somehow and somewhen all end up in a non-matching collective
communication with different data types and we get an MPI Error that
the message was truncated.

Now all processes will throw, terminate the nonlinear solver and cut
the timestep as it should be.
2023-11-25 19:32:11 +01:00
Markus Blatt fa10546c0a Do not warn about OutputDir when combined with LoadStep.
Both can safely be used together.
2023-11-24 13:28:20 +01:00
Markus Blatt 24408862ff Merge pull request #5008 from aritorto/compressedLevelZero
compressedLevelZero used to read relative permeability
2023-11-24 13:21:23 +01:00
Markus Blatt 6a866ac8d2 [fix] Do parallel sums with int instead of bool.
Using bool here is at least frowned upon. To be honest, I have no idea
what happens underneath here if we pass a bool. In contrast to other
pod types we do not associate it with a builtin type of MPI (not even
sure what to use). Hence we probably create a custom type for sending
and receiving. That should work. But I have no idea what will be used
for summation.

BTW: I am debugging a case that previously crashed and now suddenly
works and this seems to be the only relevant change I made in the
meantime.
2023-11-22 16:50:57 +01:00
Markus Blatt 6c28415a7e Merge pull request #852 from bska/remove-extraneous-semicolon
Remove Closing Brace Semicolon
2023-11-21 13:45:12 +01:00
Markus Blatt de50fe5702 Fixed typo: control model -> control mode. 2023-11-20 08:29:24 +01:00
Markus Blatt ae97b00d53 Merge pull request #4987 from blattms/update-man-page
Update manpage for release
2023-11-14 10:01:30 +01:00
Markus Blatt a70df8cf0a Merge pull request #4995 from aritorto/removeSmallNonCart
Lgrs neighbors considered in removeSmallNonCart
2023-11-14 10:00:34 +01:00
Markus Blatt f3b9a146a9 Merge pull request #4994 from aritorto/connectOnce
Check connect only once, with elemIdx instead of cart
2023-11-14 09:59:33 +01:00
Markus Blatt f1d75297d3 Merge pull request #4990 from akva2/janitoring
Avoid some dead stores
2023-11-12 21:49:00 +01:00
Markus Blatt e39a60d676 Merge pull request #4983 from aritorto/eclTransLookUp
Lookup NTG on Leaf Grid View
2023-11-12 09:59:46 +01:00
Markus Blatt 386d3723ab Update manpage for release 2023-11-09 15:34:20 +01:00
Markus Blatt 0cc839314e log problem if asked to continue with nonconverged nonlinear solver.
The user has explicitly asked for this behavior using
--solver-continue-on-convergence-failure=true in this rare case.
2023-11-08 17:16:21 +01:00
Markus Blatt 1e8b51f118 Avoid assert and rely on error handler doing the correct thing.
Checking int return types of MPI functions is inefficient. The default
error handler will abort the problem. If somebody changes that, then
they should know what they are doing.
2023-11-08 16:48:40 +01:00
Markus Blatt 5531c63df6 Merge pull request #4977 from atgeirr/use-problem-not-error
Add and use OPM_DEFLOG_PROBLEM macro.
2023-11-08 16:40:23 +01:00