Commit Graph

325 Commits

Author SHA1 Message Date
Andreas Lauser
b7b1d91c94 Merge pull request #100 from andlaus/some_fixes
Some fixes
2015-11-18 17:48:21 +01:00
Andreas Lauser
adb28d4a0e LiveOilPvt: get rid of a "local variable is unused" compiler warning
this only occured if the PVT object was not initialized via
initFromDeck().
2015-11-18 17:29:21 +01:00
Andreas Lauser
ce1a7b35c5 NcpFlash: catch Dune::FMatrixError by constant reference
the difference should not be detectable performance-wise but it is
better style to do it like this.
2015-11-18 17:28:15 +01:00
Andreas Lauser
49356ba0c4 NcpFlash: actually respect the tolerance and improve automatic tolerance determination
so far, the tolerance passed to the solve() method has been silently
ignored. Besides this, the approach to determine the tolerance if none
was given is changed and a negative value is used to indicate that the
tolerance should be determined automatically.
2015-11-18 17:25:17 +01:00
Andreas Lauser
ee67dfd176 geometricMean(): fix a most stupid bug
*meaculpa!*. so far, this did not matter because the geometricMean() function was
is not used within opm-material yet. (or rather the results are
ignored.)
2015-11-18 17:23:16 +01:00
Andreas Lauser
475ff74ad3 Merge pull request #96 from atgeirr/silence-warnings
Silence warnings from Dune includes.
2015-11-10 11:38:34 +01:00
Atgeirr Flø Rasmussen
b9b3a232c4 Silence warnings from Dune includes. 2015-11-10 11:11:24 +01:00
Andreas Lauser
2dfc2723a1 black-oil: prefix XoGToRs() and XgOToRv() with "convert"
this makes it consistent with the method naming scheme while keeping
the method names reasonably brief.

thanks to [at]atgeirr for the suggestion.
2015-11-09 14:51:29 +01:00
Andreas Lauser
ee91d9aad4 blackoil PVT: convert the gas PVT interface to use Rv instead of XgO 2015-11-04 14:21:54 +01:00
Andreas Lauser
925c176477 black oil PVT: use Rs to specify the composition of the oil phase
IMO, the gas mass fraction is more natural, but given the fact that
E100 is all about Rs, this simplifies using opm-material's PVT
relations in opm-autodiff.
2015-11-04 14:21:54 +01:00
Andreas Lauser
8f5093aa2f Merge pull request #93 from andlaus/fix-test_2dtables
fix a test failure for the 2D tables test
2015-10-29 14:36:34 +01:00
Andreas Lauser
2f68011270 fix a test failure for the 2D tables test
this was caused by trying to get a value outside of the tabulated
region. for some reason I do not fully understand, this did not
trigger until now...
2015-10-29 13:54:37 +01:00
Andreas Lauser
812f556e97 Merge pull request #77 from blattms/redistribute-EclMaterialLawManager
Give access to the shared_ptr of the parameters.
2015-10-28 11:51:01 +01:00
Andreas Lauser
8f63cb9d70 Merge pull request #91 from andlaus/compile_without_opm-parser
make it compile again if opm-parser is not available
2015-10-27 12:31:27 +01:00
Andreas Lauser
76e31b3323 make it compile again if opm-parser is not available
this is basically a simple #if HAVE_OPM_PARSER which was forgotten...
2015-10-27 12:28:03 +01:00
Andreas Lauser
e1088c8a3f Merge pull request #90 from akva2/add_fuzz
fix for tests
2015-10-26 11:47:23 +01:00
Arne Morten Kvarving
ce972c003a fix for tests
add some fuzz to make them pass on other archs
2015-10-26 11:16:45 +01:00
Andreas Lauser
351c8ac775 Merge pull request #81 from andlaus/fix_stone1
Fixes for the stone1 ECL material law
2015-10-26 11:10:08 +01:00
Andreas Lauser
cebee06a2d Merge pull request #88 from atgeirr/bump-version
Bump version and unify format of dune.module.
2015-10-23 14:27:05 +02:00
Atgeirr Flø Rasmussen
361e9e10fb Remove version.h. 2015-10-23 13:34:35 +02:00
Andreas Lauser
bc9e243873 Stone1: fix another division by zero
this time, the guilty guy is the base of the "beta" factor.
2015-10-22 18:30:03 +02:00
Andreas Lauser
8a46ffb5bd End-point scaling: prevent division by zero
this occured if threepoint scaling was enabled and the last two
saturations were identical. I'm actually not sure if the deck is valid
in this case (should not twopoint scaling used in this case?), but it
seems like it occures in Real Life (TM) and it is accepted by E100, so
let's do the same. (Note that the behavior of E100 may still be
different if the two last scaled saturation endpoints are identical
and the unscaled ones are not, or vice versa. In that case, the input
data is quite certainly rubbish, though.)
2015-10-22 18:30:03 +02:00
Andreas Lauser
8a06000efa UniformXTabulated2DFunction: simplify, fix fallout of warning removal patch
the simplification is that there is now only one code path regardless
of whether an Evaluation or plain scalars are used.

