Commit Graph

11602 Commits

Author SHA1 Message Date
Joakim Hove
a920828b1c Add test of PINCH::ALL + MULTZ with a barrier 2020-09-10 09:04:31 +02:00
Bård Skaflestad
f771088414
Merge pull request #2779 from joakim-hove/use-make-unique
Use std::make_unique<>
2020-09-08 22:44:57 +02:00
Bård Skaflestad
c8ae87b8bb
Merge pull request #2778 from blattms/fix-parallel-summary-output
Fixes determining whether index of summary keyword is on process.
2020-09-08 22:04:10 +02:00
Joakim Hove
c0187ffc73 Use std::make_unique<> 2020-09-08 21:57:26 +02:00
Markus Blatt
ee6044b2e0 Fixes determining whether index of summary keyword is on process.
We used a method isGlobalIdxOnThisRank to determine whether to write
an entry for a summary keyword (like BPR). Unfortunately, this did
exactly what the name suggested, but we actually passed a cartesian
index to it. That meant that a lower cartesian index might have found on
many processes (with different cartesian index and hence resulting in
wrong values), while higher for ones no process would have been found
with it (resulting in writing zeros).

With this commit we store a sorted list of cartesian indices and query
that in the renamed and restructured function isCartesianidxOnThisRank.

Most probably this broke during refactoring.

Closes #2665
2020-09-08 20:44:27 +02:00
Atgeirr Flø Rasmussen
76384344ca
Merge pull request #2777 from GitPaean/adding_well_assembly_timing
adding timing for the well assembly
2020-09-08 16:02:16 +02:00
Kai Bao
7b4142e9b6 adding timing for the well assembly
And changes the indentation of the linear solver setup time a little to
show it is part of the linear solve time.
2020-09-08 11:12:41 +02:00
Joakim Hove
00c5d9f016
Merge pull request #2775 from joakim-hove/add-report-step-arg
Add report_step argument to UDQConfig::eval()
2020-09-08 11:05:29 +02:00
Joakim Hove
7d3ff894ee
Merge pull request #2765 from joakim-hove/add-pinch-testing
Add regression testing for MULTZ + PINCH::ALL
2020-09-08 10:12:22 +02:00
Joakim Hove
3a3e217941 Add regression testing for MULTZ + PINCH::ALL 2020-09-08 08:35:52 +02:00
Joakim Hove
ead673b58a Add report_step argument to UDQConfig::eval() 2020-09-08 07:39:03 +02:00
Bård Skaflestad
9d6a0be776
Merge pull request #2772 from blattms/prevent-copy-in-rateconverter
Prevent another copy of cell to region mapping in RateConverter.
2020-09-07 17:13:22 +02:00
Markus Blatt
578ca0a725 Fixed unused variable warning. 2020-09-07 16:42:01 +02:00
Markus Blatt
c21f1e72f8 Prevent another copy of cell to region mapping in RateConverter.
RateConverter itself already copies this and offers the mapping.
With this commit we just use that.
2020-09-07 15:36:07 +02:00
Markus Blatt
53005c477d
Merge pull request #2762 from ducbueno/opencl-stdwell-clean
Fixed out of resources problem
2020-09-03 19:50:39 +02:00
Jose Eduardo Bueno
525faf7b5d Changed work_group_size 2020-09-03 14:25:50 -03:00
Jose Eduardo Bueno
f8898e3158 New function for setting OpenCL in wellContribs 2020-09-03 13:30:12 -03:00
Markus Blatt
3ee0db8cf4
Merge pull request #2760 from atgeirr/inform-user
Use log mechanism for info output
2020-09-03 17:15:00 +02:00
Markus Blatt
ba8782eeca
Merge pull request #2761 from akva2/fix_flexible_serial
fixed: use the proper linear operator without wells in matrix in serial
2020-09-03 17:08:40 +02:00
Arne Morten Kvarving
273d465c32 fixed: use the proper linear operator without wells in matrix in serial 2020-09-03 15:53:57 +02:00
Atgeirr Flø Rasmussen
3dffb5d4da Use log mechanism for info output, and tell the user the deck has been read. 2020-09-03 15:11:25 +02:00
Markus Blatt
d51b4a53e8
Merge pull request #2758 from atgeirr/reinstate-lost-features
Reinstate lost logging of header and parameters.
2020-09-03 15:08:55 +02:00
Jose Eduardo Bueno
c7adc3495f Initial commit 2020-09-03 09:46:44 -03:00
Atgeirr Flø Rasmussen
92bdcbf597 Reinstate lost logging of header and parameters.
Also re-add the ability to do strict parsing.
2020-09-03 14:07:33 +02:00
Atgeirr Flø Rasmussen
4f7421d64d
Merge pull request #2746 from bska/restart-active-group-constraints
Restore Groups' Active Constraints on Restart
2020-09-03 10:35:55 +02:00
Bård Skaflestad
6220cdf613 Restore Groups' Active Constraints on Restart
First step towards better restarts of models with group control.
2020-09-03 01:11:32 +02:00
Bård Skaflestad
bdc34a7580 Distribute Group Values at Parallel Restart
Mostly to prepare for restoring the groups' active controls from
restart information.
2020-09-03 01:11:32 +02:00
Bård Skaflestad
a0373ed428 Support Distributing Guiderates in Parallel Restart
In preparation of distributing group-related information (e.g.,
the active constraint).
2020-09-03 01:11:32 +02:00
Bård Skaflestad
399ff94bce
Merge pull request #2752 from joakim-hove/pass-udq-state
Pass the UDQState member when evaluating UDQ
2020-09-03 01:00:03 +02:00
Markus Blatt
5193b0c90e
Merge pull request #2756 from blattms/fix-opencl-shadowing-warnings
[opencl] Fixes shadowing variable warnings.
2020-09-02 22:51:28 +02:00
Markus Blatt
27931c4303 [opencl] Fixes shadowing variable warnings.
These seemed familar and I would have sworn that I already fixed them
somewhen. Might have been reintroduced by rebasing.
2020-09-02 22:46:44 +02:00
Markus Blatt
e997d7b130
Merge pull request #2751 from ducbueno/opencl-stdwell-clean
AddStandardWell functionality in OpenCL backend
2020-09-02 22:02:05 +02:00
Bård Skaflestad
d14aaa3401
Merge pull request #2709 from bska/report-guiderates
Report Guiderates at Well and Group Levels
2020-09-02 21:37:08 +02:00
Jose Eduardo Bueno
4d10d9ac76 Fixed issue when no std wells are present 2020-09-02 15:44:46 -03:00
Jose Eduardo Bueno
56c1c0862c Added StandardWell functionality to OpenCL backend 2020-09-02 15:00:34 -03:00
Bård Skaflestad
144baeeb42 Well Model: Report Guiderates at Well and Group Levels
This commit adds support for reporting the simulator's guiderate
values at the well and group levels to the output layer through the
wellData() and groupData() member functions.  We add several new
member functions that collectively assemble the values and assign
them to objects of type Opm::data::GuideRateValue for subsequent
output to the summary and restart files.

