Commit Graph

1081 Commits

Author SHA1 Message Date
Andreas Lauser
216dde38b4 Merge pull request #73 from andlaus/fix_EclMaterialLawManager_unit_test
fix the (newly added) unit test for EclMaterialLawManager
2015-10-01 20:39:14 +02:00
Andreas Lauser
e79f363d04 fix the (newly added) unit test for EclMaterialLawManager
the first reason why it failed was that the parameters are now
per-element instead of per-satregions. (this was merged after this was
written.) The second issue was a problem in the deck data: according
to the ECL reference manual (or the technical description, I don't
remember), the maximum relperms for the water and for the gas phase
must be equal, but in the test's decks they were not.
2015-10-01 15:57:01 +02:00
Andreas Lauser
6073558373 Merge pull request #69 from andlaus/various_stuff
various improvements
2015-09-30 12:24:19 +02:00
Andreas Lauser
731d2fccf1 various improvements
- add unit tests for the EclMaterialLawManager and the black-oil PVT classes
- rework the API of the blackoil PVT classes so that it follows the
  initFromDeck() pattern and uses multiplexer classes instead of
  dynamic polymorphism to select the concrete PVT approach
- the former change allowed to use the BlackOil fluid system with
  arbitrary Evaluations, i.e., it is not limited to a single
  Evaluation class which is specified as a class template argument
  anymore.
- more fixes for GCC and clang warnings. now it should be reasonably
  hard to trigger warnings using these compilers.

this commit squashes the following patches:

- add a unit test for the EclMaterialLawManager
- black oil: simplify the WaterPvtInterface
- add a unit test for the PVT classes of the black oil fluid system
- black oil: improvements to the PVT classes
- blackoil PVT: remove dynamic polymorphism
2015-09-29 14:09:19 +02:00
Andreas Lauser
e932fe0ff0 Merge pull request #68 from andlaus/remove_non_element_specific
EclMaterialLawManager: remove the non-element specific initialization
2015-09-28 23:36:13 +02:00
Andreas Lauser
cacf06468f EclMaterialLawManager: remove the non-element specific initialization
This simplifies the satfunc initialization code paths considerably and
avoids troubles with SWATINIT if endpoint scaling and hysteresis is
disabled. on the flipside it now requires more memory in the simple case.

It seems to me that the usual proverb about optimization holds once
more: Say 99.5% of all time: premature optimization is the root of all
evil.
2015-09-28 12:29:20 +02:00
Andreas Lauser
535746e178 Merge pull request #64 from blattms/do-not-store-compressedToCartesian-in-ECLMaterialLawManager
Do not store compressed to cartesian in ecl material law manager
2015-09-23 18:55:33 +02:00
Markus Blatt
1292fbdb43 Prevent missing return statement warning. 2015-09-23 17:11:58 +02:00
Markus Blatt
418c4a5c57 Prevent yet another signed-unsigned warning. 2015-09-23 17:11:08 +02:00
Markus Blatt
d0751b7ff4 Do not store compressedToCartesianIndex mapping
It is only needed during initialization and not afterwards.
Therefore we can save some space here.
2015-09-23 17:09:39 +02:00
Tor Harald Sandve
0526614fef Merge pull request #44 from andlaus/implement_twophase_ecl_satfuncs
various improvements to the ECL satfuncs
2015-09-23 14:50:57 +02:00
Andreas Lauser
b1f9d86974 make it work with single precision scalars 2015-09-23 12:53:13 +02:00
Andreas Lauser
17b7b3b7f3 EclDefaultMaterial: improve the division-by-zero avoidance logic 2015-09-23 12:53:13 +02:00
Andreas Lauser
7dffa66f96 EclDefaultMaterial: calculate the oil relperm according to the ECL technical description
the differences are not huge, but they can be seen...

(note that the "almost" match of the summary files with Eclipse is
still accomplished, but the "spot-on" match with the current opm-core
saturation functions goes away.)
2015-09-23 12:53:13 +02:00
Andreas Lauser
7faa1a8844 Merge pull request #63 from andlaus/fix_masochistic_warnings
Fix masochistic warnings
2015-09-23 12:37:31 +02:00
Andreas Lauser
a6499a01aa fix most of the warnings enabled by masochists
most of these people like to inflict pain on themselfs (i.e., warnings
in their own code), but they usually don't like if pain is inflicted
on them by others (i.e., warnings produced by external code which they
use). This patch should make these kinds of people happy. I'm not
really sure if the code is easier to understand with this, but at
least clang does not complain for most of the warnings of
"-Weverything" anymore.
2015-09-23 12:36:52 +02:00
Andreas Lauser
be1fd178f1 do not squelch unused argument warnings using casts to void
casts to void are not very explicit (in particular if they do not come
with a comment about their purpose). Instead, the names of unused
argument are now simply commented out or the OPM_UNUSED macro is used
for the few cases where this is not possible.
2015-09-23 12:35:45 +02:00
Andreas Lauser
9778a853e3 Merge pull request #61 from osae/fix-index-mixup
Buxfix - compressed versus cartesian index.
2015-09-23 12:34:51 +02:00
osae
4c08b6e5f4 Buxfix - compressed versus cartesian index. 2015-09-21 13:03:29 +02:00
Atgeirr Flø Rasmussen
044edeac4f Merge pull request #60 from atgeirr/silence-warning
Comment out unused argument.
2015-09-17 15:05:39 +02:00
Atgeirr Flø Rasmussen
337cf41d96 Comment out unused argument. 2015-09-17 15:04:46 +02:00
Atgeirr Flø Rasmussen
fd4b4bf6d1 Merge pull request #57 from atgeirr/silence-warnings
Silence warnings
2015-09-15 17:43:56 +02:00
Atgeirr Flø Rasmussen
1ebec84bd1 Remove unused code. 2015-09-15 17:41:09 +02:00
Atgeirr Flø Rasmussen
4768861535 Merge pull request #58 from totto82/fix_fam2
Use tabulated oil saturations directly in KROG for familyII
2015-09-15 14:37:39 +02:00
Tor Harald Sandve
ace6a25210 Use tabulated oil saturations directly in KROG for familyII
Revert bug introduced when refactoring the code in the process of
supporting two-phase simulations.
2015-09-15 13:35:09 +02:00
Atgeirr Flø Rasmussen
bba5e33973 Suppressed more warnings. 2015-09-14 17:15:04 +02:00
Atgeirr Flø Rasmussen
a5ecbd765c Silence unused argument warnings. 2015-09-11 14:32:59 +02:00
Atgeirr Flø Rasmussen
a15fa4444e Delete unused argument. 2015-09-11 14:32:36 +02:00
Atgeirr Flø Rasmussen
b3f6740a68 Silence more unused argument warnings. 2015-09-11 13:46:45 +02:00
Atgeirr Flø Rasmussen
db3d60eeae Avoid shadowing variables. 2015-09-11 13:38:09 +02:00
Atgeirr Flø Rasmussen
1f42957755 Silence some unused argument warnings. 2015-09-11 13:37:31 +02:00
Andreas Lauser
1b794a44f6 Merge pull request #55 from andlaus/wet_gas_fixes
blackoil: fix some screw ups with wet gas
2015-09-04 18:14:35 +02:00
Andreas Lauser
fb79b732d8 blackoil: fix some screw ups with wet gas 2015-09-04 14:33:19 +02:00
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