Commit Graph

2068 Commits

Author SHA1 Message Date
Atgeirr Flø Rasmussen
2dc1744bce Bugfix in CompressibleTpfa for gravity case.
Gravity acceleration should be a factor in the face gravity potential.
2012-07-19 14:45:15 +02:00
Atgeirr Flø Rasmussen
59611a2d18 Transport solver partially complete (segregation solver remains). 2012-07-19 14:02:26 +02:00
Bård Skaflestad
ab03dfafbf Merge pull request #8 from bska/master
Bring in Various Build-System Fixes
2012-07-12 07:04:55 -07:00
Bård Skaflestad
9f47cf0f54 Explicitly substitute absolute path variables.
Apparently, Automakes prior to 1.10 do not automatically substitute
the absolute path directory variables

   abs_srcdir    abs_top_srcdir
   abs_builddir  abs_top_builddir

that Autoconf computes (since ca. 2003) into the Makefiles.  This
leads to a subtle error when OPM-Core is used in conjunction with
dune-common's DUNE_CHECK_MODULES (or, more appropriately, our own
OPM_CORE_CHECK_MODULES) macro that gets invoked through dunecontrol.

The *_CHECK_MOUDLES macro contains an unconditional statement that
uses 'abs_top_srcdir' to compute the absolute path to the current
module's top source directory.  When abs_top_srcdir is unset, the
root becomes unset too, whence the subsequent existence and validity
checks fail due to incorrect CPPFLAGS and/or LDFLAGS.  It will also
fail to locate the 'dune.module' dependency file.

By explicitly substituting the above variables into the Makefiles,
as was also done in revisions 5819 and 5845 of dune-common's
Subversion repository, we're guarding against this particular
failure mode.

Tested on: CentOS 5.8 (Autoconf 2.59, Automake 1.9.6)
2012-07-12 14:37:23 +02:00
Bård Skaflestad
20b0c8f83b Use have_boost_redef.hpp rather than direct override. 2012-07-12 14:36:36 +02:00
Bård Skaflestad
82369f9109 Add facility for overriding `HAVE_BOOST' from Dune.
This is, at best, a work-around for an issue that presents when
earlier versions of Autoconf (e.g., 2.59) are used to process Dune's
DUNE_BOOST_BASE macro (introduced in dune-common@6480,
dune-istl@1492).  For reasons I've been unable to determine, the
HAVE_BOOST symbol just gets #define-d, not set to `ENABLE_BOOST' as
was intended.  Some kind of race condition?

Anyway, the Dune ISTL module uses statements such as

   #if HAVE_BOOST
     /* ... */
   #endif

to determine if particular software features should be enabled.
This breaks down if `HAVE_BOOST' is simply defined.  Following
commit fb614100, the symbol `OPM_HAVE_BOOST' is always defined (as a
Boolean state), so if we override ISTL's notion of `HAVE_BOOST', the
above construction continues to work.

