Commit Graph
100 Commits
Author SHA1 Message Date
Bård Skaflestad e3bf48541f Merge pull request #5406 from GitPaean/only_trans
only allocate trans_ for globalTrans_
2024-06-06 21:50:11 +02:00
Bård Skaflestad 225bdf4595 Merge pull request #5416 from atgeirr/missing-initialization
Initialize double member for serialization test.
2024-06-06 21:03:03 +02:00
Bård Skaflestad 2f0cfe8dbd Merge pull request #5415 from atgeirr/initialize-member
Ensure the 'injector' member is initialized, compared etc.
2024-06-06 21:02:26 +02:00
Bård Skaflestad 9c744190eb Merge pull request #5411 from bska/claim-basic-wtmult-support
Enable WTMULT as an Input Operation
2024-06-06 14:53:07 +02:00
Bård Skaflestad bc48a2e955 Merge pull request #5342 from atgeirr/nldd-domain-solves-newton-damping
Add Newton update damping when domain solution oscillates.
2024-06-06 14:52:25 +02:00
Bård Skaflestad e876fa86e9 Merge pull request #5409 from bska/collect-well-limits-for-smry-output
Collect Well Level Control Limits/Targets for Summary Output
2024-06-06 14:51:22 +02:00
Bård Skaflestad 3074c0d9fd Enable WTMULT as an Input Operation
Basic support for this keyword was added in commit

    OPM/opm-common@5e3e20c552

