Commit Graph
100 Commits
Author SHA1 Message Date
Markus Blatt 50815209a0 Fixed spelling: achive -> achieved 2023-10-12 22:01:12 +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
Markus Blatt b666494025 Merge pull request #4800 from akva2/janitoring
SimulatorFullyImplicitBlackoilEbos: remove unused member
2023-08-16 12:38:39 +02:00
Markus Blatt e20bb85aa7 Merge pull request #4777 from akva2/blackoilmodelebos_leftover
remove accidentially left-over member
2023-08-07 08:58:17 +02:00
Markus Blatt 81c6eac6a7 Merge pull request #4766 from akva2/eclsolution_containers
Add containers for polymer and MICP solution components
2023-08-02 09:33:54 +02:00
Markus Blatt 2429a8ad1b Merge pull request #4756 from blattms/rename-time-step-breakdown
Rename LinearTimeSteppingBreakdown to TimeSteppingBreakdown.
2023-07-26 09:49:28 +02:00
Markus Blatt f20716eaf3 Rename LinearTimeSteppingBreakdown to TimeSteppingBreakdown. 2023-07-25 15:10:07 +02:00
Markus Blatt 943d84c836 Don't write out of bounds (fixes fallout from PR #4750)
While we never use the data receive, we should still not write beyond
arrays as this may create problems.
2023-07-24 16:04:15 +02:00
Markus Blatt 313e9540c5 Added missing include of cstdint needed by GCC-13 2023-07-24 10:59:19 +02:00
Markus Blatt 941e4230c1 Merge pull request #4750 from blattms/prevent-mpi-abort
Do a graceful exit instead of MPI_Abort for expected exceptions.
2023-07-20 18:52:47 +02:00
Markus Blatt 118dfdf041 Move MPI process check to *-cpp file. 2023-07-19 14:05:19 +02:00
Markus Blatt 859e00254e [bugfix] Make sure MPI_FInalize is called before the return in main.
A correct MPI program should do that.

As MPI_Finalize is part of the destructor of MainObject we need to
make sure that it's destructor is called before the return statement.
We do that manually  by resetting the unique_ptr that we now use to
store the MainObject,
2023-07-19 13:44:12 +02:00
Markus Blatt 7551229e77 Do a graceful exit instead of MPI_Abort for expected exceptions.
Instead of unconditionally issuing MPI_Abort if we encounter a fatal
exception, we try to test whether all processes have experienced this
exception and if this is the case just terminate nomally with a exit
code that signals an error. We still use MPI_Abort if not all
processes get an exception as this is the only way to make sure that
the program aborts.

This approach also works around issues in some MPI implementations
that might not correctly return the error.

Multiple messages like this are gone now:
```
--------------------------------------------------------------------------
MPI_ABORT was invoked on rank 1 in communicator MPI_COMM_WORLD
with errorcode 1.

NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.
You may or may not see output from other processes, depending on
exactly when Open MPI kills them.
--------------------------------------------------------------------------
[smaug.dr-blatt.de:129359] 1 more process has sent help message help-mpi-api.txt / mpi-abort
[smaug.dr-blatt.de:129359] Set MCA parameter "orte_base_help_aggregate" to 0 to see all help / error messages
```

Bu we still see something like this:
```
--------------------------------------------------------------------------
Primary job  terminated normally, but 1 process returned
a non-zero exit code. Per user-direction, the job has been aborted.
--------------------------------------------------------------------------
--------------------------------------------------------------------------
mpirun detected that one or more processes exited with non-zero status, thus causing
the job to be terminated. The first process to do so was:

  Process name: [[35057,1],0]
  Exit code:    1
--------------------------------------------------------------------------
```
2023-07-19 13:44:12 +02:00
Markus Blatt 5b41c3eca8 Merge pull request #4747 from bska/extract-well-group-initialization
Extract Well and Group Initialization
2023-07-13 10:17:01 +02:00
Markus Blatt fc9b1cccce Improve error message when time step is cut too often/much.
Changes
```
Program threw an exception: [/home/mblatt/src/dune/opm/opm-simulators/opm/simulators/timestepping/AdaptiveTimeSteppingEbos.hpp:586] Solver failed to converge after cutting timestep 11 times.
```
to
```
Simulation aborted: Solver failed to converge after cutting timestep 11 times.
```

