this is basically the dune-grid grid manager for ALUGrid properly
out-sourced into an own module. (it does not require an external
library anymore, so it simplifies the build quite a bit.) Also, the
DUNE-ALUGrid module has quite a few new features and performance
improvements compared to the old code from dune-grid. For details, see
http://users.dune-project.org/projects/dune-alugrid
de facto, this does not change anything because opm-parser is required
and it has a hard dependency on ERT. It is good style to declare all
prerequisites explicitly in each module, though. Thanks to [at]bska
for the catch.
this is required to make the opm-core build succeed if ERT was build
with -DBUILD_SHARED_LIBS=OFF . (without it, I get errors like
/home/and/src/ert/devel/libert_util/src/thread_pool_posix.c:328: error: undefined reference to 'pthread_create'
I thought about this a bit and came to the conclusion that since the
composition of oil is already fixed in that context, only the pressure
dependance needs to be included in addition.
- the StaticTabulated2DFunction class and the base class
(Tabulated2DFunction) are gone
- the DynamicTabulated2DFunction class has been renamed to
UniformTabulated2DFunction
- a new class called UniformXTabulated2DFunction has been
introduced. Like UniformTabulated2DFunction, it assumes uniform
intervalls of the sampling points in X direction, but in contrast to
UniformTabulated2DFunction, the Y locations of the sampling points
can be set freely (as long as they are specified in increasing order
for each x value)
- add a unit test for the two tabulation classes
the biggest one was that the Rs factor was used incorrectly: instead
of "surface volume of gas per volume of saturated reservoir oil" it is
defined as "surface volume of gas which a volume unit of surface oil
dissolves at reservoir pressure".
Besides this, there are a few smallish improvements like the oil
density being a function which can be called without having the
boilerplate objects (i.e., the fluid state and parameter cache
objects) instantiated.
as there is not much harm done if it is not used but it may cause the
build to fail if it is present (read: it causes _my_ build to fail),
it defaults to OFF.
because if umfpack is fully linked but some other library is
underlinked, it causes the build to fail. This flag is better dealt
with in the "UseOnlyNeeded.cmake" module...
The build system depends on knowing if MPI is available. Explicitly
search for MPI to honour that requirement. Don't rely on ISTL's
transitive searching for the same.
recently UG has become free software (yay!), so we can now support it
with a good conscience. The CMake module is based on the "UseUG.cmake"
module of dune-grid but it is quite a bit simpler and actually
works. (I cannot see how UseUG.cmake can work without ever including
the ug-config*.cmake files...)
the UG source code is available here:
https://github.com/ugfem/ug
These index names have been fully fluid system dependent for a while
and are supposed to be just used for convenience. This means that
phase names are now actual camelCase words.
because fluid-matrix interactions have been independent of the number
of phases for a while. The only law left in this folder (implementing
the Parker-van Genuchten law) has been moved one folder up and been
cleaned up considerably.
The "opm-parser" module is expected to become dependent upon the ERT
library. Defer searching for the parser module until we've
established whether or not ERT is availble.
Suggested by: @andlaus
While reformatting the parser-prereqs file I accidentally replaced
the feature search 'CXX11Features' with 'CXX10Features'. This
commit fixes that blunder.
In propagating the requirements for opm-benchmarks to the other
modules I accidentally removed the 'opm-parser' prerequisite (see
commit 86439d6 for details). This commit restores that prerequisite.
The benchmark library uses Boost::iostreams to do decompression. Since
we only scan for the Boost dependency once, this submodule is added to
all of the projects in order to have a coherent dependency on Boost.
This commit makes a few adjustments to the white-space of file
'opm-parser-prereqs.cmake' to honour the conventions of the other
*-prereqs.cmake files within the OPM project's module suites.
No functional changes.