Commit Graph

101 Commits

Author SHA1 Message Date
Atgeirr Flø Rasmussen
7ba7cf30b0 Bugfix: type for target capillary pressure. 2018-01-02 14:28:06 +01:00
Tor Harald Sandve
5a9827f7fe Do not extrapolate initial rs and rv values in the depth tables 2018-01-02 14:28:06 +01:00
Tor Harald Sandve
30030eaac7 Do not set rs=rsSat and rv=rvSat for the saturated case 2018-01-02 14:28:06 +01:00
Atgeirr Flø Rasmussen
bb4b03d295 Increase max iterations for capillary curve inversion.
Triggered by a new two-phase case.
2018-01-02 14:28:06 +01:00
Tor Harald Sandve
a4a0e5985c Make it optinal to apply SWATINIT
The reasoning behind this to make it possible to initialize the case
without SWATINIT in order to compute the same defaulted THPRES values as
Ecl. The initialization needs to be re-computed to account for SWATINIT
in the simulations.
2018-01-02 14:28:06 +01:00
Jørgen Kvalsvik
2c30f9e534 Update to shared_ptr-less parser interface. 2018-01-02 14:28:06 +01:00
Andreas Lauser
ec0ac4869c consolidate the unit system to opm-parser
since the unit code within opm-parser is now a drop-in replacement,
this simplifies things and make them less error-prone.

unfortunately, this requires quite a few PRs. (most are pretty
trivial, though.)
2018-01-02 14:28:06 +01:00
Andreas Lauser
5b40f3e643 set the Rv and Rs factors to the saturated values for cells which have no gas and no oil
the purpose of this is to get a more defined behaviour when doing the
gravity correction/upstream cell determination in the flux term.

I consider this to be just a kludge, so if anyone has a better idea of
what the composition for the non-existing gas and oil phases is,
please tell me. (note that generic compositional models do not exhibit
this issue because the composition of all fluids is always fully
defined because each component is assumed to dissolve in every phase.)
2018-01-02 14:28:06 +01:00
Pål Grønås Drange
877bd70c54 transmult and initconfig are ref's, use ref for EclipseState constructor 2018-01-02 14:28:06 +01:00
Tor Harald Sandve
57548be345 Fix two phase EQUIL initialization 2018-01-02 14:28:06 +01:00
Liu Ming
a9ae704a35 it should be the same number in EQLNUM. 2018-01-02 14:28:06 +01:00
Liu Ming
d3ea24f653 use correct region number. 2018-01-02 14:28:06 +01:00
Liu Ming
f089b00a30 Rise up a warning if equil region has no active cells. 2018-01-02 14:28:06 +01:00
Markus Blatt
c32ff2b404 Prevent dereferencing the end iterator.
This happened for empty regions and surfaced when compiling
with "-D_GLIBCXX_DEBUG  -DDEBUG -DGLIBCXX_FORCE_NEW".
2018-01-02 14:28:06 +01:00
Pål Grønås Drange
e6a4cda9a8 Using API get3DProperties() 2018-01-02 14:28:06 +01:00
Pål Grønås Drange
de0aeac570 Updated opm-core to use new EclipseState API in opm-parser 2018-01-02 14:28:06 +01:00
Jørgen Kvalsvik
32c5b5e862 Remove Equil + EquilWrapper, replace with upstream
Upstream (opm-parser) now provides a better Equil + EquilRecord, and
simultaneously deprecated EquilWrapper. This patch fixes the resulting
breakage.

One important note: The new Equil does not expose integers for live
oil/wet gas initialization procedure methods, but rather booleans
through constRs/constRv methods. This is how the variable behaves
according to the Eclipse reference manual (EQUIL keyword section).

Code has been updated to reflect this.
2018-01-02 14:28:06 +01:00
Jørgen Kvalsvik
04a368cfc6 Add missing opm-parser headers
opm-parser pull #695
https://github.com/OPM/opm-parser/pull/695
2018-01-02 14:28:06 +01:00
Jørgen Kvalsvik
da411e49a5 Fixes includes wrt opm-parser PR-656
Several files stopped compiling due to relying on opm-parser headers
doing includes. From opm-parser PR-656
https://github.com/OPM/opm-parser/pull/656 this assumption is no longer
valid.
2018-01-02 14:28:06 +01:00
Joakim Hove
0cf00f240b Changed to use new table api from opm-parser. 2018-01-02 14:28:06 +01:00
Tor Harald Sandve
d77e33b5dc Use cell depths based on averaging cell corners 2018-01-02 14:28:06 +01:00
Tor Harald Sandve
ca902168ed Change the number of integration points in the initialization
The number is changed from 100->2000 to increase accuracy.
2018-01-02 14:28:06 +01:00
Arne Morten Kvarving
e11257d8ce fix Equilibration test by adding some fuzz
Backports parts of a7b1e69a45c14ec88a82b92ee704424f1ea1b41c
2018-01-02 14:28:06 +01:00
Joakim Hove
f7da1ca81c Fxied bug in table-container use. 2018-01-02 14:28:06 +01:00
Joakim Hove
4e620e7eb6 Changed Table code to use TableContainer 2018-01-02 14:28:06 +01:00
osae
cb9d8709f9 Support for equil-initialisation for datum depth outside oil zone. 2018-01-02 14:28:06 +01:00
Bård Skaflestad
b337714d4d RegionMapping<>: Support arbitrary region IDs
This commit introduces a new public method, activeRegions(), that
retrieves those region IDs that contain at least one active cell.
We furthermore extend the cells() method to support lookup of
arbitrary region IDs.  Non-active region IDs produce empty cell
ranges.

