Commit Graph

67 Commits

Author SHA1 Message Date
Tor Harald Sandve
edd857ec3e 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.
2017-01-02 15:10:09 +01:00
Jørgen Kvalsvik
a52724ae97 Update to shared_ptr-less parser interface. 2016-10-20 10:14:41 +02:00
Andreas Lauser
fabdfbafcb 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.)
2016-10-10 17:50:26 +02:00
Andreas Lauser
7d1b59d697 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.)
2016-09-28 16:38:40 +02:00
Pål Grønås Drange
7ff2328f3f transmult and initconfig are ref's, use ref for EclipseState constructor 2016-08-08 10:02:53 +02:00
Liu Ming
1231594600 it should be the same number in EQLNUM. 2016-06-15 16:53:51 +08:00
Liu Ming
a9c2128daa use correct region number. 2016-06-15 16:52:32 +08:00
Liu Ming
a920b43e21 Rise up a warning if equil region has no active cells. 2016-06-15 15:40:38 +08:00
Markus Blatt
9f99484347 Prevent dereferencing the end iterator.
This happened for empty regions and surfaced when compiling
with "-D_GLIBCXX_DEBUG  -DDEBUG -DGLIBCXX_FORCE_NEW".
2016-05-06 21:40:33 +02:00
Pål Grønås Drange
f1a31ca5e4 Using API get3DProperties() 2016-04-11 15:13:38 +02:00
Pål Grønås Drange
8ce248bc63 Updated opm-core to use new EclipseState API in opm-parser 2016-04-08 16:30:01 +02:00
Jørgen Kvalsvik
dd77a39d95 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.
2016-03-01 09:59:54 +01:00
Jørgen Kvalsvik
33f8446a4e Add missing opm-parser headers
opm-parser pull #695
https://github.com/OPM/opm-parser/pull/695
2016-02-26 11:49:40 +01:00
Jørgen Kvalsvik
50c1bbdc85 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.
2016-01-21 09:42:51 +01:00
Joakim Hove
718ec8e791 Changed to use new table api from opm-parser. 2016-01-08 14:47:09 +01:00
Joakim Hove
d54899ba07 Fxied bug in table-container use. 2015-10-05 15:59:08 +02:00
Joakim Hove
2dc7d1cef7 Changed Table code to use TableContainer 2015-10-05 09:59:29 +02:00
Bård Skaflestad
99368d73d2 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
    }
