Commit Graph
743 Commits
Author SHA1 Message Date
osae 9d9f5f003b Make use of EclipseState for EQLNUM and SWATINIT. 2018-01-02 14:28:06 +01:00
osae beffa1424c Adjustments for vanishing oil phase. 2018-01-02 14:28:06 +01:00
osae 05b7347b1a SWATINIT: Initialisation and capillary pressure scaling. 2018-01-02 14:28:06 +01:00
Andreas Lauser 9731539f6a Glue in support for the grid property modifier keywords
this basically means using Opm::EclipseState instead of the raw deck
for these keywords.

with this, property modifiers like ADD, MULT, COPY and friends are
supported for at least the PERM* keywords. If additional keywords are
required these can be added relatively easily as well.

no ctest regressions have been observed with this patch on my machine.
2018-01-02 14:28:06 +01:00
Andreas Lauser dcd79e787e fix the equilibration test by using new values
thanks to @bska for the hints.
2018-01-02 14:28:06 +01:00
Andreas Lauser 0fc8fee4cc add missing PVTW keywords to the decks used by the equil test
the test still fails, but the errors seem to be due to differences in
the saturation functions...
2018-01-02 14:28:06 +01:00
Andreas Lauser 8c8ed13c16 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 beed4544de 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
Andreas Lauser b5266db401 rename all "newParserDeck" objects to "deck"
The "new" parser is now "the" parser...
2018-01-02 14:28:06 +01:00
Andreas Lauser 55927d68cf remove EclipseGridParser compatibility methods from all classes 2018-01-02 14:28:06 +01:00
osae 8ec7f178de Initialisation of EGLNUM (analogous to e.g SATNUM) 2018-01-02 14:28:06 +01:00
osae 46cec82e0e Inserted some documentation. 2018-01-02 14:28:06 +01:00
osae b28c7ed35e Fix to make EQLNUM consistent with ACTNUM.
This should eventually be integrated in the parser.
2018-01-02 14:28:06 +01:00
Andreas Lauser 0467bf8b8f adapt to the renames of the table classes in opm-parser
basically, "Opm::SimpleTable" becomes "Opm::SingleRecordTable".
2018-01-02 14:28:06 +01:00
Andreas Lauser 7cf70894b0 convert the examples and the tests to opm-parser 2018-01-02 14:28:06 +01:00
Atgeirr Flø Rasmussen e8f0592599 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.
2018-01-02 14:28:06 +01:00
Atgeirr Flø Rasmussen 7120bdf1ce Add (all-zero) initialisation of new EquilRecord fields. 2018-01-02 14:28:06 +01:00
Atgeirr Flø Rasmussen ec3befafae Avoid signed/unsigned warning. 2018-01-02 14:28:06 +01:00
Atgeirr Flø Rasmussen 7a60e97199 Comment out unused function argument. 2018-01-02 14:28:06 +01:00
osae 977c2e7106 Some additional tests: live gas, RSVD and RVVD 2018-01-02 14:28:06 +01:00
osae 43839c7923 Equil regions now internally indexed 0..(NTEQUL-1) 2018-01-02 14:28:06 +01:00
osae ce05475010 Update tests and provide some eclipse output. 2018-01-02 14:28:06 +01:00
osae 27579736dd New parser included. 2018-01-02 14:28:06 +01:00
osae b79455fea6 Default equil region should be one not zero ...
Otherwise problems when kw EQLNUM is used.
2018-01-02 14:28:06 +01:00
osae c5b07d9623 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.
2018-01-02 14:28:06 +01:00
Atgeirr Flø Rasmussen b8d48a5fc8 Bugfix in RsSatAtContact: use min(), not max().
Also modified test to match output.
2018-01-02 14:28:06 +01:00
Atgeirr Flø Rasmussen 1923de2694 Fix bug in RS initialisation.
Also throw if default init is specified and datum != goc depth.
2018-01-02 14:28:06 +01:00
Atgeirr Flø Rasmussen 0bfa30de7b Added simple program example for initialisation. 2018-01-02 14:28:06 +01:00
Atgeirr Flø Rasmussen 6e607115fd Remove debugging output. 2018-01-02 14:28:06 +01:00
Atgeirr Flø Rasmussen 8728e43722 Add computeRs() function and use from InitialStateComputer. 2018-01-02 14:28:06 +01:00
Atgeirr Flø Rasmussen d2741a76be 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.
2018-01-02 14:28:06 +01:00
Atgeirr Flø Rasmussen 128829e7c8 Added Rv field to InitialStateComputer.
It is currently not computed, as for Rs.
2018-01-02 14:28:06 +01:00
Atgeirr Flø Rasmussen b53944f30a Moved implementation of phaseSaturations() to _impl file. 2018-01-02 14:28:06 +01:00
Atgeirr Flø Rasmussen 6144730b47 Refactor copying of region to global data. 2018-01-02 14:28:06 +01:00
Atgeirr Flø Rasmussen 5ee2c0cbc9 Rename PhasePressureSaturationComputer -> InitialStateComputer.
Also add (unused so far) rs_ field to class.
2018-01-02 14:28:06 +01:00
Atgeirr Flø Rasmussen a0d3bf6dd7 Added size() method to CellRange inner class. 2018-01-02 14:28:06 +01:00
Atgeirr Flø Rasmussen 9c047f4533 Add test for live oil initialisation.
The test is not finished or verified yet.
2018-01-02 14:28:06 +01:00
Atgeirr Flø Rasmussen 843517e517 Enable live oil in initialisation. 2018-01-02 14:28:06 +01:00
Atgeirr Flø Rasmussen b6315cabd6 Removed redundant calcPressII() method.
Pressure is also calculated in the calcPressSat() method.
2018-01-02 14:28:06 +01:00
Atgeirr Flø Rasmussen 0d25ad9ec4 Made phase mixing functors a class hierarchy.
In summary:
 - added RsFunction (base class),
 - made NoMixing, RsVD, RsSatAtContact inherit RsFunction,
 - RS and RV are no longer template arguments for EquilReg class,
 - EquilReg constructor now takes two shared_ptr<Miscibility::RsFunction>,
 - use of constructor updated, mostly using make_shared.
