Commit Graph
100 Commits
Author SHA1 Message Date
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 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 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 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 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
Markus Blatt 11ac7375a9 Merge pull request #4971 from totto82/compdat_d
Remove warning for unsupported D factor in COMPDAT
2023-11-06 10:06:09 +01:00
Markus Blatt 4a61d5cf71 Merge pull request #4951 from aritorto/hideFieldPropLookUp
Assign Field Property to all leaf grid view elements
2023-11-02 12:24:27 +01:00
Markus Blatt 70fcb864a0 Merge pull request #4942 from aritorto/updateLookUpData
Update LookUpData
2023-10-25 11:00:52 +02:00
Markus Blatt c01cc5b58c Merge pull request #4939 from aritorto/removeCartToGlobal
cartToGlobal removed
2023-10-24 07:40:49 +02:00
Markus Blatt 965e6f4b63 Merge pull request #4933 from aritorto/lookupElemIndices
LookUp origin cell indices in eclgenericproblem
2023-10-19 15:38:34 +02:00
Markus Blatt e9bb5d0539 Merge pull request #4582 from Tongdongq/rocsparse-separate-wells
RocsparseSolver separate wells
2023-10-13 15:33:03 +02:00
Markus Blatt 74c1ec3de3 Merge pull request #4925 from blattms/bump-version
Bump version to 2024.04
2023-10-13 09:20:35 +02:00
Markus Blatt 50815209a0 Fixed spelling: achive -> achieved 2023-10-12 22:01:12 +02:00
Markus Blatt 6b951df148 Bump version to 2024.04 2023-10-11 21:27:29 +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
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
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
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
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
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
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
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
Markus Blatt 2f0e167d2c Merge pull request #4894 from akva2/janitoring
fixed: quell unused variable warning without OpenCL
2023-09-26 14:25:46 +02:00
Markus Blatt 2721b9fa2d Fixes computation of temperature for distributed wells.
Previously, we did a global summation of the size of the
well_perf_data vector to determine the number of perforations
of a well. In the case of distributed wells this will try to access
more perforations than stored for the well in well_perf_data and hence
might use data from cells that actually are not perforated by this
cell. Note that for well not distributed the code worked as the
summation has no effect.

This commit changes this to only query peforations on the
local process. This should be enough to fix this problem.

In addition it removes the computation of connpos which is never used.
2023-09-22 18:56:27 +02:00
Markus Blatt f6d0a3961c Merge pull request #4822 from bska/multregt-item-5
Apply Regional Multipliers to Initial Transmissibilities
2023-09-15 12:22:32 +02:00
Markus Blatt b209f6af77 Merge pull request #4778 from aritorto/cellCentroid
Refactor element centroids lookup
2023-09-15 10:02:15 +02:00
Markus Blatt 81c9594f5d Include name of missing OPM restart file in error.
Otherwise it is hard to tell for the (newbie?) user what went wrong.
2023-09-14 16:10:42 +02:00
Markus Blatt eafed43dad Merge pull request #4757 from aritorto/lookupdata-generalgrid
Refactor lookup of cartesian index and element data
2023-08-23 22:04:25 +02:00
Markus Blatt cc359a25cc Merge pull request #4802 from bska/remove-unused-return
Remove Unused Return Value
2023-08-17 14:33:06 +02:00
Markus Blatt b4e7a4fc85 Merge pull request #4770 from akva2/eclproblem_cleanup_timestepping
EclProblem: cleanup time stepping related members
2023-08-17 11:19:55 +02:00
Markus Blatt 7419a6ff65 Merge pull request #4801 from bska/skip-needless-work
Inspect Array Element to Decide When to Apply TRAN? Keyword
2023-08-17 11:09:50 +02:00