We will, however, happily remove thise kluge if a better solution
arises in the core Dune modules.
2012-07-12 14:20:59 +02:00
Bård Skaflestad
fb614100fe Define `OPM_HAVE_BOOST' to zero if unavailable.
This way, there will be no compiler warnings if the symbol is used
in a way akin to

   #if OPM_HAVE_BOOST
      /* Boost is available */
   #else
      /* Boost is not available */
   #endif
2012-07-12 14:16:54 +02:00
Bård Skaflestad
2758242dd9 Merge pull request #7 from bska/master
Fix Last Fall-out From Boost Library Clean-up
2012-07-10 05:51:54 -07:00
Bård Skaflestad
e5eb4fb12c Fix another fall-out from Boost library clean-up
We failed to propagate the BOOST_\(.*\)FLAGS -> OPM_BOOST_\1FLAGS fix
(commit 6b57a00) to all clients, notably our own macro for recognising
whether or not the Boost.Test library should be linked dynamically or
statically.  This commit remedies that oversight.
2012-07-10 14:50:07 +02:00
Bård Skaflestad
bf278f8d13 Merge pull request #6 from bska/master
Fix Fall-out From Build-System Boost-Library Clean-up
2012-07-10 05:07:30 -07:00
Bård Skaflestad
6c35b9679b Don't clobber LDFLAGS user variable
Fix a misunderstanding that's been present since the inception.  The
LDFLAGS variable is entirely at the builder's disposal.  Flags needed
for system-internal settings must go in the AM_* equivalents.
2012-07-10 13:46:30 +02:00
Bård Skaflestad
31788277f9 Don't link in Fortran support libraries
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.
2012-07-10 13:38:33 +02:00
Bård Skaflestad
6b57a00b17 Avoid Clobbering Dune's Boost Support.
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.
2012-07-09 17:42:56 +02:00
Alf Birger Rustad
0d1f8a049e Merge pull request #5 from rolk/master
Update m4 files to look in sub-directory for library
2012-07-06 01:23:44 -07:00
Roland Kaufmann
3dbe09e573 Locate libopmcore.la in lib/ sub-directory
Since commit 9005e43 library files are put in lib/ also in the
development tree; other projects with dependencies to opm-core now
needs to look there.
2012-07-06 10:14:06 +02:00
Alf Birger Rustad
819061fcc2 Merge pull request #4 from bska/master
Document everal low-level OPM-Core interfaces related to mimetic solvers
2012-07-05 07:02:03 -07:00
Andreas Lauser
6e0a566e53 factor out OPM_CORE_CHECK_MODULES into a separate file
thanks to Roland Kaufmann for suggesting this.
2012-07-05 12:42:49 +02:00
Andreas Lauser
789bc5ca71 opm-core: make it a usable in conjunction wit dunecontrol
This allows projects which use the DUNE build system and want to use
OPM-Core to specify a dependency in their dune.module file. (i.e. they
don't have to worry about compiler and linker flags anymore.)

opm-core can still be used without having DUNE installed, though. This
means that for users which do not need/want a dependency on DUNE,
nothing changes.

v2: avoid naming conflict of the AX_BOOST_BASE macro with dune-common
    by renaming it to OPM_BOOST_BASE.
v3: make the library detection work nicely
v4: Use AX_BOOST_BASE M4 macro from opm-core instead from dune-common
    as base for OPM_BOOST_BASE to get rid of a few bugs, reworded
    commit message. Thanks to Bård Skaflestad for the review.
2012-07-05 12:42:49 +02:00
Andreas Lauser
6f69de969a opm-core: make it work nicely with clang 2012-07-05 12:42:49 +02:00
Alf Birger Rustad
c90420e91a Merge pull request #3 from andlaus/master
This makes using OPM-core in DUNE contexts much easier and fixes a few CLang warnings
2012-07-05 02:59:28 -07:00
Bård Skaflestad
6672a94fb2 Distinguish distributable from non-distributable sources.
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".
2012-07-03 17:45:24 +02:00
Bård Skaflestad
9005e4353c Build the library in a lib/ sub-directory of $(builddir)
Suggested by: Andreas Lauser
2012-07-03 16:44:03 +02:00
Andreas Lauser
3a25c11544 factor out OPM_CORE_CHECK_MODULES into a separate file
thanks to Roland Kaufmann for suggesting this.
2012-07-03 15:42:01 +02:00
Bård Skaflestad
c2eaa97049 Add partial Doxygen markup to public interfaces.
More work needed.
2012-07-03 01:30:18 +02:00
Bård Skaflestad
1235b8ecbc Document public interface for transmissibility calculation. 2012-07-03 01:29:34 +02:00
Bård Skaflestad
8e436e174a Include missing headers. 2012-07-02 22:29:47 +02:00
Andreas Lauser
31d0681a66 opm-core: make it a usable in conjunction wit dunecontrol
This allows projects which use the DUNE build system and want to use
OPM-Core to specify a dependency in their dune.module file. (i.e. they
don't have to worry about compiler and linker flags anymore.)

opm-core can still be used without having DUNE installed, though. This
means that for users which do not need/want a dependency on DUNE,
nothing changes.

v2: avoid naming conflict of the AX_BOOST_BASE macro with dune-common
    by renaming it to OPM_BOOST_BASE.
v3: make the library detection work nicely
v4: Use AX_BOOST_BASE M4 macro from opm-core instead from dune-common
    as base for OPM_BOOST_BASE to get rid of a few bugs, reworded
    commit message. Thanks to Bård Skaflestad for the review.
2012-07-02 19:17:25 +02:00
Bård Skaflestad
02e715fe14 makefhfQPeriodic(): Use less branch'y implementation. 2012-07-02 19:09:58 +02:00
Andreas Lauser
2a79bb2fe2 opm-core: make it work nicely with clang 2012-07-02 18:52:30 +02:00
Bård Skaflestad
4c36b397fd EquilLine: Initialise all members in default constructor. 2012-07-02 18:30:56 +02:00
Bård Skaflestad
4ffd9198bf Initialise all members in default constructor. 2012-07-02 17:44:16 +02:00
Bård Skaflestad
95df9e5e2f WpolymerLine: Initialise all members in constructor. 2012-07-02 17:42:10 +02:00
Bård Skaflestad
2ef628233e WeltargLine: Initialise all members in constructor. 2012-07-02 17:32:37 +02:00
Bård Skaflestad
f2f0b95a1d WgrupconLine: Initialise all members in constructor. 2012-07-02 17:29:59 +02:00
Bård Skaflestad
f57ed8856d WelSpecsLine: Initialise all members in constructor 2012-07-02 17:22:48 +02:00
Bård Skaflestad
381d4651e6 Doxygenise class spu_2p::ModelParameterStorage
Mostly stub comments.
2012-07-02 14:58:59 +02:00
Bård Skaflestad
cda6c93724 Initialise all members in constructor. 2012-07-02 14:13:42 +02:00
Bård Skaflestad
8947ef569f Mark return values as \return rather than \ret.
Needed for Doxygen compliance.
2012-07-02 12:55:28 +02:00
Bård Skaflestad
be54b53cb5 Add stub documentation for hybsys_well_cellcontrib_symm().
Expansion and refinement needed.
2012-07-01 00:20:06 +02:00
Bård Skaflestad
c40ddf42d0 Document public interface hybsys_compute_press_flux_well().
Refinements are likely.
2012-06-30 00:21:43 +02:00
Bård Skaflestad
fae98697a6 Document public interface hybsys_compute_press_flux().
Likely to be refined at a later stage.
2012-06-29 23:44:40 +02:00
Bård Skaflestad
fed0117242 Document public interface of hybsys_cellcontrib_unsymm(). 2012-06-29 23:13:18 +02:00
Bård Skaflestad
d7cfab5ee0 Reference variables using ${...} syntax. 2012-06-29 20:45:14 +02:00
Bård Skaflestad
70e763c8bd Document hybsys_cellcontrib_symm() public interface. 2012-06-29 19:27:35 +02:00
Bård Skaflestad
3da361f88e Document interface of hybsys_well_schur_comp_symm() 2012-06-29 14:52:21 +02:00
Roland Kaufmann
ac5599bf6f Ignore editor temporary files
Emacs writes temporary data to .#* files
2012-06-28 21:09:07 +02:00
Roland Kaufmann
003623202a Ignore executables and scripts generated by build 2012-06-28 21:08:33 +02:00
Alf Birger Rustad
0d7539e348 Merge pull request #2 from bska/master
Parametrise Usage of Boost.Test Library
2012-06-27 13:23:01 -07:00
Bård Skaflestad
be1ca06fa3 Use dynamic Boost.Test mode only if supported
Use result of OPM_DYNLINK_BOOST_TEST to determine whether or not to
#define the Boost symbol BOOST_TEST_DYN_LINK .

While here, replace an unprintable character with the proper UTF-8
encoding in a comment.
2012-06-27 16:51:37 +02:00
Bård Skaflestad
11d90ddeab Add AC macro to determine how to link Boost.Test
Details:
Test suites based on Boost.Test must know how to include the library
support code into the executables.  If the Boost.Test library is
dynamically linked, then test suites must define the pre-processor
symbol "BOOST_TEST_DYN_LINK".  Otherwise, this symbol must *not* be
defined.

Resolution:
Introduce a new Autoconf macro, OPM_DYNLINK_BOOST_TEST, that defines a
secondary symbol--HAVE_DYNAMIC_BOOST_TEST--if the local computer system
uses dynamic linking.  Test suites (e.g., tests/param_test.cpp) may then
inspect this symbol to determine whether or not to #define
BOOST_TEST_DYN_LINK.

Call the macro from "configure.ac".

Suggested by: Joakim Hove
2012-06-27 16:26:52 +02:00