2018-01-02 14:28:06 +01:00
Atgeirr Flø Rasmussen 865469129f Made NoMixing a class.
For uniformity with its sibling classes.
2018-01-02 14:28:06 +01:00
Atgeirr Flø Rasmussen 37635c9b58 Prune includes. 2018-01-02 14:28:06 +01:00
Atgeirr Flø Rasmussen 7035e37737 Moved equilibration utilities to separate file. 2018-01-02 14:28:06 +01:00
Atgeirr Flø Rasmussen 50a7bae23e Capitalize nested namespace names.
equil -> Equil
miscibility -> Miscibility
2018-01-02 14:28:06 +01:00
Atgeirr Flø Rasmussen 07ca74800a Move RegionMapping class to its own header, add test.
Class now resides in opm/core/utility/RegionMapping.hpp.
2018-01-02 14:28:06 +01:00
Atgeirr Flø Rasmussen 6c75579c67 Added class RsSatAtContact (not tested). 2018-01-02 14:28:06 +01:00
Atgeirr Flø Rasmussen 652283d87d Add test case with overlapping transitions.
Capillary pressure functions and contact depths
have been modified to ensure a large overlap.
2018-01-02 14:28:06 +01:00
Atgeirr Flø Rasmussen 734046e16e Fix bug in saturation initialisation.
We shall only use gas-water capillary to initialise when we would get
unphysical saturations otherwise.
2018-01-02 14:28:06 +01:00
Atgeirr Flø Rasmussen e51b161c89 Add test case with capillary transition region. 2018-01-02 14:28:06 +01:00
Atgeirr Flø Rasmussen 9712b61747 Add saturation computation to and rename computer class.
Opm::equil::DeckDependent::PhasePressureComputer ->
Opm::equil::DeckDependent::PhasePressureSaturationComputer
2018-01-02 14:28:06 +01:00