Which seems more user friendly.
2023-07-12 16:18:29 +02:00
Markus Blatt ff6a54ce7c Improve error message for input grid without any active cells.
We now give a different (more explanatory) error if the input grid has
no active cells at all. Often this points to a user error and having a
more precise error message might help here.
2023-06-30 17:32:58 +02:00
Markus Blatt 8c428caa80 Merge pull request #4726 from blattms/increase-supported-equil-regions
Increase supported equil regions from 255 to 65525
2023-06-29 10:13:21 +02:00
Markus Blatt 6496e871ed Improved messages about equilibration regions. 2023-06-29 09:08:18 +02:00
Markus Blatt c2d1236cff Added warning about memory/performance for large number of equil regions. 2023-06-28 15:52:34 +02:00
Markus Blatt a6809c84f3 Store equil region idx as unsigned short (allows 65535 regions). 2023-06-28 15:52:34 +02:00
Markus Blatt 78b629767f [refactor] Use limits and OPM_THROW when checking max equil regions.
that will ease changing the limits and the error will appear in all logs.
2023-06-28 15:52:34 +02:00
Markus Blatt a1936e1996 Added more supported PINCH test cases to regression testing.
Namely T2A_NOPINCH, and T2A_GAP supported with #665
2023-06-27 15:56:54 +02:00
Markus Blatt 2906d7157d Allow oversubscribing OpenMP threads.
There is a strange interaction when using MPI and OpenMP on some
hardware/MPI implementations. I a serial run omp_get_num_procs() would
return the number of processors but when started under mpirun it would
always return 1.

With this we now allow users to use any amount of threads.
2023-06-14 12:03:56 +02:00
Markus Blatt ae1f319c10 [bugfix] Honor command line --threads-per-process
While we reported that we used the number of threads that were passed
on the command line, we never really used it for OpenMP but always
sticked to two unless environment variable OMP_NUM_THREADS was set.

Note that because the ThreadManager in opm-models would always use the
command line option and hence the linearizer would use that number of
threads.

Please note that the only use of OpenMP in opm-common (volume
calculation in EclipseGrid) is not effected by this as it happens
before we set the number of OpenMP threads.
2023-06-14 12:02:25 +02:00
Markus Blatt 290e7146ad Added working PINCH test cases as regressions.
This hopefully will prevent breaking things when further work for
PINCH is done.

The following tests are still known to fail with current master:
T2A_NOPINCH T2A_GAP T2A_NOGAP T4A1_NOGAP T4A1_GAP
2023-05-31 12:23:00 +02:00
Markus Blatt 851e4b5731 Merge pull request #4665 from akva2/avoid_unused_ndebug
avoid unused variable warning with NDEBUG
2023-05-24 15:35:10 +02:00
Markus Blatt 73d79b4010 Merge pull request #4603 from blattms/mark-nogap-as-supported
Mark PINCH option 2 NOGAP as fully supported.
2023-05-17 08:20:11 +02:00
Markus Blatt 5a2b25ec31 Merge pull request #4609 from akva2/fix_wtest_for_newly_created_well
WellGroupHelpers: make sure we have a GuideRate value or potential for well
2023-04-27 09:17:14 +02:00
Markus Blatt 2189706822 Merge pull request #4608 from atgeirr/allow-FIELD-parent
Minor adjustment avoids exception when used with FIELD group.
2023-04-26 14:14:24 +02:00
Markus Blatt 3d144ce4d7 Mark PINCH option 2 NOGAP as fully supported.
All the test cases that were provided to me are actually already
supported by current master.
2023-04-24 12:47:13 +02:00
Markus Blatt 4bf2dd7269 Merge pull request #4586 from bska/refactor-aquct-co2store-impl
Split CO2 Store Handling Out to Helper Functions
2023-04-20 13:19:26 +02:00
Markus Blatt 20e2058333 Merge pull request #4578 from blattms/support-editnncr
Support EDITNNCR keyword
2023-04-19 11:34:04 +02:00
Markus Blatt 1ef30ec85e Mark keyword EDITNNCR as supported 2023-04-12 14:24:47 +02:00
Markus Blatt 20af10e2c6 Apply EDITNNCR information to tranmissibilities. 2023-04-12 14:24:47 +02:00
Markus Blatt c693f0f50c Refactor applyEditNncToGridTrans for better reuse with EDINNCR. 2023-04-12 14:24:47 +02:00
Markus Blatt 8142788b58 Merge pull request #4406 from Tongdongq/rocsparse
Add rocsparseSolver
2023-04-12 12:07:58 +02:00
Markus Blatt f9d2dccb02 Merge pull request #4564 from hnil/flexiblegmres
- added flexiblegmres
2023-04-03 13:14:42 +02:00
Markus Blatt 734eb76910 Merge pull request #4573 from hakonhagland/glift_grad
Fix bug when recalculating gaslift gradient
2023-04-03 11:20:15 +02:00
Markus Blatt ad160d3799 Merge pull request #4569 from hnil/correct_spelling
-- corrected spelling
2023-03-29 14:00:26 +02:00
Markus Blatt b4b8e7aff1 Merge pull request #4558 from Tongdongq/move-cpu-decomposition
Only do CPU decomposition if needed, when using GPU
2023-03-29 12:54:38 +02:00
Markus Blatt 3b164b041f Merge pull request #4530 from bska/output-code-tidying
Adjust Whitespace in Output Module
2023-03-16 17:10:32 +01:00
Markus Blatt 5c1d964478 Merge pull request #4512 from akva2/rateconverter_compile_unit
RateConverter: introduce a compile unit
2023-03-15 20:54:26 +01:00
Markus Blatt 9cabbede2c [cleanup] Fix that phaseUsage might be used uninitialzed in test.
We need to make sure that all pods are initialzed when using
the default constructor. Fixes
```
RateConverter.hpp:83:50: warning: ‘phaseUsage’ may be used uninitialized in this function [-Wmaybe-uninitialized]
   83 |                 , attr_      (rmap_, Attributes())
      |                                                  ^
```
2023-03-10 14:06:46 +01:00
Markus Blatt af9e446454 Merge pull request #4517 from akva2/fix_parallel_hdf5
fixed: wrong order of OpmInit and use of the USE_MPI option
2023-03-08 17:39:13 +01:00
Markus Blatt bf23b0a4e4 Merge pull request #4473 from blattms/fix-parallel-with-serial-hdf5
[fix] For parallel build with serial hdf5 issue warning and skip hdf5.
2023-02-23 10:09:30 +01:00
Markus Blatt 970e448590 [fix] For parallel build with serial hdf5 issue warning and skip hdf5.
We rely on parallel hdf5 for a parallel build of OPM flow. Otherwise
compilation will fail. Hence if this is a parallel build but only a
serial hdf5 library is found, we now issue an informative warning and
deactivate hdf5/parallel restart.

