Commit Graph

10592 Commits

Author SHA1 Message Date
Torbjørn Skille
eded5fdb0c add functionality to the parser for parsing selected sections of a data deck
- made available in python bindings
 - added unit tests both for c++ and python
2021-06-22 18:45:24 +02:00
Joakim Hove
84e5307117 Return set of valid sections from ParserKeyword 2021-06-22 17:16:48 +02:00
Joakim Hove
050e82cebd Return deck names from ParserKeyword as std::unordered_set 2021-06-22 17:16:00 +02:00
Joakim Hove
36c07ae545 Remove unused iterator for section names 2021-06-22 17:08:43 +02:00
Bård Skaflestad
b783a1de32 Use More Dynamic Aquifer Data From Simulator
This commit switches to using the simulator's notion of initial
aquifer pressure, aquifer mass density of water, aquifer water
viscosity, and aquifer time constants.  These values will,
ultimately, come from the *_data structures for the analytic
aquifers but the simulator is the only system that is able to
compute equilibrated initial pressure values if that is defaulted in
the input.
2021-06-22 16:36:45 +02:00
Bård Skaflestad
4381eca9ac Rename Analytic Aquifer Structure Data Members
This commit renames various data members of the *_data structures to
aid the reader who may not be intimately familiar with the details
of the analytic models.  We switch the 'initial_pressure' into an
optional<double> instead of a pair<bool,double> with 'std::nullopt'
representing defaulted initial aquifer pressure values in the input
file.

We also add logic and private data members to compute/store aquifer
time constants, mass density of water, water viscosity and, in the
case of Carter-Tracy aquifers, also the influx constant 'beta'.
This centralises the requisite logic which reduces the risk of
subtle errors.

In the case of defaulted initial pressures, we support deferred
calculation of aquifer properties until the equilibrium pressure is
known.  Users are then expected to assign a value to the initial
pressure members and call 'finishInitialisation()' to derive those
properties.