and this commit enables running models which use that basic support.
Advanced uses, such as including user-defined arguments for the
multipliers, will still be rejected at the input level.
2024-06-06 09:14:01 +02:00
Bård Skaflestad 151de07fa7 Collect Well Level Control Limits/Targets for Summary Output
This commit adds a new stage to the wellData() report function,
assignWellTargets(), which collects the numerical values of the
currently active limits/targets for summary file output purposes.
It is important that we collect these values strictly before we
start mutating the SummaryState object lest user-defined arguments
in keywords like WCONPROD be evaluated seemingly too soon.
Furthermore, it is faster to collect these values on the simulator
side and send them to the I/O rank for file output than to defer the
full calculation to the I/O rank.
2024-06-06 09:13:57 +02:00
Bård Skaflestad 4cf8a50b26 Merge pull request #5398 from atgeirr/minor-oscillation-handling-fix
Detect oscillation in just one phase.
2024-06-05 13:56:35 +02:00
Bård Skaflestad 8b17c18ead Merge pull request #5397 from GitPaean/renaming_calcRates
renaming calcRates to calcResvCoeff, and calcInjRates to calcInjResvCoeff.
2024-05-30 08:45:38 +02:00
Bård Skaflestad 808035c9e8 Merge pull request #5396 from bska/activate-udq-undef-test
Add Regression Test for Undefined UDQ Variables
2024-05-29 16:03:41 +02:00
Bård Skaflestad d0ea690cfa Add Regression Test for Undefined UDQ Variables
Undefined UDQs get the value in UDQPARAM(3).  The UDQ-01 test model
triggers an action block if and only if we implement that behaviour.
2024-05-29 13:30:43 +02:00
Bård Skaflestad 4df6880f91 Merge pull request #5334 from bska/udq-undef-smrystate-objects
Make SummaryState Objects Aware of Undefined UDQ Value
2024-05-29 09:49:41 +02:00
Bård Skaflestad a3a2b7a978 Make SummaryState Objects Aware of Undefined UDQ Value
This PR switches to calling the SummaryState constructor which is
aware of the value of undefined UDQs (OPM/opm-common#4052) directly.

While here, also sort headers, split some long lines, and prefer
initialisation lists to constructor body assignments.
2024-05-29 09:16:56 +02:00
Bård Skaflestad 091f758b5a Merge pull request #5379 from bska/delay-udq-asgn-until-after-smry-output
Delay UDQ Assignments Until After Summary Output
2024-05-29 09:13:30 +02:00
Bård Skaflestad 6e8da2309b Delay UDQ Assignments Until After Summary Output
Commit 0aaa69c6e (PR #5330) was a little too eager in its effort to
handle UDQ ASSIGN operations after action processing[%].  In
particular, the assignments, which alter the internal structures of
the SummaryState and UDQState objects, would happen prior to writing
summary files.  In turn, this would make it appear as if the
assignment happened too early.  This commit defers UDQ assignments
triggered by action processing until FlowProblem<>::endEpisode() for
two reasons

  1. The problem originally addressed in 0aaa69c6e only presented
     when the assignment was triggered on the final time step of an
     episode (report step), so handling this situation here is a
     more targeted approach.

  2. Member function FlowProblem<>::endEpisode() is called after we
     write the summary file output so any alterations to the
     internal structures of the SummaryState will not be visible in
     the summary output until the next time step.  This is the
     expected behaviour.

[%] Insufficient testing by: [at]bska.
2024-05-28 18:16:30 +02:00
Bård Skaflestad 03e8c7ecdc Merge pull request #5394 from atgeirr/avoid-memory-leak
Avoid memory leak from the *unique_ptr<X>.release() antipattern.
2024-05-28 18:15:01 +02:00
Bård Skaflestad 947033705d Merge pull request #5391 from GitPaean/using_USE_DAMARIS_LIB
only trying to link darmaris when requested
2024-05-28 17:09:22 +02:00
Bård Skaflestad a16ef8b1c2 Merge pull request #5393 from atgeirr/avoid-out-of-scope-temporary
Bugfix: Avoid possible use of out-of-scope temporary.
2024-05-28 16:31:30 +02:00
Bård Skaflestad 8199342ce9 Merge pull request #5232 from steink/check_zero_target_from_group
When checking for zero target rates, also check wells under group control where required
2024-05-27 22:09:26 +02:00
Bård Skaflestad c7c72f0ddb Merge pull request #5389 from GitPaean/stablize_PYACTION_WCONPROD
limiting max time step to 10 days for PYACTION_WCONPROD
2024-05-27 17:01:10 +02:00
Bård Skaflestad 2bb47476cb Merge pull request #5365 from lisajulia/feature/pyAction-insert-kw-WECON-WTEST
Add pyaction/PYACTION_WTEST_INSERT_KW.DATA to pyactionComparisons.cma…
2024-05-27 10:45:15 +02:00
Bård Skaflestad 7175a74879 Merge pull request #5345 from lisajulia/feature/pyAction-insert-kw-GRUPTREE-WGRUPCON-WELSPECS
Add pyaction/PYACTION_GRUPTREE_INSERT_KW.DATA to pyactionComparisons.…
2024-05-27 10:44:37 +02:00
Bård Skaflestad 6f094c558a Merge pull request #5256 from BigDataAccelerate/overlap_copy_jacmat_gpu
Overlap creation of jacobian matrix with GPU data transfers
2024-05-24 13:11:27 +02:00
Bård Skaflestad c84f14042d Merge pull request #5378 from akva2/fix_amgcl_bs1
amgclSolverBackend: fix for block_size == 1
2024-05-23 14:13:16 +02:00
Bård Skaflestad 9841c5d21c Merge pull request #5377 from akva2/equil_template_scalar
InitStateEquil: template Scalar type
2024-05-23 10:48:04 +02:00
Bård Skaflestad 8edcc6a060 Merge pull request #5376 from akva2/various_template_scalar
Various classes: use Scalar type
2024-05-23 09:48:33 +02:00
Bård Skaflestad 3544dfcabd Merge pull request #5375 from akva2/msw_use_scalar
MultisegmentWell: use Scalar type
2024-05-22 15:18:45 +02:00
Bård Skaflestad f249a64d6c Merge pull request #5374 from akva2/pavg_template_scalar
PAvgCalculator: template Scalar type
2024-05-22 13:21:36 +02:00
Bård Skaflestad 1d92aa952d Merge pull request #5373 from akva2/various_helpers_template_scalar
Various helpers: template Scalar type
2024-05-22 10:50:30 +02:00
Bård Skaflestad 41a5e748d0 Merge pull request #5372 from akva2/stdwell_use_scalar
StandardWell: use Scalar type
2024-05-22 09:41:08 +02:00
Bård Skaflestad 9b1797e7b7 Merge pull request #5353 from akva2/vfp_template_scalar
VFP classes: template Scalar type
2024-05-21 17:52:10 +02:00
Bård Skaflestad 0aaa69c6e0 Rerun UDQ Assignments After Action Processing
If an action block happens to run a UDQ ASSIGN operation and,
furthermore, happens to run at the last time step of an episode then
the "clear pending assignments" behaviour of the ScheduleState copy
constructor leads to not performing the UDQ assignment at all.  This
commit works around this problem by invoking the action handler's
UDQ assignment function after processing all active action blocks.

The underlying problem has been present since at least Pull Request
OPM/opm-common#3587 which introduced the "clear pending assignments"
behaviour of ScheduleState's copy constructor.
2024-05-21 13:51:06 +02:00
Bård Skaflestad 9731a84cad Adjust Whitespace in FlowProblem File
In particular, be consistent about four-space indent levels and add
braces to a number of single-statement control blocks.  Add a few
blank lines for readability.

While here, also mark a number of objects as 'const'.
2024-05-21 13:51:06 +02:00
Bård Skaflestad 8a4e78e7c4 Merge pull request #5354 from akva2/various_well_helpers_template_scalar
Various well helpers: template Scalar type
2024-05-21 13:14:50 +02:00
Bård Skaflestad fd4ac412a6 Merge pull request #5366 from lisajulia/feature/pyAction-insert-kw-GCONSUMP
Add pyaction/PYACTION_GCONSUMP_INSERT_KW.DATA to pyactionComparisons.…
2024-05-21 11:56:49 +02:00
Bård Skaflestad dc4b5d5934 Merge pull request #5364 from lisajulia/feature/pyAction-insert-kw-COMPSEGS-WELSEGS-WSEGVALV
Add pyaction/PYACTION_WSEGVALV_INSERT_KW.DATA to pyactionComparisons…
2024-05-21 11:38:01 +02:00
Bård Skaflestad c5810d722b Merge pull request #5363 from akva2/support_dune_fem_2.9
fixed: build with dune-fem 2.9
2024-05-21 11:22:40 +02:00
Bård Skaflestad 2fe957ca6c Merge pull request #5368 from multitalentloes/fix_typo_cuda_aware_mpi
fix typo that would cause crash cuda aware openmpi
2024-05-21 11:15:00 +02:00
Bård Skaflestad a05d1358c6 Merge pull request #5362 from akva2/janitoring
fixed: use getCommuncation instead of getCollectiveCommuncation
2024-05-16 09:36:28 +02:00
Bård Skaflestad fcf9bce03f Merge pull request #5361 from akva2/fix_dune_fem_restart_serialization_tests
fixed: also run the RestartSerialization tests without dune-fem
2024-05-16 09:35:36 +02:00
Bård Skaflestad c6c8c0f237 Merge pull request #5356 from akva2/equil_use_comm_type
InitStateEquil: remove template parameter from Comm

Supersedes and closes #5348
2024-05-15 12:06:38 +02:00
Bård Skaflestad 2e7a7a0c44 Merge pull request #5347 from akva2/janitoring_gcc14
add missing include
2024-05-13 21:27:26 +02:00
Bård Skaflestad 0f67799e9c Merge pull request #5344 from totto82/GMST
Add GMST and modify GMTR output the maximum trapped CO2 in the gas phase
2024-05-13 13:56:49 +02:00
Bård Skaflestad 5ebee78d23 Merge pull request #5346 from GitPaean/removing_releaseglobaltransmissibility
removing unused releaseGlobalTransmissibility()
2024-05-10 17:30:45 +02:00
Bård Skaflestad 633728b590 Merge pull request #5340 from multitalentloes/cmakeversion_bugfix
Lower CMake version

Resolves #5339.
2024-05-08 16:20:52 +02:00
Bård Skaflestad a417968464 Merge pull request #5333 from GitPaean/remove_unused_updateImbnum_
removing unused updateImbnum_ function
2024-05-08 10:59:41 +02:00
Bård Skaflestad cc28bbe989 Enforce Relaxed Tolerances Not Stricter Than Strict
Relaxed tolerances being more strict than the strict tolerances does
not make sense in our use case.
2024-05-07 15:03:18 +02:00
Bård Skaflestad 47672ae81f Merge pull request #5335 from vkip/rptrst_basic0_allowed
Tag 'BASIC=0' as allowed in RPTRST
2024-05-06 16:32:13 +02:00
Bård Skaflestad 027eed16e9 Report CNV Violation Pore-Volume Fraction to INFOITER
This commit includes the fraction of pore-volume whose CNV targets
are violated as a new per-iteration quantity in the INFOITER file
(--output-extra-convergence-info=iteration), with the column header
"CnvErrPvFrac".  We collect the values which are already calculated
in

    BlackoilModel<>::getReservoirConvergence()

and store these as a pair of numerator and denominator in the
ConvergenceReport class.  Note that we need both the numerator and
the denominator in order to aggregate contributions from multiple
ranks.

While here, also make a few more objects 'const' and calculate
column widths directly instead of the maximum number of characters
in writeConvergenceHeader().
2024-05-06 11:31:47 +02:00
Bård Skaflestad f01635dcf2 Merge pull request #5331 from totto82/fix_restart_co2
Bugfix: initialize the input temperature in restart run without temperature in the restart file
2024-05-06 11:19:18 +02:00
Bård Skaflestad 26c59ce5cb Merge pull request #5329 from vkip/input_skip_mode
Add parameter InputSkipMode to parameterise SKIP100 and SKIP300
2024-05-06 10:56:38 +02:00
Bård Skaflestad 66aacb5042 Merge pull request #5307 from bska/cnv-error-accum-interior
Accumulate CNV Pore-Volume Sum for Interior Cells Only
2024-05-03 17:49:25 +02:00
Bård Skaflestad 1e9943bfe6 Accumulate CNV Pore-Volume Sum for Interior Cells Only
The 'interiorBorder' category is *probably* equivalent to the
'interior' category for codimension zero elements, but it's better
to be safe than sorry.  We don't want to accumulate pore-volume
contributions twice.
2024-05-03 14:19:00 +02:00
Bård Skaflestad 226e90f8e1 Merge pull request #5324 from daavid00/fixMass
Bug fix massGas in place
2024-05-03 09:41:14 +02:00
Bård Skaflestad a9d7457ca3 Merge pull request #5326 from akva2/fix_bda_disable
fixed: properly avoid inclusion of BDA types if BDA is disabled
2024-05-02 13:07:19 +02:00
Bård Skaflestad 9529c18235 Merge pull request #5318 from atgeirr/avoid-parameter-get-in-hot-path
Avoid getting parameters in hot path.
2024-04-26 18:09:47 +02:00
Bård Skaflestad d25c9d035f Merge pull request #5311 from blattms/fix/uninit-warn
Fixes uninitialized variable warning with gcc-12
2024-04-25 10:34:05 +02:00
Bård Skaflestad 1dfdae3892 Merge pull request #5309 from akva2/aquifers_template_scalar
Aquifer: use Scalar type
2024-04-24 16:50:31 +02:00
Bård Skaflestad 226799ea15 Merge pull request #5304 from akva2/fix_test_nonnc
fixed: use the eclipse grid from the eclipse state in test_nonnc
2024-04-24 11:02:24 +02:00
Bård Skaflestad 74df895f67 Merge pull request #5301 from atgeirr/fix-option-order-bsd
BSD versions of getopt(), including macOS, require options first.
2024-04-23 14:47:17 +02:00
Bård Skaflestad 450bfd04fb Merge pull request #5297 from akva2/fix_rstconv_mpich
fixed: do not send and recv from same buffer
2024-04-19 23:30:37 +02:00
Bård Skaflestad 456e149a64 Merge pull request #5290 from akva2/constraints_fix_bare_throw
BlackoilWellModelConstraints: fix throw of bare string
2024-04-17 11:06:25 +02:00
Bård Skaflestad b847a2b532 Merge pull request #5289 from akva2/wellstate_direct_comm
WellState: remove template parameters for comm
2024-04-17 10:53:13 +02:00
Bård Skaflestad 607f64e00c Merge pull request #5288 from akva2/multisegment_well_contrib_encaps
avoid including MultisegmentWellContribution in WellContributions.hpp
2024-04-17 10:52:07 +02:00
Bård Skaflestad c5af762eb8 Merge pull request #5287 from lisajulia/feature/pyAction-comparison-tests
Add test for NEXT keyword (and WELTARG) as python comparison tests
2024-04-17 10:51:41 +02:00
Bård Skaflestad efc3df9fbe Activate Regression Tests for Region Vectors in Field UDQs
This commit adds sequential and parallel regression tests for the
UDQ_REG-01 example model which uses region-level summary vectors in
field-level UDQs.  Restarted tests are missing at this time.
2024-04-16 10:40:53 +02:00
Bård Skaflestad 63cbd2adce Merge pull request #5285 from akva2/precond_enum_class
changed: make PreconditionerType an enum class
2024-04-16 10:03:09 +02:00
Bård Skaflestad d4d1557ee5 Merge pull request #5283 from akva2/drop_unncessary_template_param
WellGroupHelpers: drop unnecessary template parameter
2024-04-15 12:54:50 +02:00
Bård Skaflestad b2c041acf2 Merge pull request #5282 from akva2/parameters_isset_struct
adjust to Parameters::isSet change
2024-04-15 11:15:06 +02:00
Bård Skaflestad 55e7ee7a32 Merge pull request #5274 from blattms/feature/multxyz-regressiontests
Added MULTXYZ tests as regression tests.
2024-04-12 19:25:32 +02:00
Bård Skaflestad f71c652b0a Merge pull request #5281 from daavid00/immCO2
Summary for immobile free-phase at saturations for which the nonwetting relative permeability equals zero
2024-04-12 17:06:21 +02:00
Bård Skaflestad b1be391d4c Merge pull request #5172 from totto82/gconprod7
Implement WELL as group limit action
2024-04-11 17:36:55 +02:00
Bård Skaflestad 006aa14fbd Merge pull request #5263 from blattms/fix-dangling-references-test_LogOutHelper
[fix] Prevent dangling refernces in Logger for test_LogOutputHelper
2024-04-11 12:16:04 +02:00
Bård Skaflestad ee5ee7826f Merge pull request #5250 from bska/region-level-udq
Prepare for Including Region Level Quantities in Field Level UDQs
2024-04-08 13:58:00 +02:00
Bård Skaflestad ac9d6eaa34 Prepare for Including Region Level Quantities in Field Level UDQs
Meet the new UDQConfig::eval() API requirement by adding a matcher
factory for region-level summary vectors.
2024-04-08 09:04:22 +02:00
Bård Skaflestad 5f522cf172 Merge pull request #5247 from bska/expose-fipreg-statistics
Add Procedure for Calculating Basic FIP Region Statistics
2024-04-08 08:59:20 +02:00
Bård Skaflestad 10d2f52cd2 Add Procedure for Calculating Basic FIP Region Statistics
This commit implements the parallel version of

    EclipseState::computeFipRegionStatistics()

which computes a FIPRegionStatistics object for the current run's
fluid-in-place regions.  The object construction uses an MPI-aware
reduction process to compute the maximum region IDs across all MPI
ranks.

While here, also unconditionally form the statistics object as part
of the EclWriter's constructor to ensure that all ranks participate
in the process.  The initial approach of constructing the object on
first use is not robust in parallel.  We may however wish to compute
these statistics only when needed.  If so, that will be the subject
of follow-up work.
2024-04-05 17:06:13 +02:00
Bård Skaflestad c2184219fa Merge pull request #5276 from akva2/adjust_get_param_removal
adjust to removal of EWOMS_GET_PARAM
2024-04-05 17:04:18 +02:00
Bård Skaflestad a44b0f9d5a Merge pull request #5275 from akva2/adjust_hide_param
adjust to Parameters::hideParam change
2024-04-05 14:01:12 +02:00
Bård Skaflestad 395bf6431b Merge pull request #5272 from akva2/adjust_register_param_removal
Adjust to EWOMS_REGISTER_PARAM macro removal
2024-04-05 12:42:46 +02:00
Bård Skaflestad da8f5acdee Merge pull request #5271 from akva2/adjust_hide_param_removal
adjust to EWOMS_HIDE_PARAM macro removal
2024-04-04 09:24:04 +02:00
Bård Skaflestad 3334726871 Merge pull request #5270 from akva2/adjust_ewoms_param_is_set
adjust to EWOMS_PARAM_IS_SET macro removal
2024-04-03 21:47:52 +02:00
Bård Skaflestad 864a8d73da Merge pull request #5269 from akva2/adjust_removal_end_param_registration
adjust to EWOMS_END_PARAM_REGISTRATION macro removal
2024-04-03 21:46:56 +02:00
Bård Skaflestad 2da4b8503e Merge pull request #5265 from akva2/janitoring
BlackoilWellModel: header cleanup and some debug-iterator fixes
2024-04-03 15:17:53 +02:00
Bård Skaflestad 91c3100497 Merge pull request #5267 from akva2/fix_wbp_test_segfault
fixed: segfault due to taking a reference to temporary
2024-04-03 15:16:19 +02:00
Bård Skaflestad 1d758706df Merge pull request #5246 from bska/max-regid-common
Switch to Using Declared Maximum Region IDs From Common
2024-03-26 13:51:42 +01:00
Bård Skaflestad 1799b6ee07 Switch to Using Declared Maximum Region IDs From Common
The declaredMaxRegionID() function is now available in OPM-Common.
2024-03-22 21:24:11 +01:00
Bård Skaflestad 785b96f6f3 Distribute SummaryConfig Objects With eclBroadcast
Suggested by [at]akva2.

While here, also switch to using type deduction instead of explicit
template arguments for the eclBroadcast overloads.
2024-03-22 16:53:51 +01:00
Bård Skaflestad 8e9cb4b249 Defer SummaryConfig Initialisation
In the current approach, the full list of summary vectors,
especially those that are defined at the region level, is not known
until we've processed all UDQ and/or ACTIONX definitions.  As a
quick solution to this, switch to using the 'SummaryConfig' object
that's defined in the EclipseIO container instead of the object that
gets constructed when reading the input files.

It is likely that we will have to rethink and refactor this
construction process later.
2024-03-22 16:53:51 +01:00
Bård Skaflestad 4ea4ec94d8 Merge pull request #5259 from blattms/fix-limit-nextstep
[bugfix] Use reasonable timestep if  NEXTSTEP in ACTIONX is used.
2024-03-22 16:49:54 +01:00
Bård Skaflestad 84052fcefc Merge pull request #5258 from bska/prune-inactive-pavg-conns
Allow for Sparse Source-Location Subsets
2024-03-19 14:34:22 +01:00
Bård Skaflestad 7056c81a7b Allow for Sparse Source-Location Subsets
If a well is nominally connected in inactive cells, i.e., if its
connections have not been filtered down to the active connections
only, then 'allIndices' may not be a permutation of

    0 .. allIndices.size()-1

Handle this case by sizing 'storageIndex_' according to the maximum
index value insted of 'allIndices.size()'.
2024-03-19 09:17:48 +01:00
Bård Skaflestad 4a87dcf5f3 Use In-place Construction of PerforationData Objects
This is (slightly) faster than construct + copy.
2024-03-19 09:16:23 +01:00
Bård Skaflestad a7ee48c2d5 Merge pull request #5252 from akva2/fix_well_group_restart
fixed: we need to call loadRestartData on all processes
2024-03-13 09:41:25 +01:00
Bård Skaflestad 2fcefbd743 Merge pull request #5226 from akva2/avoid_alu_poly
changed: put SupportsFaceTag in separate header
2024-03-11 12:35:26 +01:00
Bård Skaflestad 6a43099511 Merge pull request #5249 from atgeirr/nldd-add-missing-convergence-metrics
Add missing convergence metrics to domain convergence report.
2024-03-08 15:39:16 +01:00
Bård Skaflestad 488da80228 Merge pull request #5241 from bska/datumrx-supported
Permit DATUMR and DATUMRX Keywords in Input File
2024-03-04 14:07:57 +01:00
Bård Skaflestad 553d3c811e Permit DATUMR and DATUMRX Keywords in Input File
Following PRs

  * OPM/opm-common#3958
  * OPM/opm-simulators#5240

these keywords are nominally supported, at least for the block
level summary keywords (BPPx).
2024-03-04 13:50:26 +01:00
Bård Skaflestad 58875a1483 Merge pull request #5224 from bska/fix-per-cell-fip-rst-output
Add Special Case Handling for Fluid-In-Place of Pure Phases
2024-03-04 12:01:14 +01:00