Closes OPM/opm-common#3405
2023-02-22 10:43:25 +01:00
Markus Blatt 7449a32d2d Merge pull request #4427 from atgeirr/do-not-recreate-matrix-ilu0
Avoid copying the matrix in the ILU preconditioner.
2023-02-14 16:11:14 +01:00
Markus Blatt 8b7c87ba52 Merge pull request #4434 from akva2/parwelmorepriv
ParallelWellinfo: make some more templates private
2023-02-09 16:51:32 +01:00
Markus Blatt d2f55c59fc Merge pull request #4359 from totto82/fixGPMAINT2
Fix GPMAINT for groups without control
2023-01-23 14:12:00 +01:00
Markus Blatt 0d2a6d27ee Merge pull request #4404 from OPMUSER/CPR
Remove CPR from UnsupportedFlowKeywords.cpp
2023-01-20 09:00:42 +01:00
Markus Blatt b961c93b15 Make sure the regression tests still use cpr_trueimpes. 2023-01-19 15:54:46 +01:00
Markus Blatt a69c8436ad Use cprw as default CPR variant if CPR is requested. 2023-01-19 15:54:33 +01:00
Markus Blatt a1642d8c52 Merge pull request #4401 from akva2/pavgcalculatorcollection_hpp_include
eclgenericwriter.cc: add missing PAvgCalculatorCollection.hpp include
2023-01-19 14:05:37 +01:00
Markus Blatt b67388e6f0 Use cpr if requested in RUNSPEC section of data file.
Can be overwritten using command line parameter `--linear-solver=...`.
2023-01-18 22:02:35 +01:00
Markus Blatt 212de0735c Merge pull request #4394 from akva2/well_enums
Clean up Well.hpp includes
2023-01-18 14:13:35 +01:00
Markus Blatt e03227501a Merge pull request #4376 from akva2/wellmicpproperties_hpp_include
add missing WellMICPProperties.hpp includes
2023-01-13 19:02:00 +01:00
Markus Blatt 286d00f434 Merge pull request #4363 from akva2/balance_hpp_include
add missing Balance.hpp includes
2023-01-11 13:29:24 +01:00
Markus Blatt 3134bdedf9 Merge pull request #4332 from bska/rename-convergence-output-option
Rename Convergence Output Option
2022-12-20 13:46:25 +01:00
Markus Blatt 8cde90fbd0 [bugfix,mswell] Throw for connections not attached to segments.
If there are connections of a multisegment well that are not
connected to any segment, we throw with a meaningful error message
instead of a silent segmentation fault. In that case an invalid segment index
of zero would be returned. The corresponding storage index returned by
segmentToNumberIndex ould become -1. This previously lead to segmentation
faults when using it to index a container.
2022-12-16 16:12:47 +01:00
Markus Blatt f6ae49fec4 Honor MULTZ- when determining TRANSZ over pinched cells (pinch all).
Previously, a barrier between cells in Z-direction was only honored if
it was done using MULTZ. We disregarded MULTZ- completely when
calculating the TRANZ over pinched cells.

