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
e4f3516fd3
Correcting the equil test.
2018-01-02 14:28:06 +01:00
osae
5be2c46aa8
Included inititalisation of surface volumes.
2018-01-02 14:28:06 +01:00
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