Commit Graph
100 Commits
Author SHA1 Message Date
Bård Skaflestad d163bebcdc Merge pull request #3699 from blattms/man-page-spelling
Adds manpage and fixes several spelling issue found by lintian
2021-11-17 09:59:50 +01:00
Bård Skaflestad f2fab4475b Merge pull request #3695 from GitPaean/remove_pv_fraction
removing --relaxed-max-pv-fraction for num aquifer tests
2021-11-14 22:44:43 +01:00
Bård Skaflestad 6bf741502f Fix Incorrect Solution Array Tag
The Flow specific PORV_RC and TMULT_RC solution arrays were tagged
as ECLIPSE compatible.  Mark them as Flow specific so they do not
cause restart problems in the ECLIPSE compatible case.
2021-11-14 15:41:14 +01:00
Bård Skaflestad 7f68143d45 Merge pull request #3684 from akva2/cosmetic_ocd
cosmetics: do not indent for namespace
2021-11-11 10:16:18 +01:00
Bård Skaflestad 2bd5b30cda Merge pull request #3681 from akva2/vexcl_no_auto_func_param
fixed: auto function parameters requires the concept-ts
2021-11-10 11:19:30 +01:00
Bård Skaflestad fd743de749 Merge pull request #3680 from akva2/use_runstatic
Use Main::runStatic in PyBlackoilSimulator
2021-11-10 11:14:05 +01:00
Bård Skaflestad 2f71912978 Merge pull request #3682 from akva2/fix_serial_no_cast_op
fix serial build after PR #3675
2021-11-10 11:13:16 +01:00
Bård Skaflestad 6f0b06715e Merge pull request #3676 from akva2/use_single_sum_call
GasLiftGroupInfo: use a array to allow for one sum call
2021-11-10 10:16:39 +01:00
Bård Skaflestad 5e31ea3054 Merge pull request #3675 from akva2/multivar_broadcast_rates
Use multivariable broadcast facility to broadcast rates
2021-11-10 10:14:36 +01:00
Bård Skaflestad fcb6ee60fb Merge pull request #3679 from akva2/fix_serial_build_3671
fix: serial build after PR #3671
2021-11-09 17:01:31 +01:00
Bård Skaflestad 676cdb8307 Merge pull request #3674 from akva2/broadcast_variadic
added: utility to broadcast multiple variables in one operation
2021-11-09 14:51:23 +01:00
Bård Skaflestad c563f14aff Merge pull request #3673 from totto82/fixGasliftX
Add check for group production control for LRAT and WRAT in the gasslift code
2021-11-09 13:32:02 +01:00
Bård Skaflestad 40fdb9e1d6 Mark GRAVITY Keyword as Supported in the Simulator
The input layer now converts this input to DENSITY data.
2021-11-07 22:34:31 +01:00
Bård Skaflestad 07d6de3bbc Switch to Passing VFP Wrapper Tables as References
We don't need to copy those mapping tables on each call.
2021-11-04 21:28:55 +01:00
Bård Skaflestad 869de90b56 Merge pull request #3663 from blattms/remove-warn-opencl
Fixes warning about catching polymorphic type by value.
2021-11-03 18:30:57 +01:00
Bård Skaflestad 2971a3f051 Merge pull request #3659 from joakim-hove/refactor-wellstate-init
Refactor wellstate init
2021-11-03 13:16:34 +01:00
Bård Skaflestad 4a74fd1282 Merge pull request #3633 from bska/accumulate-wxxgr-for-all-gcon-wells
Report Well Level Injection Guide Rates if Group Controlled
2021-11-02 17:59:58 +01:00
Bård Skaflestad 1e34d714bf Report Well Level Production Guide Rates if Group Controlled
This commit extends the guide rate reporting to always extracting
and reporting pertinent production guide rates at the well level
(i.e., WxPGR) if at least one of the groups in the well's upline has
an entry in GCONPROD.  This is for increased compatibility with
ECLIPSE.
2021-11-02 16:19:56 +01:00
Bård Skaflestad 0c70eac490 Report Well Level Injection Guide Rates if Group Controlled
This commit uses the new GroupTreeWalker helper class to ensure that
we always extract and report pertinent injection guide rates at the
well level (i.e., WxIGR) if at least one of the groups in the well's
upline has an entry for the corresponding phase in GCONINJE.  This
is for increased compatibility with ECLIPSE.