While here, also switch to using raw string literals instead of
concatenated and escaped literals for the embedded deck strings in
the ParserTests.
2021-06-22 16:36:45 +02:00
Joakim Hove
79da27ae91 Remove leading space from ActionX condition 2021-06-22 16:20:24 +02:00
Jostein Alvestad
a1a8d74738 Update IUQD[0] depending on status 2021-06-22 16:20:24 +02:00
Jostein Alvestad
c44dcb8257 changes to DeckOutput.hpp for opmpack 2021-06-22 16:20:24 +02:00
Joakim Hove
8b625b6590
Merge pull request #2523 from joakim-hove/gr-minor
GuideRate / restart - minor stuff
2021-06-22 16:19:59 +02:00
Joakim Hove
b240f15ff8 Move eclipseControlMode function as static method in Well class 2021-06-22 10:32:46 +02:00
Joakim Hove
d1a0b4ab34 Add method GuideRate::init_grvalue() 2021-06-22 10:32:46 +02:00
Joakim Hove
9e2c79517a Remove method Schedule::guideRateConfig() 2021-06-22 10:32:46 +02:00
Bård Skaflestad
be0838981d
Merge pull request #2505 from joakim-hove/restore-guide-rates
Assign guide rate values to data::Wells when loading from restart
2021-06-22 09:16:37 +02:00
Joakim Hove
f7299aaea4 Recover guide rates from restart file 2021-06-22 07:24:00 +02:00
Joakim Hove
b0c134d385
Merge pull request #2522 from bska/report-dynpv
Add 'Inplace' Slot for Dynamic Pore Volume
2021-06-21 17:51:44 +02:00
Bård Skaflestad
695357e5f0 Add 'Inplace' Slot for Dynamic Pore Volume
The 'PoreVolume' value is supposed to be calculated at reference
conditions (i.e., no rock compressibility or temperature effects),
but being able to report the non-reference condition value is
beneficial.  This commit adds a slot for accumulating that value per
FIP region and transporting the aggregated values to the PRT output
system.
2021-06-21 16:25:55 +02:00
Joakim Hove
5f4483769b
Merge pull request #2521 from joakim-hove/udq-rst-preparations
Udq rst preparations
2021-06-21 09:21:22 +02:00
Joakim Hove
fff4c58a9a Create small class UDQDims with static methods to enable reuse 2021-06-21 08:15:07 +02:00
Joakim Hove
176669d625 RstState add groups and wells by calls from RstState::load() 2021-06-21 08:15:07 +02:00
Joakim Hove
1f9aaae0b8
Merge pull request #2520 from joakim-hove/opmpack-title-special
Make sure deck output of TITLE has trailing newline
2021-06-19 13:42:46 +02:00
Joakim Hove
df2fbd0ab3 Update AggregateUDQTest to output valid restart file 2021-06-19 13:38:41 +02:00
Joakim Hove
94bf2db8c7 Make sure deck output of TITLE has trailing newline 2021-06-19 11:39:25 +02:00
Joakim Hove
862dd4b180 Use unformatted IO in testcase 2021-06-18 15:02:02 +02:00
Joakim Hove
f45f787651 White space 2021-06-18 14:06:43 +02:00
Joakim Hove
92adc65bbe
Merge pull request #2517 from joakim-hove/load-rst-group
Add Schedule::addGroup( const RstGroup& ) overload
2021-06-17 21:22:43 +02:00
Joakim Hove
419bdf23c4 Add Schedule::addGroup( const RstGroup& ) overload 2021-06-17 13:19:20 +02:00
Joakim Hove
33f4ec04c2
Merge pull request #2516 from joakim-hove/update-rst-output
Update restart output from EclRegressionTest
2021-06-17 10:11:30 +02:00
Joakim Hove
e561e3fb43 Update restart output from EclRegressionTest 2021-06-17 08:46:51 +02:00
Joakim Hove
bd3724068c
Merge pull request #2512 from blattms/doxygen-no-timestamp
For discussion: Deactive timestamping in doxygen for reproducible builds.
2021-06-17 08:32:00 +02:00
Markus Blatt
d052e6e47d
Merge pull request #2510 from blattms/debian-patches-2
Further patches to the build system from Debian unstable packaging.
2021-06-16 12:34:04 +02:00
Joakim Hove
59115f818d
Merge pull request #2515 from joakim-hove/group-cmode
Group cmode
2021-06-16 12:24:51 +02:00
Markus Blatt
b1a0964cd1
Merge pull request #2511 from blattms/debian-spelling-and-encoding-fixes
Debian spelling and encoding fixes
2021-06-16 10:32:45 +02:00
Joakim Hove
d7eff6159f Use function Group::InjectionCMode2Int() to convert cmode -> int 2021-06-16 08:50:51 +02:00
Joakim Hove
0ff19fa453 Use function Group::ProductionCMode2Int() for enum -> int mapping 2021-06-16 08:50:51 +02:00
Markus Blatt
c957f31d40 Doygen: remove wrong usage of \example directive.
For whatever reason it produced a file like
_2tmp_2reprotest_81JBnX9_2build-experiment-1_2build-experiment-1_2opm_2output_2OutputWriter_8hpp-example.html
with the full path in it.

BTW: correct usage is "\example <cpp-file>" where the cpp file
includes the example code.
2021-06-15 23:14:23 +02:00
Markus Blatt
f8840e7152 Deactive timestamping in doxygen for reproducible builds. 2021-06-15 21:17:03 +02:00
Markus Blatt
b83919d1f3 Changed encoding of all installed headers to UTF-8
On Debian support for national encodings is being phased out.
Fixes lintian warnings about national-encoding.
2021-06-15 21:11:45 +02:00
Markus Blatt
50ec3bca05 Spelling fixes pointed out by lintian. 2021-06-15 21:11:36 +02:00
Markus Blatt
13bf65a73b Install build system documentation to doc and not next to CMake files. 2021-06-15 21:06:55 +02:00
Markus Blatt
ff9792e31c Work around issues of Boost >=1.70.0 and CMake 3.18.4
With that combination the first search seems to happen in CONFIG mode
but subsequent searches will use MODULE mode. This will result in the
following warning:

CMake Warning at /usr/share/cmake-3.18/Modules/FindBoost.cmake:1187 (message):
  New Boost version may have incorrect or missing dependencies and imported
  targets
Call Stack (most recent call first):
  /usr/share/cmake-3.18/Modules/FindBoost.cmake:1311 (_Boost_COMPONENT_DEPENDENCIES)
  /usr/share/cmake-3.18/Modules/FindBoost.cmake:1919 (_Boost_MISSING_DEPENDENCIES)
  cmake/Modules/OpmFind.cmake:135 (find_package)
  cmake/Modules/OpmFind.cmake:230 (find_and_append_package_to)
  cmake/Modules/OpmLibMain.cmake:83 (find_and_append_package_list_to)
  CMakeLists.txt:222 (include)

Also the variable Boost_LIBRARIES will look quite messed up by
occurrences of optimized and debug:
Boost_LIBRARIES=optimized;/usr/lib/x86_64-linux-gnu/libboost_system.so.1.74.0;debug;/usr/lib/x86_64-linux-gnu/libboost_system.so;optimized;/usr/lib/x86_64-linux-gnu/libboost_unit_test_framework.so.1.74.0;debug;/usr/lib/x86_64-linux-gnu/libboost_unit_test_framework.so

Which will make the modules unusable because of CMake errors during
linking:

CMake Error at /usr/share/dune/cmake/modules/DuneMacros.cmake:991 (target_link_libraries):
  The "debug" argument must be followed by a library.
Call Stack (most recent call first):
  src/CMakeLists.txt:2 (target_link_dune_default_libraries)
-- Configuring incomplete, errors occurred!

Note this fix is only needed for Boost versions 1.70 and higher.
Older versions do not provide cmake package configuration
files (BoostConfig.cmake) and hence there can be no mixup.

Note also that the alternative approach of setting
CMAKE_FIND_PACKAGE_PREFER_CONFIG does not work for OPM as with this
e.g. the Dune module versions would not be set correctly.
2021-06-15 21:04:41 +02:00
Markus Blatt
bf55667553 Allow installation of bash completion scripts to new location.
That location is /usr/share/bash-completion/completions and scripts
will be loaded on demand. Added option USE_BASH_COMPLETIONS_DIR (default OFF)
to request this. It is needed to prevent lintian warnings for Debian
packages.
2021-06-15 20:56:50 +02:00
Joakim Hove
428563e33a
Merge pull request #2503 from joakim-hove/wells-output-json
Wells output json
2021-06-15 10:14:51 +02:00
Joakim Hove
702de267bc Add json output for data::Group 2021-06-15 07:38:41 +02:00
Joakim Hove
011845992f Add Json output from output::Wells 2021-06-15 07:38:34 +02:00
Joakim Hove
73d2f7812e
Merge pull request #2504 from joakim-hove/rename-wellrates
Rename data::WellRates -> data::Wells
2021-06-14 18:21:33 +02:00
Joakim Hove
69dfff722b
Merge pull request #2506 from joakim-hove/guiderate-model-const
Make method GuideRateModel::updateLINCOM() const
2021-06-14 15:30:46 +02:00
Joakim Hove
71ccf698ab Make method GuideRateModel::updateLINCOM() const 2021-06-14 12:52:28 +02:00
Joakim Hove
9fe4be5ebf Rename data::WellRates -> data::Wells 2021-06-12 09:33:05 +02:00
Bård Skaflestad
5e1d923647
Merge pull request #2500 from joakim-hove/del-timemap
Remove stale class TimeMap
2021-06-10 20:30:08 +02:00