Commit Graph
13802 Commits
Author SHA1 Message Date
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
Atgeirr Flø Rasmussen 2cf78c6da0 Merge pull request #3660 from atgeirr/remove-redundant-class
Remove ISTLSolverEbosFlexible and flow_blackoil_dunecpr.
2021-11-02 15:32:53 +01:00
Atgeirr Flø Rasmussen 5503e6ca06 Remove ISTLSolverEbosFlexible and flow_blackoil_dunecpr.
The class ISTLSolverEbos has all features of the removed class, and
is not much more complex. The flow_blackoil_dunecpr is the only
program using it, and is redundant.
2021-11-02 15:02:48 +01:00
Markus Blatt 932ddcd32d Merge pull request #3652 from akva2/use_opencl_hpp
changed: probe for cl/opencl.hpp and use if found
2021-11-02 09:31:05 +01:00
Arne Morten Kvarving 7de50b94c7 changed: probe for cl/opencl.hpp and use if found
this to avoid a spam of warnings
2021-11-01 19:41:05 +01:00
Joakim Hove 101b277bfe Merge pull request #3642 from joakim-hove/remove-groupstate-dump
Remove debugging aid GroupState::dump
2021-11-01 17:51:32 +01:00
Joakim Hove 5336822242 Remove unused utility class PhasePresence 2021-11-01 17:06:50 +01:00
Joakim Hove bcdc974585 Create PhaseUsage constructor 2021-11-01 17:04:42 +01:00
Joakim Hove ec780676e2 Split initSinglewell for producer and injector 2021-11-01 16:02:34 +01:00
Joakim Hove d213bc9d78 Initialize static perforation data in SingleWellState constructor 2021-11-01 16:02:34 +01:00
Joakim Hove 6c16b5dbb8 Move variable to local scope 2021-11-01 16:02:34 +01:00
Joakim Hove 93218b05c2 Use multiple returns in init single well 2021-11-01 16:02:34 +01:00
Joakim Hove 2527970d11 Replace two assert() with one throw 2021-11-01 16:02:34 +01:00
Joakim Hove 029d1794f8 Remove local variable 2021-11-01 16:02:34 +01:00
Joakim Hove 807ac101d8 Add name member to SingleWellState 2021-11-01 16:02:34 +01:00
Joakim Hove 03cf7b0327 Move updateStatus functionality to SingleWellState 2021-11-01 16:02:31 +01:00
Atgeirr Flø Rasmussen 624d8b1343 Merge pull request #3651 from akva2/remove_gcc7_compat
use std::filesystem directly
2021-11-01 15:30:03 +01:00
Joakim Hove 129288b2bd Add operator[] to WellState 2021-11-01 13:47:40 +01:00
Joakim Hove ab63d14bcd Remove debugging aid GroupState::dump 2021-11-01 13:47:36 +01:00
Arne Morten Kvarving 903b5462aa Merge pull request #3650 from akva2/remove_ebos
Remove ebos
2021-11-01 13:38:02 +01:00
Joakim Hove d150f400fe Move code from WellState to SingleWellState 2021-11-01 13:23:17 +01:00
Atgeirr Flø Rasmussen 5f81b77d14 Merge pull request #3639 from blattms/dune-fem-master
Fixes compilation with dune-fem 2.8
2021-11-01 13:10:17 +01:00
Arne Morten Kvarving 39a94863a0 remove ebos 2021-11-01 13:08:40 +01:00
Atgeirr Flø Rasmussen 16eafcca04 Merge pull request #3649 from akva2/separate_flow_binaries
changed: build separate simulator binaries for flow
2021-11-01 13:07:07 +01:00
Arne Morten Kvarving 06bd25575f use std::filesystem directly 2021-11-01 12:31:58 +01:00
Atgeirr Flø Rasmussen fa3b619ec9 Merge pull request #3644 from blattms/use-cl2.hpp
[enhancement][opencl} Use cl2.hpp instead of cl.hpp (missing on bullseye)
2021-11-01 10:10:30 +01:00
Arne Morten Kvarving 9395c74b3e changed: build separate simulator binaries for flow
this is very convenient during development.
we can then remove the FLOW_BLACKOIL_ONLY option,
as it is no longer needed - use the flow_blackoil binary instead.
however we need to keep this support in Main.hpp due to the python
bindings relying on it.
2021-11-01 09:31:09 +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
Atgeirr Flø Rasmussen fe8df97266 Merge pull request #3637 from akva2/fix_mpiabort_no_input_case
changed: special case no input deck given handling
2021-10-29 15:35:35 +02:00
Atgeirr Flø Rasmussen 2a7a9d46ce Merge pull request #3640 from totto82/inj_comm
communicate inj_resv/surface_rates
2021-10-29 15:35:24 +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
Atgeirr Flø Rasmussen b4fe98b739 Merge pull request #3636 from joakim-hove/mark-as-supported-diffuse-diffc-gpmaint
Mark keywords DIFFC, DIFFUSE and GPMAINT as supported
2021-10-29 12:25:00 +02:00
Arne Morten Kvarving 371f26ac6b fix deprecation warning with dune 2.7+ 2021-10-29 12:18:36 +02:00
Arne Morten Kvarving a056aa858a changed: special case no input deck given handling
we do not want to invoke MPI_Abort in this case
2021-10-29 12:16:01 +02:00
Markus Blatt 9197ee3e20 Prevent deprecation warning about cl2.hpp: __CL_ENABLE_EXCEPTIONS. 2021-10-28 17:09:22 +02:00
Markus Blatt 4de52a8d30 Use OpenCl's CL/cl2.hpp instead of CL/cl.hpp
We still request Standard version 1.2 only.
We need to use KernelFunctor instead of make_kernel.
In addition cl::Sources now works on std::string and
does not support std::pair<const char*, in> anymore.
2021-10-28 16:42:43 +02:00
Tor Harald Sandve b9f16018ac remove unused inj_potentials 2021-10-28 14:17:33 +02:00
Tor Harald Sandve 93c7ba6b92 communicate inj_surface_rates 2021-10-28 08:55:50 +02:00
Joakim Hove 5a54bb0728 Merge pull request #3634 from alfbr/error-message
Do not print confusing message to terminal.
2021-10-27 11:21:09 +02:00
Markus Blatt a1e90be2aa Use grid view from simulator for element mapper.
With dune-fem the type of the grid view is
Dune::Fem::AdaptiveLeafGridPart and not the LeafGridView
of the grid. The old approach therefore did not compile
as we passed the wrong view.
2021-10-26 21:55:04 +02:00
Markus Blatt b8a1f04a48 Added missing explicit template instatiations for dune-fem 2.8. 2021-10-26 21:54:41 +02:00
Markus Blatt 85b5a60270 [bugfix] Exclude pv of numerical aquifer cells for CNV violation.
In some models there will be only a few cells with rather high pore volume representing the numerical aquifer. Including them (as non-violated cells) in the ratio will make the ratio lower than without the aquifer there and might lead to accepting vectors as converged when they should not.
2021-10-26 12:01:46 +02:00
Joakim Hove 567eea2c19 Merge pull request #3630 from joakim-hove/actionx-udq
Add regression testing for model ACTIONX_UDQ
2021-10-26 08:24:07 +02:00
Joakim Hove a79fd67104 Mark keywords DIFFC, DIFFUSE and GPMAINT as supported 2021-10-26 07:42:14 +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