Commit Graph

1198 Commits

Author SHA1 Message Date
Andreas Lauser
ac14e53129 Merge pull request #50 from andlaus/make_twophase_ecl_satfuncs_work
Make twophase ecl satfuncs work
2015-09-03 14:53:18 +02:00
Andreas Lauser
b314ee4ba7 Merge pull request #54 from andlaus/fix_Evaluation_on_dune-2.3
Evaluation: forward declare Opm::LocalAd::abs() instead of including Math.hpp
2015-09-03 11:34:55 +02:00
Andreas Lauser
8c3db57025 Evaluation: forward declare Opm::LocalAd::abs() instead of including Math.hpp
this solves an "order of #include" problem on Dune before 2.4
2015-09-03 11:20:26 +02:00
Andreas Lauser
03129c01f6 make the ECL twophase code work
this has been tested with a real deck now.
2015-09-03 10:55:46 +02:00
Andreas Lauser
d7b5a1b2e3 EpsScalingInfo: move the code which handles individual tables to their own functions
this avoids copy-and-pasting stuff in the twophase case.
2015-09-03 10:52:32 +02:00
Andreas Lauser
820046191e Merge pull request #53 from andlaus/fix_Evaluation_with_FieldMatrix
make the Evaluation template class work better as field type for Dune::FieldMatrix/Dune::FieldVector
2015-09-02 13:21:59 +02:00
Andreas Lauser
8ef6f7bfc2 make the Evaluation template class work better as field type for Dune::FieldMatrix/Dune::FieldVector
IMO this doges the edges of the c++ specifcation quite a bit too hard,
but at least with Dune >= 2.4 it should now work unconditionally (and
for older dune versions, the #error has been demoted to a #warning)
2015-09-02 13:15:08 +02:00
Andreas Lauser
9b72e928c6 Merge pull request #52 from andlaus/fix_TableManager_fallout
fix the fallout of the TableManager
2015-09-02 12:33:35 +02:00
Andreas Lauser
e08691f90a fix the fallout of the TableManager
the problem is that the EclMaterialLawManager is currently not used in
any opm-material unit test, so the module compiled just fine without
these fixes. Mental note to myself: add such a unit test!
2015-09-02 12:29:45 +02:00
Joakim Hove
a76cb4cfc6 Merge pull request #49 from joakim-hove/table-refactor
Using TableManager class to get input tables.
2015-09-02 11:57:42 +02:00
Andreas Lauser
327c8a306d Merge pull request #51 from andlaus/blackoil_fixes
Blackoil fixes
2015-09-01 16:07:00 +02:00
Andreas Lauser
543c3cb603 fix some bugs in WetGasPvt
so far, this has never been tested on a deck which features vaporized oil.
2015-09-01 16:05:05 +02:00
Andreas Lauser
5edc12bef2 BlackOilFluidSystem: make the order of the phases identical to opm-core
this simplifies comparisons and mixing code.
2015-09-01 16:05:05 +02:00
Andreas Lauser
1eee36c9ab Merge pull request #48 from andlaus/add_twophase_multiplexer
implement a material law for twophase ECL simulations
2015-09-01 12:35:03 +02:00
Andreas Lauser
9bfc26a2d8 implement a material law for twophase ECL simulations
the basic idea is that implements the threephase API, but only
calculates the quantities for the selected fluid phases.
2015-09-01 12:33:43 +02:00
Andreas Lauser
0db938f199 Merge pull request #47 from andlaus/change_EPS_conventions
EclEpsTwoPhaseLaw: clean up the terminology it uses for variable names
2015-09-01 12:32:35 +02:00
Andreas Lauser
ee61bc00e7 EclEpsTwoPhaseLaw: clean up the terminology it uses for variable names
now all variables should contain either "scaled" or "unscaled".
2015-09-01 12:30:04 +02:00
Joakim Hove
8cf963ba3f Using TableManager class to get input tables. 2015-09-01 12:21:11 +02:00
Andreas Lauser
8c612009ac Merge pull request #46 from andlaus/implement_slgof_support
ECL satfuncs: implement support for the SLGOF keyword
2015-08-25 21:55:29 +02:00
Andreas Lauser
a58531c3de fix the satfunc family detection code in ECL scaling points class
thanks to [at]totto82 for finding this.
2015-08-25 11:38:31 +02:00
Andreas Lauser
5e447cb83a ECL satfuncs: implement support for the SLGOF keyword
if my understanding of this keyword is correct, it is identical to
SGOF except that the saturation column is specified in terms of Swco +
So instead of as Sg
2015-08-24 21:51:46 +02:00
Tor Harald Sandve
6c403d457e Merge pull request #45 from andlaus/shift_gas_saturations_again
shift the gas saturations of the oil relperm tables again
2015-08-24 15:30:12 +02:00
Andreas Lauser
c6cafe3a7a shift the gas saturations of the oil relperm tables again
it seems like this was accidentally undone while resolving conflicts in #42.
2015-08-24 13:52:09 +02:00
Andreas Lauser
086b129773 Merge pull request #43 from andlaus/fix_compile
fix compilation in debug mode
2015-08-19 16:07:59 +02:00
Andreas Lauser
6e27d1ab1d fix compilation in debug mode 2015-08-19 16:07:07 +02:00
Andreas Lauser
5490017b3f Merge pull request #42 from totto82/family2
Support for Family II saturation functions input
2015-08-19 13:06:06 +02:00
Andreas Lauser
220fe9cffa Merge pull request #38 from andlaus/SplineLaw_implement_twophase_inversion_api
SplineTwoPhaseMaterial: implement the two-phase inversion functions
2015-08-19 11:02:56 +02:00
Tor Harald Sandve
3c7a087d3d Merge pull request #41 from andlaus/ecl_satfunc_improvements
Ecl satfunc improvements
2015-08-19 10:43:26 +02:00
Tor Harald Sandve
4431ff6d7d Add function to check saturation function family
Adapt to change in the EclipseState i.e. the method
to get the saturation function family is no longer available and a
similar method is implemented in EclMaterialLawManager
2015-08-19 09:29:20 +02:00
Andreas Lauser
ef28c31368 EclHysteresisTwoPhaseLaw: use '<=' instead of '<' to decide whether to use the imbibition or the drainage curve
this does not change the results in any way, but for the Norne deck,
it improves performance (i.e., It Must Be Right (TM))...
2015-08-18 17:35:35 +02:00
Andreas Lauser
57948012a5 PiecewiseLinearTwoPhaseMaterial: remove unnecessary calls to min() and max()
it is nicer to read like this and it may improve performance a tiny
bit.
2015-08-18 17:35:22 +02:00
Andreas Lauser
0edc7b5f70 EclMaterialLawManager: shift the saturations of the oil phase the in gas-oil twophase system by the connate water saturation
for the oil phase relperm, the gas saturation column of the SGOF
keyword actually is Sg - Swco. why? it's ECL! don't ask why!
2015-08-18 17:24:28 +02:00
Tor Harald Sandve
3cffd067e3 PiecewiseLinearTwoPhaseMaterial: make the saturation columns of the quantities independent 2015-08-18 17:24:28 +02:00
Andreas Lauser
3693edb044 Merge pull request #40 from andlaus/revert_family_2_support
Revert "Add support for saturation family 2 keywords"
2015-08-18 17:23:10 +02:00
Andreas Lauser
7e83191892 Revert "Add support for saturation family 2 keywords"
This reverts commit a041e3ccff.

it does not compile with the current opm-parser.
2015-08-18 17:20:29 +02:00
Andreas Lauser
4a7e099246 Merge pull request #37 from totto82/family2
Add support for saturation family II keywords
2015-08-18 17:02:54 +02:00
Tor Harald Sandve
a041e3ccff Add support for saturation family 2 keywords
Saturation functions can no be given using the family 2 keywords SWFN,
SGFN and SOF3.
2015-08-17 07:08:13 +02:00
Andreas Lauser
8e11a8254e Merge pull request #39 from andlaus/change_connate_water_treatment
EclDefaultMaterial: do not add the connate water saturation to Sw_ow
2015-08-14 17:42:50 +02:00
Andreas Lauser
14e4692386 EclDefaultMaterial: do not add the connate water saturation to Sw_ow 2015-08-14 17:40:05 +02:00
Andreas Lauser
8e51155f24 Merge pull request #36 from andlaus/inconsistent_hysteresis_updates
EclDefaultMaterial: use inconsistent saturations for the hysteresis update
2015-08-14 15:32:03 +02:00
Andreas Lauser
fb6eb1279a SplineTwoPhaseMaterial: implement the two-phase inversion functions
these are required for ECL hysteresis.
2015-08-14 14:04:20 +02:00
Andreas Lauser
a8aaa168e2 EclDefaultMaterial: allow the parameters to decide if consistent or inconsistent hysteresis are used 2015-08-14 09:33:28 +02:00
Andreas Lauser
893538c9f3 EclDefaultMaterial: use inconsistent saturations for the hysteresis update
with this, I got slightly better performance than the opm-core master
version if flow is tasked on simulating the full Norne deck. Be aware
that from the physical POV, this is wrong.
2015-08-14 09:26:28 +02:00
Andreas Lauser
83de8aceb1 Merge pull request #35 from andlaus/connate_water_fixes
Connate water fixes
2015-08-14 09:26:10 +02:00
Andreas Lauser
a52c279fc8 Merge pull request #34 from andlaus/fix_two-point_krw_scaling
fix saturation scaling points for two-point krw scaling
2015-08-13 17:39:24 +02:00
Andreas Lauser
0d1c711d8e EclDefaultMaterial: increase the epsilon for division-by-zero-avoidance to 1e-20
also, treat saturations smaller than 0 as 0. this also makes clamping the
kro values to range [0, 1] superfluous.
2015-08-13 17:37:19 +02:00
Andreas Lauser
797012a8ba EclDefaultMaterial: add the connate water saturation to the wetting-phase saturation in the gas-oil system 2015-08-13 17:34:21 +02:00
Andreas Lauser
be4593841f EclDefaultMaterial: Make sure that the water saturation is at least the connate water saturation
I thought this would not make a difference if the tables are
extrapolated by constants, but apparantly it makes a difference for
endpoint scaling.
2015-08-13 17:31:56 +02:00
Andreas Lauser
ca2a4bbb4e fix saturation scaling points for two-point krw scaling
kudos to [at]osae for finding this!
2015-08-12 18:07:05 +02:00
Andreas Lauser
10dc683c75 Merge pull request #33 from andlaus/only_non-wetting_phase_ecl_hysteresis
limit ecl relperm hystersis to the non-wetting phase
2015-08-12 13:21:35 +02:00