Commit Graph
11154 Commits
Author SHA1 Message Date
Bård Skaflestad b288602dfc Equilibration: Add Experimental Support for Horizontal Subdivision
This commit adds a very early, alpha-quality implementation of the
"horizontal subdivision" strategy (N < 0) of the EQUIL directive.
This in turn enables more accurate derivations of the initial fluids
in place.

Interactions with SWATINIT are completely untested, and the initial
Rs/Rv derivations in this context are possibly incomplete.  More
work is likely needed in this area, but this does at least enable
more widespread testing.
2020-04-22 20:10:19 +02:00
Bård Skaflestad 4b04a36a2f Initial State Calculator: Prune Unneeded Steps and Variables
In particular, remove unneeded function parameters and don't form a
per-cell PVT zero-based index when we're not going to use the
values.
2020-04-22 20:10:19 +02:00
Bård Skaflestad f0ed53a6f1 Vertical Extent: Prune Unneeded 'cellcount' Parameter
The purpose of this function is to determine the vertical extent of
a set of cells.  Counting the number of cells in the region is not
its responsibility.
2020-04-22 20:10:19 +02:00
Bård Skaflestad 6292855bd5 Initial State Calculator: Refactor Cell Loop
This commit splits out the per-cell initial state derivation to two
separate helper functions, equilibrateCellCentres() and cellLoop().
The latter manages the per-cell assignments to pertinent data
members and calls an arbitrary "equilbration method" that is
provided as a callback and which calculates per-cell phase
pressures, phase saturations and mixing ratios (Rs/Rv).

