Commit Graph
8732 Commits
Author SHA1 Message Date
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
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
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
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 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