2015-09-15 15:33:22 +02:00
babrodtk
2d252964ed Fixed several warnings 2015-09-03 15:17:10 +02:00
Joakim Hove
08a77e36d0 Using TableManager to get tables. 2015-09-01 12:58:09 +02:00
Markus Blatt
5b8442d985 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.
2015-02-20 09:39:50 +01:00
Andreas Lauser
64107ecc1b 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...
2014-12-01 20:06:31 +01:00
Robert K
da6b4109ba remove unused typedef to avoid compiler warning and keep code clean. 2014-10-24 12:51:57 +02:00
Andreas Lauser
36e3538b04 adapt the the table related API changes of opm-parser 2014-09-19 14:40:35 +02:00
Tor Harald Sandve
91bdb7dde2 Implements initialization for constant capillary pressure functions 2014-08-11 11:23:15 +02:00
osae
c1732b0b32 Make use of EclipseState for EQLNUM and SWATINIT. 2014-06-26 14:46:57 +02:00
osae
a9138ef574 SWATINIT: Initialisation and capillary pressure scaling. 2014-06-25 18:03:17 +02:00
Andreas Lauser
749d0e838d 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.
2014-06-04 11:11:35 +02:00
Andreas Lauser
9a7b068d15 Implement multi-region PVT for all property classes
since they are not using a single PVT table anymore, their "Single"
prefix has been removed...
2014-06-04 11:11:35 +02:00
Andreas Lauser
6a50afb219 rename all "newParserDeck" objects to "deck"
The "new" parser is now "the" parser...
2014-05-21 11:22:43 +02:00
Andreas Lauser
f360562aee remove EclipseGridParser compatibility methods from all classes 2014-05-21 11:22:43 +02:00
osae
d648917fcf Initialisation of EGLNUM (analogous to e.g SATNUM) 2014-05-06 12:47:24 +02:00
osae
bd38a577ae Fix to make EQLNUM consistent with ACTNUM.
This should eventually be integrated in the parser.
2014-05-05 11:23:43 +02:00
Andreas Lauser
0cdc32d213 adapt to the renames of the table classes in opm-parser
basically, "Opm::SimpleTable" becomes "Opm::SingleRecordTable".
2014-04-28 18:47:28 +02:00
Atgeirr Flø Rasmussen
ba26696d22 Fix access to keywords, while still silencing warning.
Previous fix was wrong because it called getKeyword() outside the
hasKeyword() check. Current version (like original code) uses the
short-circuiting behaviour of && to ensure this.
2014-04-15 14:52:21 +02:00
Atgeirr Flø Rasmussen
cd0d48abbd Avoid signed/unsigned warning. 2014-04-15 13:40:50 +02:00
osae
3de80989a2 Equil regions now internally indexed 0..(NTEQUL-1) 2014-03-31 16:16:45 +02:00
osae
b86fa0af86 New parser included. 2014-03-28 17:35:43 +01:00
osae
b485d03711 Default equil region should be one not zero ...
Otherwise problems when kw EQLNUM is used.
2014-03-28 17:18:50 +01:00
osae
e1d2fa2088 Some adjustments to equil initialisation.
- Saturations, phase pressures, and standard initialsation of RS and RV
   now agree to baseline.
 - Tables of RS and RV versus vertical depth (kw RSVD RVVD) have been
   hardcoded for testing (need new parser) and the calculations agree to
   baseline in the gas and oil zones.  In the water zone there is some
   differences: Our code computes saturated RS and RV using the final
   phase pressures (these are modified to be consistent with saturations
   and capillary pressures) while the baseline uses unmodified phase pressures.
2014-03-26 14:53:47 +01:00
Atgeirr Flø Rasmussen
1c9675605c Fix bug in RS initialisation.
Also throw if default init is specified and datum != goc depth.
2014-02-27 14:48:14 +01:00
Atgeirr Flø Rasmussen
1b3cac2433 Remove debugging output. 2014-02-27 13:27:07 +01:00
Atgeirr Flø Rasmussen
af9c1fc4cc Add computeRs() function and use from InitialStateComputer. 2014-02-27 13:14:48 +01:00
Atgeirr Flø Rasmussen
f84162bc39 Add initStateEquil() function.
It is not quite complete yet for the following reasons:
  - it does not compute state.surfacevol(),
  - the InitialStateComputer class does not compute Rs or Rv,
  - it has not been verified.
2014-02-27 10:40:14 +01:00
Atgeirr Flø Rasmussen
4aaeff0078 Added Rv field to InitialStateComputer.
It is currently not computed, as for Rs.
2014-02-27 10:39:18 +01:00
Atgeirr Flø Rasmussen
0fbc3a1ccb Moved implementation of phaseSaturations() to _impl file. 2014-02-27 09:37:48 +01:00
Atgeirr Flø Rasmussen
a1192c09dc Refactor copying of region to global data. 2014-02-27 09:31:48 +01:00
Atgeirr Flø Rasmussen
a7c45d4e9f Rename PhasePressureSaturationComputer -> InitialStateComputer.
Also add (unused so far) rs_ field to class.
2014-02-27 09:08:39 +01:00
Atgeirr Flø Rasmussen
27743b4a13 Enable live oil in initialisation. 2014-02-27 08:31:03 +01:00
Atgeirr Flø Rasmussen
d5ffcc051c Removed redundant calcPressII() method.
Pressure is also calculated in the calcPressSat() method.
2014-02-26 14:49:06 +01:00