In turn, the equilibrateCellCentres() uses the cellLoop() to affect
the existing equilibration procedure within a cell using values at
the depths of the cell centres only.
2020-04-22 20:10:19 +02:00
Joakim Hove 2696160f56 Merge pull request #2520 from akva2/extra_tests
add norne and norne_parallel as ExtraTests
release/2020.04/rc1
2020-04-22 13:35:25 +02:00
Joakim Hove 0d78d7e80e Merge pull request #2554 from joakim-hove/update-missing
Update missing
2020-04-22 13:34:55 +02:00
Joakim Hove 192d5f7cc1 Add build/ to .gitignore 2020-04-22 13:22:54 +02:00
Markus Blatt e61e2bd399 Merge pull request #2551 from akva2/fix_test_dir
fixed: use PROJECT_BINARY_DIR, not CMAKE_BINARY_DIR
2020-04-21 11:16:00 +02:00
OPMUSER 9d32980821 Added the Water Vaporization keywords to Missing-Features
Added the following Water Vaporization keywords to Missing-Features: PRESALT, PVTGW, PVTGWO, SALTPVD, SALTSOL, and VAPWAT
2020-04-21 16:39:51 +08:00
OPMUSER 4906a3e69e Added ADSORP and CPR to Missing-Features
Added ADSORP and CPR  to Missing-Features
2020-04-21 16:30:54 +08:00
Arne Morten Kvarving 16a1ddfe5e fixed: use PROJECT_BINARY_DIR, not CMAKE_BINARY_DIR
tests fail to execute in super-build otherwise
2020-04-21 08:50:51 +02:00
OPMUSER 048d21fdab Update MissingFeatures.cpp
Changed DIFFMTHT- to DIFFMTH-
2020-04-21 14:29:03 +08:00
OPMUSER a8dba1a726 Update Missing-Features keywords
Added GECONT, changed RIVRDIM to RIVRDIMS, added RPTSOL, RSSPEC, changed SCPDIMS to SCDPDIMS,
2020-04-21 14:05:46 +08:00
Bård Skaflestad 7180f0a885 Merge pull request #2549 from goncalvesmachadoc/patch-2
Remove BDENSITY
2020-04-20 19:30:35 +02:00
Cintia Goncalves Machado 2ac17103f8 Remove BDENSITY 2020-04-20 17:44:40 +02:00
Bård Skaflestad c72efc3f56 Merge pull request #2548 from alfbr/fix-test
Reduced maximum time step on four MSW tests.
2020-04-20 16:47:42 +02:00
Alf Birger Rustad f8507e8293 Reduced maximum time step on four MSW tests. 2020-04-20 14:06:25 +02:00
Joakim Hove 36647c7978 Merge pull request #2546 from joakim-hove/rename-embedded-python-switch
Rename config variable for Python
2020-04-20 11:16:09 +02:00
Bård Skaflestad 9625d0b48c Merge pull request #2531 from GitPaean/msw_keywords
adding the summary output for several pressure drop values for MSW
2020-04-17 20:54:49 +02:00
Bård Skaflestad 7550e3a04d Merge pull request #2547 from alfbr/group-tests
Added 9_1A through 9_2A tests.
2020-04-17 18:23:56 +02:00
Atgeirr Flø Rasmussen 92d404de96 Merge pull request #2541 from joakim-hove/group-controls-update
Check availability for group control separately for inj/prod
2020-04-17 16:40:31 +02:00
Kai Bao 954e5e769a addressing comments from OPM/opm-common#1695 2020-04-17 14:34:48 +02:00
Joakim Hove 3189ee3a8a Rename config variable for Python 2020-04-17 14:09:56 +02:00
Alf Birger Rustad b69076a021 Added 9_1A through 9_2A tests. 2020-04-17 13:58:54 +02:00
Joakim Hove 6260bb7851 Update api for checking availability for group control 2020-04-17 13:03:56 +02:00
Joakim Hove 745be42682 Merge pull request #2536 from joakim-hove/add-pyaction-test
Add PYACTION / UDQ testcase
2020-04-17 11:40:27 +02:00
Joakim Hove e04e77fa30 Add PYACTION / UDQ testcase 2020-04-17 11:39:43 +02:00
Joakim Hove bd27513548 Merge pull request #2544 from joakim-hove/missing-keywords
Add keywords to the list of missing features
2020-04-17 11:37:25 +02:00
Joakim Hove 11d65f41d2 Add keywords to the list of missing features 2020-04-17 08:56:10 +02:00
Kai Bao 251c09a288 adding the several pressure drop values to WellState for MSW
segpress_ and segrates_ are renamed to help the name style.
2020-04-17 00:38:38 +02:00
Joakim Hove c39c6b05eb Merge pull request #2538 from atgeirr/support-schedule-exit
Stop simulating if the schedule has set an exit condition.
2020-04-16 17:33:41 +02:00
Atgeirr Flø Rasmussen a1091bd718 Stop simulating if the schedule has set an exit condition.
The program will return the value set in the EXIT keyword.
2020-04-16 15:42:17 +02:00
Atgeirr Flø Rasmussen 88525f7c39 Merge pull request #2516 from hakonhagland/refactor_flow_run
Refactor main() in flow.cpp.
2020-04-16 13:28:03 +02:00
Håkon Hægland 8f1c12b2eb Merge pull request #2 from atgeirr/afr-mods
Make Main a non-template class again, simplify.
2020-04-16 11:53:53 +02:00
Atgeirr Flø Rasmussen 07d9ec135b Make Main a non-template class again, simplify. 2020-04-16 11:35:01 +02:00
Joakim Hove 61053fb30b Merge pull request #2537 from joakim-hove/add-actionx-test
Add test based on ACTIONX
2020-04-16 11:29:28 +02:00
Atgeirr Flø Rasmussen b7902ebfda Merge pull request #2539 from blattms/remove-stale-cpr-files
Removes stale CPR headers that have been superseeded.
2020-04-16 08:51:24 +02:00
Håkon Hægland 1932e42cbb Fixed minor typo. 2020-04-16 01:22:07 +02:00
Håkon Hægland 954d32c3ab Refactor main_() into initialize_() and dispatch_().
For the Python interface's usage (as opposed to the usage by e.g.
flow.cpp), we do not neccessarily want to run the whole simulation by
calling run(), it is also useful to just run one report step at a time.
According to these different usage scenarios, main_() is refactored into
initialize_() and dispatch_() as a preparatory step for implementing the
Python interface (to be presented in a later PR).
2020-04-16 00:21:10 +02:00
Håkon Hægland 3f97561380 Fixup Deck, EclipseState, Schedule, ....
Fixup usage of Deck, EclipseState, Schedule, and SummaryConfig to take
into account the class variables deck_, eclipseState_, schedule_, and
summaryConfig_. These variables might initially be empty (nullptr) when
the object is constructed by calling Main(argc, argv) from flow.cpp,
flow_blackoil_dunecpr.cpp, flow_onephase.cpp, or
flow_onephase_energy.cpp. However, when Opm::Main is constructed from the
Python interface code (to be implemented in a later PR) by using the
constructor Main(argc, argv, deck, eclispeState, schedule, summaryConfig)
the variables will not be intially empty.
2020-04-15 23:49:44 +02:00
Markus Blatt 057a0ceeeb Removes stale CPR headers that have been superseeded.
No need to drag them along and confuse people.
2020-04-15 21:38:28 +02:00
Markus Blatt 83d30547f6 Merge pull request #2517 from blattms/refactor-policy-settings
Refactor policy settings (Needed by OPM/opm-common#1675)
2020-04-15 21:02:29 +02:00
Håkon Hægland 09230808e0 Adapting Main.hpp to the Python interface.
Adapting Main.hpp to be called from Python interface, Part 1.
Building on PR #2521 and PR #2535, we gradually adapt Main.hpp for
being called from the Python interface (to be committed in a later PR)
to the flow executable. This PR introduces a new constructor for class
Opm::Main that takes a Deck, EclipseState, Schedule, and SummaryConfig
as arguments. It also introduces some new class variables that will be
useful when the main_() method is split up (in a later commit).
2020-04-15 20:45:20 +02:00
Atgeirr Flø Rasmussen 2159a83b49 Merge pull request #2524 from hakonhagland/flow_tag2
Refactor away flow_tag.hpp
2020-04-15 17:16:05 +02:00
Håkon Hægland ba625b0cb6 Refactor away flow_tag.hpp.
Refactors away flow_tag.hpp by having flow_blackoil_dunecpr.cpp,
flow_onephase.cpp, and flow_onephase_energy.cpp use the updated Main.hpp
from a previous pull request. This will eliminate the previous code
duplication in Main.hpp and flow_tag.hpp discussed in PR #2521.
2020-04-15 15:05:56 +02:00
Markus Blatt 695e6c9449 Only warn abou CUDA version if CUDA was actually found. 2020-04-15 14:21:36 +02:00
Atgeirr Flø Rasmussen 7e1f8ecb8a Merge pull request #2527 from bska/refactor-equilibration
Refactor Equilibration Procedure
2020-04-15 13:30:38 +02:00
Atgeirr Flø Rasmussen 302474ade6 Merge pull request #2535 from hakonhagland/flow_tag_new_try
Merge flow_tag.hpp into Main.hpp (new try)
2020-04-15 13:29:59 +02:00
Joakim Hove e64c251a8c Add test based on ACTIONX 2020-04-15 09:42:31 +02:00
Bård Skaflestad fd2d8536eb Refactor Phase Saturation Derivation Procedure
This commit introduces a new helper class,

    Opm::EQUIL::Details::PhaseSaturations<>

that subsumes the responsibility of the existing helper function

    Opm::EQUIL::phaseSaturations<>()

and generalises that functionality to arbitrary depth points within
single cells.  This is in preparation of adding support for the N<0
case of the initial fluid in place procedure defined in the EQUIL
keyword.  The class consumes an already equlibrated pressure table
for the pertinent equilibration region, calculates capillary
pressure values and inverts Pc curves to derive saturation values.
If the capillary pressure curves are constant within a cell, then a
simple depth consideration with respect to the implied sharp phase
interface is used to derive saturation values.  We also preserve
existing support for SWATINIT-type initialisation of the water
saturation field.

Switch InitialStateComputer<>::calcPressSatRsRv() over to using the
pressure and saturation helper classes instead of the original
helper functions since this provides additional control.  Also
remove those helper functions to reduce risk of confusion over which
method to use.  Update the unit tests accordingly.
2020-04-14 23:01:02 +02:00