Commit Graph

482 Commits

Author SHA1 Message Date
Jørgen Kvalsvik
3c6fc0288a Update to shared_ptr-less parser interface. 2018-01-02 14:28:06 +01:00
Andreas Lauser
6f36076516 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
0d9629a282 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
ec2dc7773c transmult and initconfig are ref's, use ref for EclipseState constructor 2018-01-02 14:28:06 +01:00
Tor Harald Sandve
4220bb2615 Fix two phase EQUIL initialization 2018-01-02 14:28:06 +01:00
Liu Ming
ff7cc37589 it should be the same number in EQLNUM. 2018-01-02 14:28:06 +01:00
Liu Ming
e476fe8ba5 use correct region number. 2018-01-02 14:28:06 +01:00
Liu Ming
10f5bd7e7c Rise up a warning if equil region has no active cells. 2018-01-02 14:28:06 +01:00
Markus Blatt
f15a78ac9e 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
74430caae2 Using API get3DProperties() 2018-01-02 14:28:06 +01:00
Pål Grønås Drange
4926198e41 Updated opm-core to use new EclipseState API in opm-parser 2018-01-02 14:28:06 +01:00
Jørgen Kvalsvik
8b30078339 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
0b797bd972 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
916a0868cb 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
dbc496bd15 Changed to use new table api from opm-parser. 2018-01-02 14:28:06 +01:00
Tor Harald Sandve
f528dae86f Use cell depths based on averaging cell corners 2018-01-02 14:28:06 +01:00
Tor Harald Sandve
cfb7be332c 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
f65663ffd7 fix Equilibration test by adding some fuzz
Backports parts of a7b1e69a45c14ec88a82b92ee704424f1ea1b41c
2018-01-02 14:28:06 +01:00
Joakim Hove
20fb005c24 Fxied bug in table-container use. 2018-01-02 14:28:06 +01:00
Joakim Hove
465eb704fa Changed Table code to use TableContainer 2018-01-02 14:28:06 +01:00
osae
69fdacb37a Support for equil-initialisation for datum depth outside oil zone. 2018-01-02 14:28:06 +01:00
Bård Skaflestad
65a63b95a3 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
e174e32c44 convertSats(): Transpose loop nest for locality of data 2018-01-02 14:28:06 +01:00
Bård Skaflestad
d7e098bccd Mark non-template functions in headers as 'inline' 2018-01-02 14:28:06 +01:00
babrodtk
e999a7fb30 Fixed several warnings 2018-01-02 14:28:06 +01:00
Andreas Lauser
89361792e2 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
dd42660a00 Using TableManager to get tables. 2018-01-02 14:28:06 +01:00
Atgeirr Flø Rasmussen
bc4116fd39 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
7f19fc0759 Put spaces around operators. 2018-01-02 14:28:06 +01:00
Markus Blatt
97d0155c36 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
dec7a93918 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
733061c943 Silence unused argument warning. 2018-01-02 14:28:06 +01:00
Andreas Lauser
18c641e0c7 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
b6e5dcd706 remove unused typedef to avoid compiler warning and keep code clean. 2018-01-02 14:28:06 +01:00
Andreas Lauser
5518843275 adapt the the table related API changes of opm-parser 2018-01-02 14:28:06 +01:00
Tor Harald Sandve
ebaaa2c51c Include goc and woc in the span for the phase pressure calculation 2018-01-02 14:28:06 +01:00
Tor Harald Sandve
4923b9968e Remove fix for GOC and WOC above/below reservoir 2018-01-02 14:28:06 +01:00
Tor Harald Sandve
a03a4e112f 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
b389f40849 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
ba54cd84c2 Fixes issues pointed out in the PR comments 2018-01-02 14:28:06 +01:00
Tor Harald Sandve
b1d20aa83d 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
480f5337b6 BUGFIX
Wrong placement of parentes
2018-01-02 14:28:06 +01:00
Tor Harald Sandve
70dc519539 Implements initialization for constant capillary pressure functions 2018-01-02 14:28:06 +01:00
Tor Harald Sandve
c61fb736fa 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
834669dff4 Included inititalisation of surface volumes. 2018-01-02 14:28:06 +01:00
osae
c4b5a7e302 Make use of EclipseState for EQLNUM and SWATINIT. 2018-01-02 14:28:06 +01:00
osae
f06659cd71 Adjustments for vanishing oil phase. 2018-01-02 14:28:06 +01:00
osae
10f5b07915 SWATINIT: Initialisation and capillary pressure scaling. 2018-01-02 14:28:06 +01:00
Andreas Lauser
897f64c21a incorperate the review comments/decisions for multi-region PVT
the largest change is that all classes below opm/core/props/pvt take
the PVT region index as an argument, the higher-level ones (i.e.,
BlackoilProps*) take cell indices.
2018-01-02 14:28:06 +01:00
Andreas Lauser
68623918a7 Implement multi-region PVT for all property classes
since they are not using a single PVT table anymore, their "Single"
prefix has been removed...
2018-01-02 14:28:06 +01:00