Prior to this change we would report zero-valued WWIGR vectors on a
real field case which made analysing simulation results needlessly
difficult.
2021-11-02 16:19:56 +01:00
Bård Skaflestad 2b0aa379f5 Extract Group Tree Walk to Helper Class
This commit extracts a helper class, GroupTreeWalker, from the
current implementation of 'calculateAllGroupGuiderates()'.  This is
in preparation of adding a similar approach to extracting WxIGR for
all wells for which at least one group in the upline has an entry in
GCONINJE.

The user can add visitor operations for wells and groups, typically
with side effects, and then choose whether to run a pre-order walk
(visit groups before their children) or a post-order walk (visit
children-i.e., wells, before their parents).
2021-11-02 16:19:56 +01:00
Bård Skaflestad 1a80378b0a Merge pull request #3613 from bska/accumulate-guiderate-once
Switch Guide Rate Accumulation to Post-Order Traversal
2021-10-29 22:29:13 +02:00
Bård Skaflestad 767b5ca58b Switch Guide Rate Accumulation to Post-Order Traversal
This guarantees, under the assumption that the group tree does not
have cycles, that we do not accumulate group-level guide rate values
until all of its children are fully evaluated.  We use an iterative
depth-first post-order tree traversal with an explicit stack instead
of a recursive implementation.

The previous implementation, which tried to do the same kind of
child-to-parent accumulation, might visit a parent group multiple
times which in turn might lead to losing updates.  This is a more
formalised approach to the value accumulation than was originally
employed.
2021-10-29 21:21:49 +02:00
Bård Skaflestad b94a6e290d Merge pull request #3632 from bska/create-micp-helper
Separate MICP Case Out to Helper Function
2021-10-29 21:17:40 +02:00
Bård Skaflestad f212c946c7 Separate MICP Case Out to Helper Function
In keeping with the other simulation cases.
2021-10-29 16:15:44 +02:00
Bård Skaflestad 66989bcd78 Merge pull request #3646 from akva2/fix_dep_warning_comm
fix deprecation warning with dune 2.7+
2021-10-29 12:47:05 +02:00
Bård Skaflestad 3cfec109db Merge pull request #3620 from blattms/removeSetupCart-rebased
[refactor] Remove cartesianToCompressed Mapping from well model
2021-10-25 16:43:08 +02:00
Bård Skaflestad 102a6b9507 Merge pull request #3631 from alfbr/default-sched
Changed default for sched-restart to false
2021-10-25 13:51:52 +02:00
Bård Skaflestad 1ee8322a51 Merge pull request #3618 from joakim-hove/remove-extra
Remove unnecessary call to simulator.setStartTime()
2021-10-20 14:29:41 +02:00
Bård Skaflestad 5a282a1b34 Merge pull request #3621 from bska/model6-regression-tests
Model6 regression tests
2021-10-20 13:30:17 +02:00
Bård Skaflestad 38f9558c19 Merge pull request #3617 from totto82/micp_ctest
Add micp test case
2021-10-19 18:05:18 +02:00
Bård Skaflestad 9634e401b0 Merge pull request #3596 from joakim-hove/rst-testing
Add RESTART_STEP argument to spe1 and spe9 tests
2021-10-19 16:39:03 +02:00
Bård Skaflestad c6ca024c74 Merge pull request #3612 from bska/report-gxigr-if-present
Report Group Level Injection Guide Rates if Present
2021-10-19 15:01:01 +02:00
Bård Skaflestad 67f4cf62f1 Report Group Level Injection Guide Rates if Present
We used to tie reporting these quantities to whether or not a group
had any guide rates for production (GuideRate::has()), but this is
clearly insufficient for injection guide rates.
2021-10-19 14:15:36 +02:00
Bård Skaflestad 9b3cf66a31 Merge pull request #3581 from bska/restore-guiderate
Initialise Guide Rate Object From Restart File
2021-10-19 14:14:31 +02:00
Bård Skaflestad a7c6203a73 Initialise Guide Rate Object From Restart File
This commit adds an overload set named

    loadRestartGuideRates

which, collectively, initialises the contained GuideRate object
using guide rate values from the restart file.  This is necessary,
but not quite sufficient, to restart models in prediction mode with
group-level constraints.
2021-10-19 13:22:31 +02:00
Bård Skaflestad 8014442a1d Split Restart File Loading Into Multiple Stages
Mostly for readability in preparation of initialising the guide rate
object with values from the restart file.  The new stages, each with
its own 'loadRestart*Data()' member function are

  - Connection
  - Segment
  - Well
  - Group

