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
Kai Bao
c2e18fd077
Merge pull request #3573 from totto82/crossFlowEcon
...
remove assert and handle opposite rates in wecon related fractions.
2021-11-15 15:31:05 +01:00
Joakim Hove
4d1fb8c797
Merge pull request #3700 from blattms/gcc-11
...
Include limits header where needed for g++-11
2021-11-15 13:13:07 +01:00
Markus Blatt
b0792db164
Include limits header where needed for g++-11
...
Without this compilation fails on Debian unstable.
2021-11-15 12:11:25 +01:00
Markus Blatt
a2246d331b
Spelling fixes
...
Gbp-Pq: Name 0005-Spelling-fixes.patch
2021-11-15 12:06:05 +01:00
Markus Blatt
afc5ed751f
Merge pull request #3691 from akva2/bda_wellcontrib_refactor
...
Refactor BDA well contributions
2021-11-15 10:26:44 +01:00
Markus Blatt
ec56782288
Merge pull request #3690 from akva2/wellcontrib_cleanups
...
Some simple cleanup in BDA WellContributions
2021-11-15 10:18:12 +01:00
Tor Harald Sandve
ae5a1df29c
Merge pull request #3638 from blattms/exclude-pv-aquifer-cnv
...
Exclude pv of numerical aquifer cells in ratio of cells violating CNV
2021-11-12 13:27:58 +01:00
Arne Morten Kvarving
e25caba8ed
changed: refactor BDA well contributions
...
split in API specific classes for Cuda/OpenCL
this to
1) it's cleaner
2) it avoids pulling in openCL code in cuda classes which leads
to clashes between nvidia headers and opencl.hpp
there is still too much API specific things in interface between the
bda components to work through a virtual interface so we still have to cast
to the relevant implementation in various places.
2021-11-11 14:49:33 +01:00
Arne Morten Kvarving
352d31a1e9
BdaBridge: avoid FPGA include in header
...
already includ in the cpp file where it is required.
2021-11-11 13:39:46 +01:00
Arne Morten Kvarving
7fb39f8308
BdaBridge: avoid includes in header
2021-11-11 13:39:25 +01:00
Arne Morten Kvarving
be6c857b16
bda: use forwarding for WellContributions
2021-11-11 13:29:12 +01:00
Arne Morten Kvarving
4a1fb0b86a
use std::vector for val_pointers
2021-11-11 13:15:29 +01:00
Arne Morten Kvarving
2b0508af8b
changed: use unique_ptr for MultisegmentWellContributions
...
less manual pointer management is always good
2021-11-11 13:15:29 +01:00
Tor Harald Sandve
ef439cd6d6
Merge pull request #3678 from totto82/fixGasliftX2
...
Fix gasslift reduction when under LRAT, GRAT or WRAT
2021-11-11 13:11:31 +01:00
Arne Morten Kvarving
5bfac05827
Merge pull request #3688 from blattms/fix-wellcontrib-without-opencl
...
Fixes compilation of WellContributions with deactivated OpenCL.
2021-11-11 11:59:45 +01:00
Markus Blatt
c54e85a8eb
Fixes compilation of WellContributions with deactivated OpenCL.
...
OpenCL header was included and OpenclKernels used unconditionally
in WellContributions.cpp. As this file is compiled if CUDA is found,
too it lead to undefined references for e.g. cl::CommandQueue if
opencl headers were there and compile error if not.
2021-11-10 19:41:59 +01:00
Arne Morten Kvarving
dc136746df
cosmetics: do not indent for namespace
...
also avoid an unnecessary close/open for namespace Opm
2021-11-10 14:24:51 +01:00
Tor Harald Sandve
cd9e742ad5
remove assert and handle opposite rates in wecon
2021-11-10 13:14:22 +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
Arne Morten Kvarving
24e252f46d
fix serial build after PR #3675
...
annoyingly, dune has a casting operator for mpicollectivecommunication
-> MPIComm but for some reason does not have a casting operator for
the dummy collectivecommunication -> No_Comm
2021-11-10 10:41:24 +01:00
Arne Morten Kvarving
f27931c2e2
fixed: auto function parameters requires the concept-ts
...
use a regular template parameter instead
2021-11-10 10:25:27 +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
Arne Morten Kvarving
7f7fbab2f4
remove FLOW_BLACKOIL_ONLY hack from Main.hpp
...
now that the python simulator uses runStatic, the
runDynamic template is never instanced, and thus there
are no linker issues.
2021-11-10 10:07:11 +01:00
Arne Morten Kvarving
7bce64cde9
use multi-var broadcast for rates
2021-11-10 08:56:04 +01:00
Arne Morten Kvarving
09f61e0e6f
WellGroupHelpers: use an array to allow for one sum call
2021-11-10 08:50:39 +01:00
Arne Morten Kvarving
04ed31f800
GasLiftGroupInfo: use an array to allow for one sum call
2021-11-10 08:48:33 +01:00
Arne Morten Kvarving
e67bae5453
fix: serial build after PR #3671
2021-11-09 15:57:24 +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
Joakim Hove
c97447892e
Merge pull request #3671 from joakim-hove/broadcast-mult-update
...
Broadcast mult update
2021-11-09 14:50:11 +01:00
Joakim Hove
06e71f1345
Broadcast updated transmissibility after runtime updates of MULT?
2021-11-09 14:22:19 +01:00
Joakim Hove
5f4efbde73
broadcast<T> with Schedule and TransMult specialization
2021-11-09 14:22:19 +01:00
Tor Harald Sandve
a765ab213b
fix WRAT GRAT reduction
2021-11-09 13:40:55 +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
Arne Morten Kvarving
2120cbf043
added: utility to broadcast multiple variables in one operation
2021-11-09 13:02:05 +01:00
Tor Harald Sandve
7728df33bb
Fix LRAT reduction
2021-11-09 10:45:10 +01:00
Tor Harald Sandve
d2fd5505ca
Check group production LRAT and WRAT targets
2021-11-09 08:24:57 +01:00
Tor Harald Sandve
23225d24e5
Fix bug in runOptimize1_
2021-11-09 08:21:42 +01:00
Markus Blatt
ad44564f27
Merge pull request #3619 from Tongdongq/opencl-refactor
...
Opencl refactor
2021-11-08 16:45:57 +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
Atgeirr Flø Rasmussen
84392a25b4
Merge pull request #3648 from joakim-hove/phase-usage-constructor
...
Create PhaseUsage constructor
2021-11-05 15:35:50 +01:00
Joakim Hove
34260544eb
Merge pull request #3647 from joakim-hove/update-rates-after-actionx
...
Update rates after actionx
2021-11-05 12:01:22 +01:00
Joakim Hove
fd5640774b
Call SingleWellState::update_targets for ACTIONX affected wells
2021-11-05 09:48:27 +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
Tong Dong Qiu
803a2ac2f4
Allow CMake to set CHOW_PATEL variables
2021-11-04 15:47:33 +01:00
Tong Dong Qiu
920eeee426
Rename namespace bda to Opm::Accelerator
2021-11-04 15:47:33 +01:00
Tong Dong Qiu
b945502a82
Minor improvements
2021-11-04 15:45:33 +01:00
Tong Dong Qiu
78b1714481
Move apply_stdwells kernels to OpenclKernels
2021-11-04 14:25:39 +01:00
Tong Dong Qiu
1583292bf4
Move opencl kernels to static class
2021-11-04 14:25:22 +01:00
Tong Dong Qiu
b8587daaa7
Move ChowPatel decomposition to appropriate file
2021-11-04 13:58:06 +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
Markus Blatt
02bbe995c3
Fixes warning about catching polymorphic type by value.
...
Removed message in amgclbackend was:
warning: catching polymorphic type ‘class
boost::property_tree::json_parser::json_parser_error’ by value
[-Wcatch-value=]
2021-11-03 18:07:56 +01:00
Tor Harald Sandve
f755cc3be1
Merge pull request #3645 from totto82/fixNoWellReduction
...
Adjust reduction rate when well control is considered for GRUP
2021-11-03 15:32:18 +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
Joakim Hove
44ad5ab190
Remove superfluos is injector or producer test
2021-11-03 12:35:28 +01:00
Joakim Hove
05317e1d72
Extract functionality to update target rates to SingleWellState
2021-11-03 12:30:40 +01:00
Joakim Hove
5a986ee430
Move updateStatus functionality to SingleWellState
2021-11-03 12:30:40 +01:00
Joakim Hove
53dba36513
Move resetConnectionFactor to SingleWellState
2021-11-03 12:30:40 +01:00
Tor Harald Sandve
a57374fae9
Adjust reduction rate when well control is considered for GRUP
...
The reduction rate is computed differently for cases without wells under GRUP
For a well to check whether to switch to GRUP it needed to use the reduction rate
that would have been computed if this particular well was under GRUP control
and thus recompute the reduction rate without entering the no-grup path
2021-11-03 11:42:18 +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
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
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
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
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
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
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
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
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
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
Alf Birger Rustad
a10387fcec
Do not print confusing message to terminal.
2021-10-25 15:35:30 +02:00