Commit Graph

14296 Commits

Author SHA1 Message Date
Kai Bao
2551050974 removing duplicated key in .clang-format 2023-08-04 15:00:56 +02:00
Bård Skaflestad
13e4394b45
Merge pull request #3593 from bska/smry-phase-densities
Add Transport Protocol for Segment Level Phase Densities
2023-07-05 12:10:29 +02:00
Bård Skaflestad
e7226d4ca8 Add Transport Protocol for Segment Level Phase Densities
This commit adds the requisite backing storage and parser support
for capturing and transporting simulator-level calculation of phase
and mixture density value for purpose of summary file output.  To
this end, make 'SegmentQuantity' into a template on a set of defined
items and make SegmentPhaseQuantity into a specialisation of this
template.  Add a new specialisation, SegmentPhaseDensity, which
holds phase densities (oil, gas, water), and fluid mixture densities
with and without flowing fraction exponents.

These will be used to transport the values needed to output segment
level summary vectors

    SDENx -- Phase density of phase 'x' (O, G, W)
    SDENM -- Fluid mixture density without flowing fraction exponents
    SMDEN -- Fluid mixture density with flowing fraction exponents
2023-07-05 11:31:10 +02:00
Bård Skaflestad
784faa2b05
Merge pull request #3592 from bska/adjust-smry-whitespace
Group Block Level Summary Vectors by Phase
2023-07-05 11:23:49 +02:00
Bård Skaflestad
5f3e6f9084 Group Block Level Summary Vectors by Phase
Mostly to aid future maintenance.  While here, also re-indent the
other unit tables and add a type alias (UnitTable) to avoid spelling
out the 'unordered_map<>' type repeatedly.
2023-07-05 10:57:53 +02:00
Markus Blatt
c2cc368f42
Merge pull request #3591 from bska/more-segment-smry-vecs
Add More Segment Level Summary Vectors
2023-07-05 10:24:19 +02:00
Bård Skaflestad
5b6f064804 Add More Segment Level Summary Vectors
In particular, add support for

   SxFT  - Cumulative flow of phase 'x'
   SxFV  - Free flow velocity of phase 'x'
   SxHF  - Free flow holdup fraction of phase 'x'
   SxVIS - Phase viscosity of phase 'x'

The last three of these were added to the RFT file in 802a401a8,
but are also useful in the summary output file.  In the interest of
avoiding duplicate logic, refactor the existing segment-related
quantity calculation/extraction in terms of callbacks.
2023-06-30 16:42:53 +02:00
Bård Skaflestad
4fb2a3557b
Merge pull request #3313 from GitPaean/support_cake_filteration
A simple cake model to simulate formation damage due to suspended solids in injection water
2023-06-30 15:51:41 +02:00
Kai Bao
508c123eed addressing the reviewing comments for PR #3313 2023-06-30 11:35:25 +02:00
Kai Bao
39608fa1ed re-organizing the filter cake related
to address the reviewing comments and improve the code.
2023-06-29 11:42:26 +02:00
Tor Harald Sandve
d07d8675ae
Merge pull request #3574 from totto82/fixSalinity
BUGFIX: Use salinity values when salt concentration (BRINE) is not considered
2023-06-29 09:00:28 +02:00
Bård Skaflestad
b76b22b697
Merge pull request #3583 from blattms/file-trailing-ws-error
trim trailing and leading whitespace of paths in INCLUDE
2023-06-28 21:36:33 +02:00
Bård Skaflestad
17f740dab1
Merge pull request #3588 from atgeirr/silence-vsprintf-warning
Fix warning from external code.
2023-06-28 21:34:40 +02:00
Bård Skaflestad
7e31d9605f
Merge pull request #3589 from blattms/file-line-unknown-keyword
Provide file and line for errors because of unknown keywords.
2023-06-28 21:26:08 +02:00
Markus Blatt
b5f7d9e3f8 Provide file and line for errors because of unknown keywords.
```
Error: Unknown keyword: KEY6

Error: Unrecoverable errors while loading input: Problem with keyword
In <memory string> line 0
Unknown keyword: KEY6
```
does not tell the user where his/her error is.

