Commit Graph
8660 Commits
Author SHA1 Message Date
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
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
Markus Blatt fa9e93529b Only consider perforation in the interior of the local grid.
This is needed for distributed wells to save most of the code
from checking whether a perforation is in the interior.

We add new methods compressedIndexForInterior that return -1
for non-interior cells and use that for the wells. This restores
the old behaviour before 1cfe3e0aad
2021-10-19 16:50:42 +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 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
Markus Blatt 23e0b06387 Allow communicators other than MPI_COMM_WORLD. 2021-10-19 12:44:41 +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
Joakim Hove 695254fc7c Broadcast WellTestState after initialization 2021-10-19 11:16:41 +02:00
Joakim Hove daabe1ca76 Make sure WellTestState is initialized also on non IO rank 2021-10-19 11:16:41 +02:00
Joakim Hove 9a9ccb90b8 Make sure to filter out wells from other processes in WellTestState 2021-10-19 11:16:41 +02:00
Joakim Hove c8cbd32f85 Add method WellContainer<T>::wells() 2021-10-19 11:16:41 +02:00
Tor Harald Sandve 1cfe3e0aad remove cartesian to compressed vector 2021-10-19 11:03:46 +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
Tor Harald Sandve 5717a95cb4 Merge pull request #3607 from totto82/operHist
Check operabiliy for wells under history
2021-10-19 09:03:34 +02:00
Joakim Hove 56c7c74016 Handle NEXTSTEP behavior in time stepper 2021-10-18 11:52:33 +02:00
Tor Harald Sandve 160c80b574 check operability history wells 2021-10-18 09:21:04 +02:00
Tor Harald Sandve d925e74b76 Merge pull request #3569 from totto82/operInj
check operability injectors
2021-10-18 08:50:50 +02:00
Tor Harald Sandve 350875e7c5 Merge pull request #3583 from totto82/brinethermal
brine+thermal
2021-10-15 14:41:26 +02:00
Atgeirr Flø Rasmussen fc80451e3d Silence unused argument warning. 2021-10-15 13:26:44 +02:00
Atgeirr Flø Rasmussen 4c213b25e0 Order of initialization should match order of definition. 2021-10-15 13:24:55 +02:00
Tor Harald Sandve 1c9c5c484b check operability injectors 2021-10-15 12:32:02 +02:00
Tor Harald Sandve f6f5badfde Add brine and thermal simulator 2021-10-15 11:50:17 +02:00
Tor Harald Sandve 70c9d2e237 Merge pull request #3590 from daavid00/micp-2021-10
micp
2021-10-14 22:28:28 +02:00
daavid00 48b175904a first version of micp implementation in flow 2021-10-14 17:44:57 +02:00
Atgeirr Flø Rasmussen 5e1853b8e4 Merge pull request #3588 from totto82/improve_switch_output
make multiple well control switching output more readable
2021-10-14 10:56:53 +02:00
Tor Harald Sandve 83ef3730b2 make multiple well control switching output more readable 2021-10-14 09:40:34 +02:00
Atgeirr Flø Rasmussen dead95ba18 Merge pull request #3519 from totto82/continueOnConvergenceFailure
Option for continue on solver convergence failure
2021-10-14 09:31:23 +02:00
Joakim Hove 4b85fc74ae Merge pull request #3594 from joakim-hove/wtest-rst
load WellTestState from restart file
2021-10-13 11:27:41 +02:00
Arne Morten Kvarving 8eb63409cb fixed: double call to MPI_Finalize
I missed this one when moving the MPI handling into RAII style
2021-10-13 09:35:16 +02:00
Joakim Hove 2c68f12769 Load WellTestState from restart file 2021-10-13 08:46:48 +02:00
Joakim Hove 5db60aba5e Set external Action::State object in the vanguard 2021-10-12 10:41:29 +02:00
Markus Blatt cc1adf0b2a Merge pull request #3586 from blattms/tracer-use-well-container
[refactor] Use well_container and PerforationData for tracers
2021-10-12 09:55:33 +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
Joakim Hove b6d043c545 Merge pull request #3580 from joakim-hove/wtest-rename
Remove ecl wells argument to check wells for testing
2021-10-10 09:54:16 +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