Commit Graph

1295 Commits

Author SHA1 Message Date
Andreas Lauser
b77ecb46c5 h2o-n2 fluid system: use the total pressure to calculate the component enthalpies
this is analogous to commit r12402 of dumux. The current approach was
doing the "compositional consideration" twice. (and the difference
between using the partial pressure for the enthalpy and using the
total one in conjunction with weighting by mass fraction should be
neglectible for "almost ideal" gases, i.e., for low pressure and
temperature scenarios.)
2014-02-04 22:02:00 +01:00
Andreas Lauser
b333007fc3 FluidSystems::BlackOil: increase the fugacity coefficient of gas in water by a factor of 1000
this makes the PVS model work with SPE-9 and the NCP model to converge
better...
2014-01-24 15:15:22 +01:00
Andreas Lauser
f386599669 remove all vim and emacs modelines
for emacs, add a toplevel .dir-locals.el file instead...
2014-01-16 18:41:00 +01:00
Andreas Lauser
78a30208d8 simplify the valgrind client request helpers
the macros where used to make the influence of the valgrind calls zero
even for debug builds if valgrind client requests were
unavailable. Since this resulted in some inconsistencies, and the
performance hit is not terribly large, we now always use the same
inlined functions. For optimized builds the impact of those is still
zero...
2013-12-14 12:03:44 +01:00
Andreas Lauser
249592a57d fix the screw-ups caused by a0101ee 2013-12-03 12:13:53 +01:00
Andreas Lauser
019d188efb update the in-file copyright holder statements
this patch is quite large as there were various bug fixes to the
script which generates these statements
2013-12-02 17:26:34 +01:00
Andreas Lauser
a0101ee033 replace in-source copyright comments by the standard OPM ones 2013-12-02 16:35:57 +01:00
Andreas Lauser
96f38877f5 remove all print statements in classes intended for use of other modules
because these classes should not have any side effects. case in point:
the warnings intended to be printed once get printed once per process
which can be quite a few times for parallel simulations with thousands
of cores. This could also be avoided by checking the MPI rank, but
IMHO this is way too much boilerplate code for a feature of questionable
value.
2013-11-23 00:47:49 +01:00
Andreas Lauser
79c38f94b7 Parker-Lenhard: work around a debug mode bug of GCC 4.4
The resize() method for std::vector seems to copy an uninitialized
object for the new objects in the array on GCC 4.4. This means that we
should not assume that the copied objects are finalized in the
Parker-Lenhard parameters. Strangely enough this only seems to affect
older GCCs (at least 4.4) and only in debug mode...
2013-11-16 10:10:42 +01:00
Andreas Lauser
72bc625357 EclDefaultMaterial: produce something meaningful for krn()
at least mathematically meaningful. whether it makes sense phyiscally
is still to be determined...
2013-11-15 17:10:48 +01:00
Andreas Lauser
34d1934e60 Capillary pressure laws: enforce that parameter objects are finalized before they are used
this only has an effect if compiled in debug mode, i.e., if the NDEBUG
symbol is not defined.
2013-11-15 16:15:10 +01:00
Andreas Lauser
e1ad7112b0 add a tabulated piecewise linear two-phase material law
this is intended to be used for ECLIPSE saturation curves, but the
code is more generic. (Be aware that using cubic splines for the
interpolation between sampling points is probably a better choice in
most cases.)
2013-11-14 18:46:27 +01:00
Andreas Lauser
555154661e fix headercheck 2013-11-14 11:55:11 +01:00
Andreas Lauser
a7f6049a96 make EclDefaultMaterial three-phase API conformant 2013-11-14 11:55:00 +01:00
Andreas Lauser
5c57117365 guard macros: _HH -> _HPP 2013-11-13 18:45:52 +01:00
Andreas Lauser
62e7aad7f5 test_fluidmatrixinteractions: mark some variables as OPM_UNUSED
this should prevent some warnings on GCC 4.6. Thanks to Arne Morten
Kvarving for investigating this.
2013-11-13 12:27:37 +01:00
Andreas Lauser
696503c51e Brooks-Corey: explicitly include <cmath>
it seems to be implicitly included by newer compilers, but not GCC
4.4. In this case I agree with GCC 4.4...

Thanks to Bård Skaflestad for the hat-tip.
2013-11-13 11:37:37 +01:00
Andreas Lauser
8811400173 rename "pcwn" to "pcnw" and "pcng" to "pcgn"
because it is p_n - p_w and p_g - p_n instead of the other way round.
2013-11-12 18:11:40 +01:00
Andreas Lauser
aabce7f005 fluid-matrix interactions: API extension
- add methods to calculate the derivatives of the capillary pressures
  and relative permeabilities with regard to the phase saturations,
  temperature, absolute pressure and phase composition
- extend the unit test to enforce the above
- make the NullMaterial conform to the API and add it to the unit test
- introduce Opm::NullMaterialTraits for material laws that don't use
  any phase indices
