Commit Graph

283 Commits

Author SHA1 Message Date
Andreas Lauser
1a8d9a30c4 fix the LiveOilPvt w.r.t. setting the saturated viscosities from ECL input 2016-01-04 15:31:18 +01:00
Andreas Lauser
a9a648a667 make the API of the Spline class more similar to the Tabulated*Function classes 2016-01-04 15:31:16 +01:00
Atgeirr Flø Rasmussen
b5bc9b1324 Merge pull request #98 from andlaus/saturated_blackoil_PVT
Saturated blackoil pvt
2015-11-27 11:53:28 +01:00
Andreas Lauser
f89d3bab70 extend the PVT tables in the same way as the opm-core code 2015-11-26 15:29:06 +01:00
Andreas Lauser
e47db7cfca test the API of the black-oil fluid system more extensively
note that currently this only means that it compiles, correct runtime
behaviour is not (yet?) ensured.
2015-11-26 15:29:06 +01:00
Andreas Lauser
1d2ad56ba1 ConstantCompressibilityWaterPvt: calculate the viscosity the same way as the current opm-core code
this is *NOT* equivalent to the equation given by the ECL
documentation, but it makes it possible to compare it with the current
implementation. (also, the differences are pretty small: about < 10^-8
for SPE3.)
2015-11-24 18:13:32 +01:00
Andreas Lauser
f2d8a4e7a6 Tabulated1DFunction: Unify the code paths for local AD and scalars
this is analogous to 8a06000e which did the same for
UniformXTabulated2DFunction.
2015-11-24 18:13:32 +01:00
Andreas Lauser
126375db7d blackoil: introduce saturated{Oil,Gas}{Density,Viscosity}() methods and use them in the fluid system
this eliminates minor differences with the current opm-core PVT
classes which were due to extrapolation of the untersaturated
tables. (Also, the result should be slightly faster if both, oil and
gas are present.)

I'm not really sure if this is always a good thing, though: It implies
discontinuities at the saturated <-> undersaturated transition which
may sometimes deter convergence rates of the non-linear solver.
2015-11-24 18:13:32 +01:00
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