Now we also take into account MULTZ-.
2022-12-14 15:00:41 +01:00
Markus Blatt aa9fd77860 Merge pull request #4324 from akva2/liveoilpvt_encapsulate
add missing include after upstream header removal
2022-12-13 18:22:43 +01:00
Markus Blatt b4acdedefd Merge pull request #4310 from totto82/groupinfo_stage2
BUGFIX we now use group_info in stage 2 and need to make sure its communicated
2022-12-08 09:01:01 +01:00
Markus Blatt 8fc13d4bef Merge pull request #4252 from bska/report-segment-dyn-data-2
Report Solution GOR and OGR at Segment Level
2022-11-22 22:39:19 +01:00
Markus Blatt 42fdc38ae0 Merge pull request #4273 from Tongdongq/add-test
Add test for cusparseSolver
2022-11-22 13:55:11 +01:00
Markus Blatt d8ca55fe34 Merge pull request #4265 from totto82/well_temp
adapt to changes in temperature location in opm-common
2022-11-22 12:26:46 +01:00
Markus Blatt 58d8ca144e Merge pull request #4259 from blattms/do-dereference-unset-optional
[bugfix] Do not unconditionally dereference std::optional.
2022-11-22 10:26:30 +01:00
Markus Blatt ccdb2eda93 Merge pull request #4269 from akva2/istlsolverebos_alugrid
ISTLSolverEbos: instance for ALUGrid
2022-11-16 21:36:43 +01:00
Markus Blatt 81b296a682 Merge pull request #4182 from totto82/bc_dirichlet
implement dirichlet boundary conditions
2022-11-11 22:23:14 +01:00
Markus Blatt 9cb6d53dcb [bugfix] Do not unconditionally dereference std::optional.
In WellGroupHelpers we unconditional referenced the region
member of GPMaint. Unfortunately, that is a std:optional and
doing this can create quite some havoc.

Now we stop processing if it is unset.
2022-11-09 16:49:07 +01:00
Markus Blatt 4988f98060 Merge pull request #4178 from Tongdongq/rocalution
Add rocalutionSolver
2022-11-09 16:44:35 +01:00
Markus Blatt 6f5931ca1b Remove ununsed ancient LinearSolverRequireFullSparsityPattern option.
It is unused since 2018 when we moved away from autodiff implementation.
2022-11-04 21:04:40 +01:00
Markus Blatt 2dc73a7c47 [bugfix] recover support for selecting GMRes as solver.
Previously, passing --use-gmres=true had now effect. Probably was lost
when introducing FlexibleSolver. With this change the FlexibleSolver
will now use GMRes if the option is true.

Closes #4240
2022-11-04 20:30:13 +01:00
Markus Blatt c8813a4dd0 Merge pull request #4201 from bska/collect-varlength-data-conn
Support Variable Length Connection Data in Distributed Wells
2022-11-03 13:33:01 +01:00
Markus Blatt 060dfde864 Fixed typo: acess -> access 2022-11-01 21:45:47 +01:00
Markus Blatt 50eff23710 Merge pull request #4219 from akva2/use_fmt
BlackoilWellModel: use fmt::format
2022-10-31 11:54:57 +01:00
Markus Blatt d0816a2d35 Added mssing include of functional to StandardWellGeneric.hpp
Without including functional compilation fails with Debian experimental.
2022-10-31 10:12:14 +01:00
Markus Blatt c91cf5cca7 Updated flow manpage. 2022-10-31 10:12:14 +01:00
Markus Blatt 8cdd8f0c6c Fixed --flow-newton-max-iterations in compareEclFiles.cmake
Needs to be --newton-max-iterations now
2022-10-28 16:44:58 +02:00