the warning removal patch broke the extrapolation case for values
smaller than the minimum value.
2015-10-22 18:30:03 +02:00
Andreas Lauser
bd3a148e79 Stone1: smallish cleanups
- move the oil relperm for connate water to the parameters. this
  improves performance slightly. (although I have some doubts that the
  effect is measurable in real world simulations.)
- clarify some comments
- remove unneeded parameters from the parameter object of the Stone1
  material law. (reduces memory consumption slightly.)
2015-10-22 18:30:03 +02:00
Andreas Lauser
a38f44a2c3 Stone1: make the results identical to the ones produces by E100
It looks like the equations that scale the saturations for the Stone 1
model given by the Eclipse documentation are wrong. ("wrong" in the
sense that they seem not to be the ones implemented by E100).

With this change, the oil relperm seems to be identical to the ones of
E100 for SPE-1 based test deck. I'd be grateful if somebody else could
have look at this before it is merged.
2015-10-22 18:30:03 +02:00
Andreas Lauser
6636901f12 EclStone1MaterialParams: initialize the exponent correctly
it seems like this was a thinko or a copy-and-pasto...
2015-10-22 18:30:03 +02:00
Andreas Lauser
589b2f96ba Merge pull request #86 from joakim-hove/master
Restore lost commits from mistaken force push
2015-10-22 11:28:04 +02:00
Andreas Lauser
e3e79e6562 Merge pull request #85 from andlaus/fix_headercheck
UniformXTabulated2DFunction: include missing header file
2015-10-21 18:18:20 +02:00
Andreas Lauser
ddc54a3e46 UniformXTabulated2DFunction: include missing header file
for some reason, this did not trigger before...
2015-10-21 18:16:11 +02:00
Andreas Lauser
2af0a8da26 Merge pull request #82 from andlaus/fix_gcc5_warnings
fix GCC5 sign comparison warning
2015-10-19 12:33:39 +02:00
Andreas Lauser
a36db0a5a9 fix GCC5 sign comparison warning 2015-10-19 12:32:41 +02:00
Andreas Lauser
4c0a471f30 Merge pull request #80 from andlaus/fix_gcc5_warnings
blackoil-PVT: fix a few "non-void method may not return anything" warnings on GCC5
2015-10-14 13:38:22 +02:00
Andreas Lauser
a347461486 blackoil-PVT: fix a few "non-void method may not return anything" warnings on GCC5
this warning is a false positive because the branch of the switch
statement which does not return a value throws an exception instead.
2015-10-13 14:14:38 +02:00
Andreas Lauser
8b4d3c644c Merge pull request #79 from andlaus/fix_gcc44
fix build on GCC 4.4
2015-10-13 13:35:47 +02:00
Andreas Lauser
5622351d5e fix build on GCC 4.4
the explicit include of <array> is beneficial anyway.
2015-10-13 11:46:19 +02:00
Andreas Lauser
191330f55a Merge pull request #78 from totto82/fix_family2deck
Fix the SOF3 input  to make the KROW input similar as in SWOF.
2015-10-12 17:20:58 +02:00
Tor Harald Sandve
4a42a2af8e Fix the SOF3 input to make the KROW input similar as in SWOF. 2015-10-12 14:26:19 +02:00
Atgeirr Flø Rasmussen
a20978000d Merge pull request #76 from andlaus/error_macros_to_opm_common
use the error macros from opm-common
2015-10-12 13:31:46 +02:00
Markus Blatt
60b4169283 Give access to the shared_ptr of the parameters.
This is needed to keep the pointer structure when creating
a new material law manager for just a subgrid.
2015-10-08 12:16:12 +02:00
Andreas Lauser
d52579277a use the error macros from opm-common 2015-10-08 11:49:10 +02:00
Andreas Lauser
7646a4e17a Merge pull request #75 from andlaus/remove_assertation_in_eps
EclEpsScalingPoints: remove incorrect assertation
2015-10-07 21:26:45 +02:00
Andreas Lauser
a99f43428d EclEpsScalingPoints: remove incorrect assertation
the documentation only requires the maximum gas satuation to
correspond to 1-Swco, not that the gas and water relperms are equal at
that point.
2015-10-07 21:23:41 +02:00
Joakim Hove
151a5b87f5 Merge pull request #62 from joakim-hove/table-container
Table container
2015-10-05 14:46:37 +02:00
Joakim Hove
3136ec04ed Changed Table code to use TableContainer 2015-10-04 17:00:55 +02:00
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