This is now changed to
```
Error: Unknown keyword: KEY6

Error: Unrecoverable errors while loading input: Problem with keyword NE6
In /path/to/include/grid/file.inc line 7
Unknown keyword: KEY6
```
which gives the user a greater chance of finding out what is wrong.
2023-06-28 18:59:25 +02:00
Markus Blatt
2fa51c6edb Also cater for trailing/leading ws for GDFILE/IMPORT keywords.
By trimming the strings.
2023-06-28 16:48:55 +02:00
Tor Harald Sandve
adfe24dbcd
Merge pull request #3482 from totto82/bc_schedule
BC in Schedule
2023-06-28 16:27:09 +02:00
Atgeirr Flø Rasmussen
0b930bc45c Fix warning from external code. 2023-06-28 16:10:13 +02:00
Bård Skaflestad
c9b1f01c23
Merge pull request #3586 from bska/fix-msim-report-step
Fix MSIM UDQ Configuration Lookup
2023-06-28 15:24:52 +02:00
Bård Skaflestad
928f37735c
Merge pull request #3582 from vkip/num_pressure_points_equil_default
Changing default value for number of pressure points used in equilibration
2023-06-28 14:53:57 +02:00
Tor Harald Sandve
bf9ca70ff6 Cleanup based on review 2023-06-28 14:07:33 +02:00
Tor Harald Sandve
4b36741f33 Rename BC to BCPROP and add error message for BC 2023-06-28 14:07:33 +02:00
Tor Harald Sandve
c7a7e80698 splitt BC into BCCON in grid section and BC in Schedule 2023-06-28 14:07:33 +02:00
Tor Harald Sandve
ff58ca550f Support BC in Schedule section 2023-06-28 14:07:33 +02:00
Vegard Kippe
0cb4d90494 Changing default value for number of pressure points used in equilibration to be consistent with current implementation. 2023-06-28 14:01:14 +02:00
Bård Skaflestad
ec87ad1f61 Fix MSIM UDQ Configuration Lookup
The MSIM 'report_step' is a one-based index so we must subtract
one before looking up the pertinent Schedule information.
2023-06-28 13:42:16 +02:00
Bård Skaflestad
d6ed5f754c
Merge pull request #3581 from vkip/constexpr_parseritem_defaults
Let int and float parser items have constexpr default values
2023-06-28 13:35:59 +02:00
Vegard Kippe
68173b49a4 Let int and float parser items have constexpr default values 2023-06-27 20:13:04 +02:00
Kai Bao
aafafba4b1 draft version of handling keyword WINJCLN 2023-06-27 15:50:54 +02:00
Kai Bao
781f7f2a96 revising FilterCake class for downstream use 2023-06-27 15:50:54 +02:00
Kai Bao
a335542424 adding accessing function for FilterCake for Connection 2023-06-27 15:50:54 +02:00
Kai Bao
e2a70bfabd fixing the Well and Connection comparison operator
taking into consideration of the parameters related to filter cake
2023-06-27 15:50:54 +02:00
Kai Bao
3bc451ad94 parsing WINJFCNC 2023-06-27 15:50:54 +02:00
Kai Bao
5e1b398550 parsing the keywor WINJDAM 2023-06-27 15:50:54 +02:00
Kai Bao
e94c1aa386 WIP in supporting the keyword WINJDAM 2023-06-27 15:50:54 +02:00
Kai Bao
5710164a7b adding keywords WINJDAM WINJCLN WINJFCNC to keyword_list 2023-06-27 15:50:53 +02:00
Kai Bao
7fc41b99aa adding the definition of keyword WINJCLN 2023-06-27 15:50:53 +02:00
Kai Bao
951e747f32 adding keyword definition for keyword WINJFCNC 2023-06-27 15:50:53 +02:00
Kai Bao
4096468ab3 adding keyword definition WINJDAM 2023-06-27 15:50:53 +02:00
Markus Blatt
4129543457 Trim trailing and leading whitespace from path in INCLUDE directive.
Just like the other simulator. This prevents hard to find input errors
of useers.
2023-06-27 15:34:27 +02:00
Markus Blatt
340b3dc450 Quote file path if file not found to make trailing ws apparent.
For an include directive with a path with trailing whitespace, e.g.