Intended use case is

    for (const auto& reg : rmap.activeRegions()) {
        const auto& c = rmap.cells(reg);

        // use c
    }
2018-01-02 14:28:06 +01:00
Bård Skaflestad
b08f89e68a convertSats(): Transpose loop nest for locality of data 2018-01-02 14:28:06 +01:00
Bård Skaflestad
2cbf99fcde Mark non-template functions in headers as 'inline' 2018-01-02 14:28:06 +01:00
babrodtk
f1e102a54e Fixed several warnings 2018-01-02 14:28:06 +01:00
Andreas Lauser
973e89d4a4 InitStateEquil: fix valgrind complaint about uninitialized values
it seems that it was pure luck that this worked so far!
2018-01-02 14:28:06 +01:00
Joakim Hove
fd3a0ad136 Using TableManager to get tables. 2018-01-02 14:28:06 +01:00
Atgeirr Flø Rasmussen
fedc92d1b4 Fix unneeded-internal-declaration warning.
Again related to anonymous namespace function only being used
in template functions.
2018-01-02 14:28:06 +01:00
Markus Blatt
a8ac4f053d Put spaces around operators. 2018-01-02 14:28:06 +01:00
Markus Blatt
b4b9557b85 Rely on auto instead of querying the explicit type
via e.g. typename UgGridHelpers::Face2VerticesTraits<Grid>::Type
2018-01-02 14:28:06 +01:00
Markus Blatt
b942633b3c Ported initStateEquil to using the GridHelpers.
Currently the keyword EQUIL is not supported by the fully
implicit blackoil simulator when using CpGrid. This
commit is a first step towards this as it makes the
implementation of initStateEquil generic.
2018-01-02 14:28:06 +01:00
Atgeirr Flø Rasmussen
2770843d6f Silence unused argument warning. 2018-01-02 14:28:06 +01:00
Andreas Lauser
baee24ecde PVT properties: allow them to be temperature dependent
Note that this patch does not introduce any real temperature
dependence but only changes the APIs for the viscosity and for the
density related methods. Note that I also don't like the fact that
this requires so many changes to so many files, but with the current
design of the property classes I cannot see a way to avoid this...
2018-01-02 14:28:06 +01:00
Robert K
ab75ba3ee5 remove unused typedef to avoid compiler warning and keep code clean. 2018-01-02 14:28:06 +01:00
Andreas Lauser
87adfef018 adapt the the table related API changes of opm-parser 2018-01-02 14:28:06 +01:00
Tor Harald Sandve
18dd2c6e39 Include goc and woc in the span for the phase pressure calculation 2018-01-02 14:28:06 +01:00
Tor Harald Sandve
02f6d8f8eb Remove fix for GOC and WOC above/below reservoir 2018-01-02 14:28:06 +01:00
Tor Harald Sandve
efffb8c385 Fix sign error in the specified oil pressures at at WOC and GOC
The oil pressure at the contact for the special cases:

contact	location	po(contact)
GOC 	above 	-inf
GOC 	below 	+inf
WOC 	above 	-inf
WOC 	below 	+inf
2018-01-02 14:28:06 +01:00
Tor Harald Sandve
11ac3d1ccd Currectly handling GOC below and WOC above the reservoir The phase pressure of water and gas is set to inf when WOC and GOC is above and below the reservoir. This make sure the minimum saturation values are picked for these cases. 2018-01-02 14:28:06 +01:00
Tor Harald Sandve
a6b85d28a4 Fixes issues pointed out in the PR comments 2018-01-02 14:28:06 +01:00
Tor Harald Sandve
151f967f4d The water/gas pressures are only calculated if woc and goc lies within
the reservoar
The water/gas pressure is set to -inf when woc and goc is above or below
the reservoar.
2018-01-02 14:28:06 +01:00
Tor Harald Sandve
3c7d481c8c BUGFIX
Wrong placement of parentes
2018-01-02 14:28:06 +01:00
Tor Harald Sandve
eb25a7bf5e Implements initialization for constant capillary pressure functions 2018-01-02 14:28:06 +01:00
Tor Harald Sandve
fe19d25bd6 Computes saturations based on depths
For constant capillar pressure function the saturation is
    determined by cell depths:

    Sg_max, Sw_min
    ----- goc ----
    Sg_min, Sw_min
    ----- woc ----
    Sg_min, Sw_max
2018-01-02 14:28:06 +01:00
osae
5be2c46aa8 Included inititalisation of surface volumes. 2018-01-02 14:28:06 +01:00