While here, also switch to using std::any_of() in place of a raw
loop.
2021-10-19 13:22:31 +02:00
Bård Skaflestad 37f589bff1 Merge pull request #3598 from bska/report-siunits-injgr-grouplevel
Report Group Level Inject Guiderate Values in Strict SI Units
2021-10-19 13:20:58 +02:00
Bård Skaflestad 89adc1919b Merge pull request #3611 from joakim-hove/broadcast-wtest-state
Broadcast wtest state
2021-10-19 12:01:17 +02:00
Bård Skaflestad 1d0ee3c005 Report Group Level Inject Guiderate Values in Strict SI Units
The output layer expects its input values to be strictly SI, but we
know that the GuideRate container's values are in output units.

Forgotten in PR #3467 (commit 517db198f8).
2021-10-19 09:32:38 +02:00
Bård Skaflestad dbcba2ff7c Merge pull request #3614 from joakim-hove/handle-nextstep
Handle NEXTSTEP behavior in time stepper
2021-10-18 21:26:17 +02:00
Bård Skaflestad 4f896aefd6 Merge pull request #3616 from akva2/brine_energy_object_lib
build flow_brine_energy as an object library
2021-10-18 15:06:25 +02:00
Bård Skaflestad 4a16e2cf3a Merge pull request #3615 from akva2/energy_not_thermal
rename flow_brine_thermal to flow_brine_energy
2021-10-18 14:12:59 +02:00
Bård Skaflestad 09b7f287a0 Merge pull request #3604 from akva2/improve_test_drivers
changed: use getopts in test drivers
2021-10-17 17:48:23 +02:00
Bård Skaflestad 3174643fe8 Merge pull request #3606 from blattms/fix-non-restart-writes-with-tracers
[bugfix] Make tracerConcentrations_ valid for non-restart writes.
2021-10-14 17:37:20 +02:00
Bård Skaflestad d6ca49f85b Merge pull request #3593 from bska/suppress-unused-param
Mark 'comm' As Potentially Unused
2021-10-10 21:50:53 +02:00
Bård Skaflestad 0f13f4095b Mark 'comm' As Potentially Unused
The communicator is only needed in parallel builds.
2021-10-10 20:38:45 +02:00
Bård Skaflestad 61ac76fe90 Make ARGV[ARGC] Into a Nullpointer
This is strictly speaking required by POSIX.
2021-10-09 00:17:32 +02:00
Bård Skaflestad ad74de2e1a Use Algorithm to Locate '--version' Option 2021-10-09 00:17:32 +02:00
Bård Skaflestad fca167acfd Split Individual Cases Out to Helper Functions
This commit moves the bodies of the various 'dynamicDispatch_<>()'
cases out to separate helper functions.  Not only does this reduce
the number of nested conditionals, it also helps reasoning about
each case in isolation and aids future maintenance.
2021-10-09 00:17:32 +02:00
Bård Skaflestad 3455dbdac9 Main.hpp: Adjust Whitespace
In preparation of refactoring 'dispatchDynamic_<>()'
2021-10-09 00:17:32 +02:00
Bård Skaflestad bfdf158e23 Merge pull request #3589 from bska/remove-unused-parameter
Remove Unused 'Comm' Parameter
2021-10-08 13:02:13 +02:00
Bård Skaflestad d028937925 Remove Unused 'Comm' Parameter
Remnant from ealier refactoring work.
2021-10-08 12:44:27 +02:00
Bård Skaflestad 1feab761d6 Extract Helper Functions From readDeck
Mostly to reduce the number of nested conditionals and long lines.
2021-10-07 22:01:47 +02:00
Bård Skaflestad c7d7fa1146 Reset ACTNUM at EclipseState Level
This method avoids resorting to const_cast tricks.
2021-10-07 21:58:09 +02:00
Bård Skaflestad 9cde5ec9e7 Merge pull request #3572 from bska/prune-deactivated-anconn
Prune Analytic Aquifer Connections to Deactivated Cells
2021-10-07 21:02:53 +02:00
Bård Skaflestad c329d9cd00 Prune Deactivated Cells on All Ranks
This commit broadcasts the 'removed_cells' to all ranks and uses
that array to delete any analytic aquifer connections that might
have been previously formed to those deactivated cells.  This is
needed to have a consistent view of which cells are connected to
analytic aquifers.
2021-10-07 17:26:26 +02:00
Bård Skaflestad f01777610f Adjust Whitespace and Rewrap Comments
In preparation of distributing the 'removed_cells' to all ranks.
2021-10-07 17:26:26 +02:00
Bård Skaflestad e80408d1ed Merge pull request #3560 from totto82/fixTime
fix date for large time steps also for the interface functions
2021-09-29 22:19:46 +02:00
Bård Skaflestad 2dedb62363 Serializer: Detect Existence of 'serializeOp' Member Function
More direct test than looking for a 'serializeObject' member.
2021-09-29 13:41:01 +02:00
Bård Skaflestad 93a3e8bc1d Merge pull request #3557 from joakim-hove/single-well-fixup
Use const reference
2021-09-29 11:53:54 +02:00
Bård Skaflestad 0b8778e432 Merge pull request #3547 from totto82/makeWTESTrobust
Make wtest more robust
2021-09-28 12:06:10 +02:00
Bård Skaflestad b63a4ea3a3 Merge pull request #3546 from totto82/fixWSOL
updateWsolvent only after well container is created
2021-09-24 13:41:47 +02:00
Bård Skaflestad 1dc3832966 Merge pull request #3540 from hakonhagland/python_set_sched
Initialize blackoil simulator from Opm::Schedule shared with Python.
2021-09-23 13:32:31 +02:00
Bård Skaflestad 95e64e86f6 Merge pull request #3543 from joakim-hove/load-action-state
Load Action state from restart file
2021-09-22 21:56:53 +02:00
Bård Skaflestad 512f4c95b1 Merge pull request #3532 from totto82/aqnumco2store
combine co2store and numerical aquifers
2021-09-22 21:42:29 +02:00
Bård Skaflestad a8078ed695 Merge pull request #3528 from blattms/parallel-throw-untabulated
bugfix: Detect exception during beginReportStep in parallel & abort
2021-09-15 22:41:04 +02:00
Bård Skaflestad 90520f248f Merge pull request #3527 from totto82/fixNupcol
pass updated well rates totarget reduction not the nupcol ones
2021-09-15 21:44:14 +02:00
Bård Skaflestad 1dc9cf755e Merge pull request #3492 from blattms/dune-2.8
Fixes and removes deprecation warnings for Dune 2.8
2021-09-14 21:11:25 +02:00
Bård Skaflestad e866f1f705 Merge pull request #3516 from akva2/drop_using_statements
Drop using statements
2021-09-09 16:00:24 +02:00
Bård Skaflestad 81fbec317f Merge pull request #3491 from goncalvesmachadoc/fpr
output FPR when no oil present
2021-09-09 15:58:26 +02:00
Bård Skaflestad 42f86ce2c4 Merge pull request #3511 from akva2/drop_using_statements
Drop using statements
2021-09-08 20:59:09 +02:00
Bård Skaflestad 1179532cbb Merge pull request #3509 from akva2/drop_ununsed_using
drop unused using statements
2021-09-06 16:34:51 +02:00
Bård Skaflestad a8e8739feb Merge pull request #3499 from blattms/fix-segfault-unknown-keyword-parallel
[bugfix] Prevent segmentation fault for unkown keywords in parallel.
2021-09-02 11:31:10 +02:00
Bård Skaflestad 98b74c7b12 Merge pull request #3497 from joakim-hove/improve-error-msg
Improve error message for invalid phase id
2021-09-01 21:21:21 +02:00
Bård Skaflestad fcdb4c33ea Merge pull request #3496 from goncalvesmachadoc/radial
add radial case to regression test
2021-09-01 12:14:22 +02:00
Bård Skaflestad aba95a8263 Merge pull request #3493 from goncalvesmachadoc/fsip
output FSIP
2021-08-27 22:44:50 +02:00
Bård Skaflestad 21750a9eac Merge pull request #3398 from goncalvesmachadoc/outputVolume
Add FIPRESV
2021-08-26 10:21:31 +02:00
Bård Skaflestad 36201c8871 Merge pull request #3489 from akva2/janitoring
avoid unused variable warning
2021-08-25 09:04:35 +02:00
Bård Skaflestad 725800cec7 Merge pull request #3488 from totto82/fixOnePhase
guards for one-phase flow
2021-08-24 12:20:52 +02:00
Bård Skaflestad 076c274352 Merge pull request #3485 from joakim-hove/single-well-state3
Single well state3
2021-08-23 13:47:35 +02:00
Bård Skaflestad ec6f2a0723 Merge pull request #3475 from bska/activate-aquifer-restart-tests
Activate Sequential and Parallel Restart Tests With Aquifers
2021-08-22 14:12:42 +02:00
Bård Skaflestad c1927b16a1 Activate Sequential and Parallel Restart Tests With Aquifers
We add one sequential and one parallel restart test for each aquifer
test model currently in the repository.
2021-08-20 09:10:14 +02:00
Bård Skaflestad db963a4158 Merge pull request #3474 from bska/restart-load-aquifer
Load Analytic Aquifers From Restart File
2021-08-19 22:45:05 +02:00
Bård Skaflestad ec264159b1 Load Analytical Aquifers from Restart File
This commit activates the restart support for analytical aquifers.
Analytic aquifer keywords do not exist in the input file for
restarted runs since the 'SOLUTION' section is empty apart from from
the 'RESTART' specification.