```
INCLUDE
  '/home/model/../include/file_trailing_ws.ext ' /
```
the current error message
```
Error: No such file: /home/model/../include/file_trailing_ws.ext
```
is changed to
```
File '/home/model/../include/file_trailing_ws.ext ' included via
INCLUDE directive does not exist. Note that the file name contains trailing whitespace.
```

This should at least make it easier to spot this error.

An alternative would be to trim the string, but people using quotes
should actually know what they are doing.
2023-06-27 14:25:38 +02:00
Bård Skaflestad
5709708016
Merge pull request #3559 from bska/wbp-compute-values
Reimplement WBPn Calculation Procedure
2023-06-26 15:24:23 +02:00
Bård Skaflestad
d9cfd1288a Reimplement WBPn Calculation Procedure
This commit implements the WPAVE keyword and its associate WBPn
well level report quantities.  We support all valid settings of
WPAVE and WWPAVE.  The various weighted averages are accumulated
through compensated summation of both the numerator and denominator
terms for the inner block, the direct/immediate level 1 neighbours,
and the diagonal level 2 neighbours.  We combine those contributions
to the WBP, WBP4, WBP5, and WBP9 terms when we "commit" the
contributions (Accumulator::commitContributions()), per connection
for values weighted by the connection transmissibility factor, and
per well for values weighted by pore volumes.

We distinguish OPEN from ALL connections through callback functions
in the implementation of accumulateLocalContributions() and the per
connection weighting terms are provided as another set of callback
functions depending on the value of the inner block weighting factor
F1.

Depth correction (NONE, WELL, or RES) is affected through a separate
set of callback functions used in the implementation of
'connectionPressureOffset'.

We discover source locations in a two-step process.  At WBPn
calculation construction time, we exclude only those cells that are
outside the model's dimensions.  The user is then expected to call
member function pruneInactiveWBPCells(), typically at the
CalculatorCollection level, at a later time in order to prune
inactive cells.  This two-step split is necessary because we do not
have a complete global view of the model's active cells in a
parallel run.  It is very possible that the WBPn calculation on one
rank will require source values from another rank and that begets
this extra caution.

The user must call inferBlockAveragePressures() to compute the WBPn
values.  Once completed, the result values may be extracted by
calling member function averagePressures().  We expect that the user
will provide a complete set of up-to-date source values when calling
this member function, both at the reservoir and the well connection
levels.
2023-06-22 16:46:54 +02:00
Bård Skaflestad
d06dff1a83 Add Input Value Santity Checking to WPAVE Keyword Handler
In particular, the inner block weighting factor F1 must not exceed
the value 1.0 and the CTF-vs-PV contribution weighting factor F2
must not be less than 0.0 or greater than 1.0.

Stop input parsing if either of these two conditions are violated.
2023-06-22 16:46:54 +02:00
Bård Skaflestad
c6d4a635e3
Merge pull request #3577 from GitPaean/fixing_winjmult
separating the WINJMULT for well and connections
2023-06-22 12:53:27 +02:00
Kai Bao
9572d5ecf3 addressing the reviewing comments for PR #3577 2023-06-22 11:59:45 +02:00
Arne Morten Kvarving
f8ebecd3b1
Merge pull request #3569 from bska/fix-hist-rates-sumry-output
Don't Generate History Rates for Shut/Stopped Wells
2023-06-21 14:46:11 +02:00
Bård Skaflestad
a4d2674c6d
Merge pull request #3579 from bska/wbp-reformat-pavg
Reformat PAvg Class
2023-06-21 14:36:48 +02:00
Bård Skaflestad
53f946e776 Don't Generate History Rates for Shut/Stopped Wells
The *_history() helper functions assumed that all wells would be
flowing.  This is an incorrect assumption and would lead to, e.g.,
field-level observed rates being non-zero even if all wells were
stopped/shut.

This commit adds a check for non-flowing wells, and omits flow rate
contributions in that case.
2023-06-21 13:54:47 +02:00
Bård Skaflestad
f8d9f74d91 Reformat PAvg Class
Mostly for readability.  While here, also switch to using compiled
item names instead of raw strings to access the DeckItems which
constitute the WPAVE and WWPAVE keywords.
2023-06-21 13:46:28 +02:00