In particular

    getGuideRateValues(const Well&) const
    getGuideRateValues(const Group&) const

retrieve the guiderate values for all phases for those individual
wells and groups for which the guideRate_ data member defines a
value.  The most complicated function of this commit is

    calculateAllGroupGuideRates

which aggregates those individual contributions from the well (leaf)
level up to the root of the group tree (the FIELD group).  This
process uses an ancillary array ('up') to keep track of the parent
groups of all wells and all groups, and to ensure that we only visit
each parent group once (sort+unique on subsets of the 'up' array).

We do not currently support outputting guiderates for reservoir
voidage volume (GuideRateModel::Target::RES).
2020-09-02 17:22:04 +02:00
Bård Skaflestad
e1ce1c9124 Centralize Rate Vector Derivation for Guide Rates
This commit creates a single implementation function for deriving
'RateVector' objects that go into the guiderate calculation.  In
particular, we now use the same implementation function for both the
well and the group levels.  While here, also expose the group level
derivation as a free function and reimplement the FractionCalculator
version in terms of this free function.  Finally, remove the
previous attempt at such a free function taking only the group name.
This function no longer exists in isolation and is only accessible
through the FractionCalculator.

This is in preparation of reporting guiderate values to the output
layer (summary and restart files).
2020-09-02 17:22:04 +02:00
Bård Skaflestad
3c91761999 Well State: Add Predicate for Flow Rate Existence
This commit adds two new predicate member functions

    bool hasWellRates(well_name) const
    bool hasProductionGroupRates(group_name) const

that enable querying the existence of the corresponding flow rate
values for wells and group production.

This is in preparation of reporting the simulator's guiderate values
to the summary and restart files.
2020-09-02 17:22:04 +02:00
Bård Skaflestad
fdba34e071 IsXGroup: Return Explicit Boolean Value
Mostly to highlight that 'globalIsXGrup_' holds integers rather than
bools.  While here, also fix an error message formatting problem.
2020-09-02 17:22:04 +02:00
Bård Skaflestad
4be4c543e7
Merge pull request #2753 from akva2/janitoring
use std::make_unique where applicable
2020-09-02 16:24:21 +02:00
Arne Morten Kvarving
7305f84351 use std::make_unique where applicable 2020-09-02 15:35:39 +02:00
Joakim Hove
d330d883be Pass the UDQState member when evaluating UDQ 2020-09-01 15:09:13 +02:00
Joakim Hove
4b45623333
Merge pull request #2748 from joakim-hove/add-udq-state
Add UDQState argument to output writer
2020-09-01 15:07:21 +02:00
Bård Skaflestad
a0601b23eb
Merge pull request #2750 from akva2/avoid_unncessary_copies
fixed: use const refs in foreach constructs
2020-09-01 14:46:42 +02:00
Arne Morten Kvarving
182ec130b1 fixed: use const refs in foreach constructs
avoids unnecessary copies
2020-09-01 13:25:26 +02:00
Joakim Hove
c2f7e900b6 Add UDQState argument to output writer 2020-08-31 18:40:39 +02:00
Bård Skaflestad
cb067869bd
Merge pull request #2749 from bska/fix-debug-build
Fix Debug Build
2020-08-31 17:10:31 +02:00
Bård Skaflestad
2bd80947b9 Fix Debug Build
Remove left parenthesis character left over from transitioning to
the type-based parameter system.  The '(' produced a build failure
which only manifested in debug builds.

Thanks to Håkon Hægland for bringing the issue to our attention.
2020-08-31 16:33:52 +02:00
Bård Skaflestad
fcd0de667b
Merge pull request #2732 from bska/fix-from-to-equal-msg
Broken Constraints: Fix Diagnostic Message
2020-08-31 13:57:45 +02:00
Bård Skaflestad
efed640e63 Broken Constraints: Fix Diagnostic Message
Especially, grab a copy of the "oldControl" to avoid reading through
a reference for which the underlying object is reset in

    setCurrent*GroupControl()

This in turn avoids generating confusing diagnostic messages of the
form

    Switching production control mode for group G from FLD to FLD
2020-08-31 13:04:39 +02:00