Specifically, use the OPM_BOOST_LIBDIR variable created in commit
5c97e512 and Libtool's "-R" link-time switch to encode the library
location within OPM-Core's run-path. This simplifies using the library,
because the onus of satisfying the library's link-time requirements is
removed from the client.
A second refinement puts the additional link-requirements (i.e., "-l"
and "-L" options) within the *_LIBADD primary. This moves the libraries
from the middle to the end of the link statement.
middle.
A boilerplate .pc file is provided in the lib/pkgconfig directory. Using
this location has the advantage of being in the same path relative to
the libraries as it will be in the installation. The drawback is that the
lib/ directory no longer contains just output unless one uses out-of-tree
builds.
In the root directory of the project a local .pc file is provided which
instead of the usual end-installation directory rather points to the
build and source directories. By adding the build directory to the
PKG_CONFIG_PATH environment variable, a local build can be referred to
from other projects (such as examples or specific test-cases).
Having two different files is unfortunately necessary since pkgconfig
does not support prefix rewriting on Linux, and having them in two
different directories is necessary since the AutoMake-generated files
is not capable of renaming a file, only relocating it.
Conflicts:
Makefile.am
opm/core/fluid/BlackoilPropertiesFromDeck.hpp
opm/core/fluid/SaturationPropsFromDeck.cpp
opm/core/fluid/SaturationPropsFromDeck.hpp
opm/core/fluid/blackoil/BlackoilPvtProperties.cpp
opm/core/fluid/blackoil/BlackoilPvtProperties.hpp
opm/core/fluid/blackoil/SinglePvtDead.cpp
This merge combines three more-or-less orthogonal features
for saturation tables: the option to use StoneII or Simple
three-phase behaviour, the option to fit a spline or not,
and finally setting the number of samples used (if spline
fitting).
Interfaces have changed, the most top-level one being
that BlackoilPropertiesFromDeck::init() now also takes
a ParameterGroup argument.
Introduced a simple fluid which has no problem with strange black oil behavior.
Intended for testing, but for now it is used in SaturationPropsFromDeck.
Recall that the class that used to be called SinglePvtDead has
been renamed to SinglePvtDeadSpline. If 'props_use_spline' is true,
that class is used (this is the default), which makes a monotone
spline that is uniformly, densely sampled. The new class simply
uses linear interpolation in the input tables.
This is an experiment, not strictly sanctioned by the AX_LAPACK macro
documentation, to avoid linker errors related to missing symbol MAIN__
in the (GFortran) run-time support libraries. Strictly speaking, we
should be using the method outlined in the Autoconf manual, but we'll
try the easier way for now.
This commit is more or less equivalent to forward-porting commits
dd6e0fd3, c437eba2, and 9e885dc7 from the "ert" branch.
When OPM-Core is used as a Dune module (e.g., as enabled by commit
789bc5ca7), we stand the risk of creating multiple, conflicting
defintions of crucial <config.h> symbols (e.g. `HAVE_BOOST') and
build variables (e.g., `BOOST_CPPFLAGS' and `BOOST_LDFLAG').
Avoid this situation by prefixing these symbols with an `OPM_'
string such that Dune's `ENABLE_BOOST' solution works as intendend
in modules that are derived in the OPM context.
We do not want to distribute the AGMG sources along with OPM-Core.
These sources must be defined by the builder at configure time.
This fixes "make distcheck".
Add a new macro, "ERT", that uses AC_LINK_IFELSE to test if the ECL and
related libraries are available of the local computer system. Call the
macro from "configure.ac".
Also, adapt the main "Makefile.am" to the results of the "ERT" macro.
Conflicts:
Makefile.am
opm/core/grid/cpgpreprocess/facetopology.c
opm/core/grid/cpgpreprocess/mxgrdecl.c
opm/core/grid/cpgpreprocess/preprocess.c
opm/core/grid/cpgpreprocess/sparsetable.c
opm/core/grid/cpgpreprocess/sparsetable.h
opm/core/grid/cpgpreprocess/uniquepoints.c
This merge brings a new, more resilient and feature-complete
corner-point processing. In particular, the new code features
exact, in-plane vertex coordinates for face nodes that arise as a
result of fault processing and which are not located on pillars.
Secondly, the resulting grid's cells are ordered lexicographically
with the I index cycling the most rapidly, followed by J and
finally K.
Finally, this merge also brings automatic handling of left-handed
coordinate systems which, until now, have produced negative cell
volumes as a result of face vertices being ordered such that
interface normals point from cell 2 to cell 1 in this case.
Left-handed coordinate systems are recognised using a simplistic
triple-product characterisation akin to the implementation of
function "processGRDECL" of MRST.
This code is now an (almost) exact replica of revision 1001 of
https://public.ict.sintef.no/viewvc/openrs/trunk/dune-cornerpoint/grid/preprocess/
The merge also removes opm/core/grid/cpgpreprocess/readvector*, so
remove tests/test_readvector.cpp (and accompanying Make rule) to
maintain a buildable tree.