We use the 'RestartIO::Aquifer' class to load the information from
the restart file and then assign this information to the
AquiferConfig object hosted by the EclipseState.  Loading Schedule
information from the restart file is still contingent on the
'--sched-restart=false' command line setting.
2021-08-19 21:07:05 +02:00
Bård Skaflestad bbb0c7f263 Add Restart Support for Numerical Aquifers
We assign cumulative production only on the process that connects to
the reservoir model.  As a tiny optimisation, we return 0.0 early
as the aquifer flux on processes that do not connect to the
reservoir.
2021-08-19 21:07:05 +02:00
Bård Skaflestad a0af111bd8 Reduce Restarted Cumulative Volume if Aquifer Split
If, in a restarted run, a single analytical aquifer object happens
to connect to the reservoir model from multiple separate MPI
processes we must not attribute the full historic cumulative water
production from the aquifer to each process.

This commit makes a rough estimate based on the connection areas of
how much of the total cumulative production is attributable to each
process and reduces the restart value using that fraction.  This is,
at best, a hack but it is currently the best we can do with the
information available in the restart files.  Complete fidelity will
entail tracking cumulative production at the connection level.
2021-08-19 21:07:05 +02:00
Bård Skaflestad 913033b78f Add Restart Support to Carter-Tracy Analytical Aquifer 2021-08-19 21:07:05 +02:00
Bård Skaflestad fde505562d Fetkovich: Load Water Density From Restart Source
Needed to get proper gravity contributions in restarted runs.
2021-08-19 21:07:05 +02:00
Bård Skaflestad ed3ea9fa49 Don't Assign Restart Rs/Rv Unless O/G Both Active
This enables running two-phase oil/water restart cases.
2021-08-19 21:07:05 +02:00
Bård Skaflestad fdf3ae83ac Merge pull request #3482 from joakim-hove/store-action-result
Store the action result - when evaluated to true
2021-08-19 20:59:35 +02:00
Bård Skaflestad bee8ee1c00 Merge pull request #3461 from GitPaean/RateConverter_singlewater_phase
consindering the situation of single water phase for RateConverter