2013-11-12 18:11:40 +01:00
Andreas Lauser
abab1d9a87 add the three-phase capillary pressure law Eclipse uses by default 2013-11-11 13:23:55 +01:00
Andreas Lauser
19db7481fd Cosmetic change: remove the subdirectories for sources of the tests
that was a leftover of eWoms/Dumux...
2013-11-11 13:23:55 +01:00
Andreas Lauser
dd70732ae9 Refactor the twophase laws
They are now all generic capillary pressure laws, but with some
additional methods to make working with them easier. For this reason,
they have been moved up one directory to opm/material/fluidmatrixinteractions

Also, a unit test which ensures that all capillary pressure laws
conform to their respective APIs has been added.
2013-11-11 13:23:47 +01:00
Andreas Lauser
0f7c888100 rename doxygen groups "fluidmatrixinteractions(laws|params)" to "FluidMatrixInteractions"
and improve the van Genuchten law
2013-11-05 13:13:16 +01:00
Andreas Lauser
2b493c0e95 fix end of namespace comments
long live python ;)!
2013-11-04 14:15:53 +01:00
Andreas Lauser
febb8d9d8f blackoil fluid system: rename gasFormationFactor to gasDissolutionFactor
that was a thinko/reado of mine...
2013-11-04 14:07:53 +01:00
Andreas Lauser
ca94fdeb88 capillary pressure laws: move the M-phase laws one directory up
since they are also generic in the sense that they can depend on
arbitrary quanities expressed by the fluid state, not just
saturations...
2013-11-03 17:03:36 +01:00
Andreas Lauser
b51bf6d0b1 H2O: remove too expensive range checks
when they worked, they were only used in debug mode anyway...
2013-11-03 15:38:00 +01:00
Andreas Lauser
9b5e1f27e6 Valgrind: fix a small issue that only appears with multiple compile units
this were forgotten 'inline' statements for some client request functions.
2013-10-29 12:23:13 +01:00
Andreas Lauser
851063c659 change API version to 3.0 2013-10-12 16:17:50 +02:00
Andreas Lauser
37777ac9e9 tabulated component: don't catch NumericalProblem anymore
this lead to a compiler warning on gcc 4.8 that this case was already
covered by catching std::exception. Since we did the same in both
branches anyway, these statements were not required...
2013-09-25 16:14:24 +02:00
Andreas Lauser
439d0626da use monotonic splines for the black-oil curves 2013-09-24 19:21:33 +02:00
Andreas Lauser
5e26a52eee remove superfluous CMakeLists.txt files 2013-09-24 12:59:09 +02:00
Andreas Lauser
900db58464 Merge pull request #11 from andlaus/rename_filenames
the big rename
2013-09-24 02:37:31 -07:00
Andreas Lauser
ddd81d4e31 use the spline class correctly
(i.e., remove a template argument. This only fell through the cracks
because Somerton.hpp is not yet used by a unit test...)
2013-09-24 11:37:07 +02:00
Andreas Lauser
7ad9eb26ef remove some lonely usages of Dune::NotImplemented 2013-09-24 11:37:07 +02:00
Andreas Lauser
2e34aecf67 the big rename
make all file names confirm to the OPM conventions. (hopefully)
2013-09-24 11:37:07 +02:00
Andreas Lauser
a985ec3ef5 fix fluid system unit test
this was due to a missing initialization of the MPI. Because
MPI_Finalize should probably called even if the program is aborted due
to an exception, this is done using a helper class. (which does the
same job as Dune::MPIHelper, but is much simpler.)
2013-09-24 10:25:45 +02:00
Andreas Lauser
ee1c36c2a1 Merge pull request #13 from andlaus/reduce_reliance_on_dune
Discussed with Atgeirr
2013-09-23 04:51:18 -07:00
Andreas Lauser
a407f5c389 use OPM instead of dune infrastructure wherever possible
basically the only Dune thing which is still used are the FieldVector
and FieldMatrix classes used by some constraint solvers. Until
something similar goes into opm-core, opm-material must depend on
dune-common...
2013-09-20 15:04:27 +02:00
Andreas Lauser
f60682b472 add version.h header file and adapt version number in dune.module 2013-09-10 13:42:43 +02:00
Andreas Lauser
7f0e63fd89 include the unused.hh header in valgrind.hh
the dune/common/{unused,deprecated}.hh headers do not get implicitly
included by the OPM build system. Since the test for valgrind is has
been added recently, this file produced a compiler error if
HAVE_VALGRIND is 1.
2013-08-14 12:21:08 +02:00
Andreas Lauser
7278da759d fix compileo 2013-06-06 11:30:08 +02:00
Andreas Lauser
8a0830284d eliminate 'constexpr'
use 'const' instead to make old compilers happy. the disadvantage is
that you cannot use the normal methods for template specialization,
but this currently should not be a major drawback.
2013-06-06 11:21:02 +02:00
Andreas Lauser
1fa4ad0c5d make the tests compile using OPM's shiny new CMake based build system 2013-05-30 19:17:00 +02:00
Andreas Lauser
c61b0bd63d change namespace from 'Ewoms' to 'Opm' 2013-05-30 15:45:31 +02:00