Commit Graph

2972 Commits

Author SHA1 Message Date
Bård Skaflestad
0c037db51c Merge pull request #3635 from akva2/add_strequil
Add STREQUIL keyword and internalization
2023-08-16 16:12:19 +02:00
Bård Skaflestad
6e4c37d05f Merge pull request #3634 from akva2/mech_runspec
-- added MECH to runspec
2023-08-16 16:11:38 +02:00
hnil
a0ba0be7cc -- added stress equilibrium data for initconfig 2023-08-16 15:13:38 +02:00
hnil
980a160651 -- added MECH to runspec 2023-08-16 14:15:23 +02:00
Arne Morten Kvarving
bd3328b15c added: basic tests for BCCON / BCPROP 2023-08-16 13:58:39 +02:00
Svenn Tveit
c6cd71df08 Improved viscosity model for hydrogen.
Model from Muzney et al., J. Chem. Eng. Data 2013, 58, 4, 969–979 implemented. Same as NIST and Coolprop.
2023-08-14 12:31:01 +02:00
Kai Bao
22de6c1480 adding unit PPM
Parts per million (ppm). We are not distinguishing PPM volume or PPM
mass, or other forms. Will update when it comes to be necessary.
2023-08-10 15:23:14 +02:00
Kai Bao
144faaf645 Merge pull request #3623 from atgeirr/allow-default-network-nodes
Allow implicit creation of production network nodes.
2023-08-09 14:31:50 +02:00
Bård Skaflestad
aab5d1125b Merge pull request #3584 from svenn-t/unittests
Component unit tests and some minor updates
2023-08-08 18:14:37 +02:00
Atgeirr Flø Rasmussen
508ed49388 Add test for defaulted network nodes. 2023-08-08 16:00:21 +02:00
Atgeirr Flø Rasmussen
fb37377324 Merge pull request #3605 from blattms/fatal-section-topology-errors
Register errors concerning section topology in ErrorGuard.
2023-08-08 11:30:02 +02:00
Arne Morten Kvarving
bd59b6caab GroupTests: remove leading whitespace in decks 2023-08-01 14:38:54 +02:00
Arne Morten Kvarving
2ba0caab7f GroupTests: use raw string literals 2023-08-01 14:38:54 +02:00
Markus Blatt
e5c44baf38 Also detect keywords after operate key words in wrong section.
This will find keywords in statements like
MULTIPLY
  'TRANX' 2.0 /
  'TRANY' 2.0 /
 /
2023-07-24 15:59:01 +02:00
Markus Blatt
016dfa9ea7 Prevent std::exit(1) in tests due to ErrorGuard's destructor.
If ErrorGuard's lists have not been cleared, then it's destructor
will call std::exit(1). As that is quite unfortunate in a test, we
clear it's message stack at the end of the tests.
2023-07-20 10:36:05 +02:00
Markus Blatt
e56e2f4d26 Register errors concerning section topology in ErrorGuard.
That will make those (e.g. EDITNNC in the GRiD section) fatal.
2023-07-19 17:44:59 +02:00
goncalvesmachadoc
d23b045905 delete prefix for testing 2023-07-19 11:18:15 +02:00
goncalvesmachadoc
5df7a148e9 get lgr by index 2023-07-18 12:02:09 +02:00
goncalvesmachadoc
fb2290a07a extra line 2023-07-18 10:32:54 +02:00
goncalvesmachadoc
c0404e798e update tests 2023-07-18 10:32:53 +02:00
goncalvesmachadoc
ca6f232486 expand methods 2023-07-18 10:32:52 +02:00
goncalvesmachadoc
0aa2941150 start for unit tests 2023-07-18 10:32:52 +02:00
Bård Skaflestad
d7f1b6bd27 Merge pull request #3601 from plgbrts/gconprod
Enable items, 11, 12 and 13 of GCONPROD
2023-07-14 21:23:23 +02:00
Paul
babf4c590d fix for test GroupTests 2023-07-14 13:18:13 +02:00
Bård Skaflestad
dbaf600fcf Emit WBPn Summary Vectors to Summary Result File
This commit hooks the WBPn result vectors up to the summary file
writing process.
2023-07-11 13:15:43 +02:00
Bård Skaflestad
7f80ae8e2a Add Summary Output of Segment Level Fluid Densities
In particular, recognize the summary vectors

  - SDENx -- Phase density of phase 'x' (segment conditions)
  - SDENM -- Fluid mixture density without flowing fraction exponents
  - SMDEN -- Fluid mixture density with flowing fraction exponents
2023-07-07 16:26:58 +02:00
Bård Skaflestad
6dae660cc9 Add Summary Output for Block Level Phase Densities
In particular, recognize block level summary vectors

    BxDEN, BDENx

for the phase densities of phase 'x' (O, G, W).
2023-07-07 16:26:58 +02:00
Bård Skaflestad
3e6a5cfc2d Push Block Level Unit Conversion to Summary Output
The 'BLOCK_VARIABLES' test was doing manual unit conversion and
there's no need for that.
2023-07-07 13:56:18 +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
Svenn Tveit
f3e2960a5c Correct tolerance 2023-06-29 14:28:35 +02:00
Svenn Tveit
945642724e Tests output more useful error messages 2023-06-29 14:23:39 +02:00
Svenn Tveit
cc34178e59 Adjust unit test to reverted co2tables.inc.
Have to correct for different reference state between test data and co2tables.inc. Took out some enthalpy data due to one data point giving unreasonably large error (probably related to reference state difference).
2023-06-28 19:41:14 +02:00
Svenn Tveit
b469a14598 Corrected path to reference data 2023-06-28 18:07:49 +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
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
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
Svenn Tveit
c1fef5c52a Added unittests for CO2, H2O, brine and H2.
Reference data is located in JSON files.
Some code is commented out due to insufficient reference data, or in the case of CO2, interpolation around saturation curve does not capture the liquid/vapor jump to a reasonable tolerance.
2023-06-28 10:05:32 +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
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
Arne Morten Kvarving
68ffa2ea1f add serialization test for Network::ExtNetwork 2023-06-21 10:48:39 +02:00
Bård Skaflestad
dda3effdb3 Merge pull request #3570 from svenn-t/ppcwmax
Implementation of PPCWMAX
2023-06-16 15:04:03 +02:00
Bård Skaflestad
e6590f2169 Fix A Couple of Compiler and Static Code Analysis Warnings
In particular

  * Tag a single argument constructor as 'explicit',
  * Remove an unused private function
  * Fix mismatched tags (struct vs. class) in forward declaration
  * Return 'false' in an impossible updateHyst() case

While here, also use a real UnitSystem object instead of creating
a METRIC system just to infer unit strings.
2023-06-14 13:31:41 +02:00
Bård Skaflestad
c33b94ca3a Default UDQ Assignments to All Wells in Model
An assignment of the form

    ASSIGN WUPPERTAL 354.572 /

should create a UDQ set of size equal to the number of wells in
the model, not just the wells already flowing-especially if the
assignment happens on the very first report step before any wells
are flowing.
2023-06-14 09:46:10 +02:00
Svenn Tveit
5e6dfc1f1a Add Ppcwmax to serialization test 2023-06-14 08:33:51 +02:00
Svenn Tveit
ccc010c8d3 Internalize PPCWMAX as vector of structs 2023-06-14 08:33:51 +02:00