Closes #3463.
2021-08-19 10:52:01 +02:00
Bård Skaflestad f11639fd57 Merge pull request #3467 from bska/report-siunits-guiderates
Report Guiderate Values in Strict SI Units
2021-08-17 17:34:55 +02:00
Bård Skaflestad 517db198f8 Report Guiderate Values in Strict SI Units
The output layer expects its input values to be strictly SI, but we
know that the GuideRate container's values are in output units.
2021-08-17 16:07:45 +02:00
Bård Skaflestad 6da47344a3 Record New Supported Keywords
We recently added support for

  * RPTONLY
  * RPTONLYO
  * SUMTHIN
2021-08-17 10:29:36 +02:00
Bård Skaflestad 61d8ff3261 Merge pull request #3468 from akva2/improve_parallel_build
Improve parallel build
2021-08-16 14:31:04 +02:00
Bård Skaflestad 3d3e9cca1b Merge pull request #3453 from tskille/write_lodsmry
Adding command line argument for writing esmry file
2021-08-12 21:45:07 +02:00
Bård Skaflestad 76b16d2699 Merge pull request #3455 from akva2/no_unused_macro
changed: get rid of OPM_UNUSED macro usages
2021-08-02 20:38:06 +02:00
Bård Skaflestad 48e1af8bbe Address Static Code Analysis Warnings
In particular, don't print uninitialized memory (Reorder.cpp:left)
and don't capture objects ('prm') that aren't actually used.  While
here, refactor the initialization of the MT19937 random number
generator.  Constructing this object is too expensive to do for each
try, especially when we can just run the generator in place.
2021-07-13 11:37:57 +02:00
Bård Skaflestad bf3216ed1e Merge pull request #3441 from atgeirr/fix-bug-and-warning
Fix bug and warning
2021-07-08 18:26:30 +02:00
Bård Skaflestad d637f5983e Add Serialization Test for WriteRestartFileEvents 2021-07-07 14:30:46 +02:00