Commit Graph

432 Commits

Author SHA1 Message Date
Roland Kaufmann
e5d5c40875 List prerequisites for modules in a separate file
This file can be included both in the project itself, and also in the
find module for the library, so that the list of dependencies can be
maintained in only one place.
2013-08-14 23:39:01 +02:00
Bård Skaflestad
56db862baf Add CMake backwards compatibility for version < 2.8.3
Add features that aren't available in early versions of the 2.8.x
release series, enabling use of 2.8.0 if needed (e.g. Ubuntu 10.04)
2013-08-14 23:39:01 +02:00
Roland Kaufmann
9ee29561c8 Recognize lib dirs that may be used later
This let you specify a bunch of directory names on the command line
to *all* packages, without getting annoying warnings that they are
defined but not used.
2013-08-14 23:02:40 +02:00
Roland Kaufmann
48a1e36914 Revert "New sentence -> capital first letter."
This reverts commit 970f308f59.
2013-08-14 23:02:19 +02:00
Roland Kaufmann
7bf82f96b2 Disable link-time, whole program optimization
When using LTO, the linker calls back to the compiler to figure out
where a certain symbol is defined. However, in many versions there
is apparently a bug that is triggered if a template in inlined in
both a used library and in the main program, but with different
versions of the compiler. The Boost exception class is particular
prone for this.

Thus, we disable the -lto from the development builds by default;
if anyone wants to test of the behaviour of their own compiler, they
must now explicitly turn on this flag.
2013-08-14 22:59:55 +02:00
Roland Kaufmann
1a63243419 Compatibility module for dunecontrol-driven clients
If a client generated with duneproject/built with dunecontrol has a
dependency to opm-autodiff, the macros defined in this file is expected
to exist and will be called to search for the opm-autodiff library.

All that is done here is to use the pkg-config helper module and
import the configuration that was written by the CMake system (which
even may have been called earlier in the same dunecontrol "session")
2013-08-14 22:47:24 +02:00
Roland Kaufmann
d2286f33eb Library to pick up configuration from pkg-config files
Pkg-config files are written as part of the CMake configuration, and
these can be imported into AutoTools-driven projects to get the correct
compiler and linker options that has been probed.
2013-08-14 22:45:33 +02:00
Bård Skaflestad
cb20a8cc74 Merge pull request #22 from jnygaard/scalar_mult
Scalar mult
2013-08-05 01:09:08 -07:00
Jens Olav Nygaard
383b88252a Modified according to comments in pull-request discussion. 2013-08-05 09:47:47 +02:00
Jens Olav Nygaard
d3a02e4891 Added ForwardBlock operator* for scalars. 2013-08-02 12:24:12 +02:00
Jens Olav Nygaard
23e2034118 Testing workflow with upstream + local repo.
Added template for unit test for new feature.
Updated (CMake's) list of unit tests.
2013-08-01 15:43:21 +02:00
Bård Skaflestad
d92849b419 Merge pull request #21 from andlaus/gcc-4.4
Gcc 4.4
2013-07-30 13:27:53 -07:00
Andreas Lauser
bec3d5db2c make the c++-2011 feature set of GCC 4.4 mandatory
we now produce an error even if the module in question does not
actually use some of these features.
2013-07-30 21:12:23 +02:00
Andreas Lauser
e6cf509ea9 check for the C++-2011 'auto' keyword.
It seems like the corresponding FindCXX11Features.cmake file
was not updated for this module.
2013-07-30 21:12:23 +02:00
Andreas Lauser
23088686a6 autodiff: make it compatible with dunecontrol
the 'configure' script was missing...
2013-07-30 21:12:23 +02:00
Bård Skaflestad
77193550a6 Merge pull request #19 from akva2/opm_depends
fixed: autodiff depends on opm-core
2013-07-10 07:26:06 -07:00
Arne Morten Kvarving
c2b0bb1fbb fixed: autodiff depends on opm-core 2013-07-10 16:01:51 +02:00
Bård Skaflestad
9ae786a324 Merge pull request #18 from akva2/eigen3_fix_continuous_installs
fixed: workaround issues with ExternalProject_Add
2013-07-10 01:58:07 -07:00
Arne Morten Kvarving
29d7e2a323 fixed: workaround issues with ExternalProject_Add
if you use the builtin git update command, a build is triggered
every time. instead, manually use a checkout
2013-07-10 09:57:57 +02:00
Alf Birger Rustad
0c628c5ed7 Merge pull request #17 from bska/optional-umfpack
Use UMPACK only if available
2013-07-09 05:53:26 -07:00
Bård Skaflestad
a9b90b34f8 Use UMFPACK solver if available in sim_simple.cpp.
Fall back to Eigen's BiCGSTAB solver if UMFPACK is not available.  The
BiCGSTAB is built into Eigen and consequently always available when
Eigen is found.
2013-07-09 14:39:44 +02:00
Bård Skaflestad
e9ad8f0b5e Merge remote-tracking branch 'andlaus/no-umfpack' into optional-umfpack 2013-07-09 14:34:08 +02:00
Alf Birger Rustad
d326a7657e Merge pull request #15 from bska/optional-umfpack
Exclude examples/sim_simple.cpp if UMFPACK is unavailable
2013-07-09 05:07:08 -07:00
Bård Skaflestad
09bd9a44ac Fix mismerge in commit b54df70.
We lost the SuiteSparse detection.
2013-07-09 13:54:47 +02:00
Bård Skaflestad
b54df706a9 Merge branch 'master' into optional-umfpack
Conflicts:
	CMakeLists.txt

Import akva2's modified Eigen support.
2013-07-09 13:50:45 +02:00
Alf Birger Rustad
16e92f9f7b Merge pull request #14 from akva2/eigen3_external
added: download and build eigen3 from git if not found on system
2013-07-09 04:41:54 -07:00
Andreas Lauser
7139f4addf do use eigen's umfpack support anymore
use BiCGStab instead. it might be slower, but at least it is always
available...
2013-07-09 13:33:57 +02:00
Bård Skaflestad
221a7261a8 Exclude examples/sim_simple.cpp if UMFPACK is unavailable
Not all systems provide UMFPACK so even if Eigen provides the required
bindings, we should not assume that the underlying library and/or
headers are available.  Currently, only examples/sim_simple.cpp uses
UMFPACK unconditionally, so the simplest solution is to exclude that
example unless UMFPACK is available.
2013-07-09 13:32:35 +02:00
Arne Morten Kvarving
d6563b298f added: download and build eigen3 from git if not found on system 2013-07-09 12:44:30 +02:00
Alf Birger Rustad
df2964729a Merge pull request #12 from bska/non-tr1
Use the shared_ptr<> from Boost.
2013-07-09 03:40:04 -07:00
Bård Skaflestad
a43fe760c1 Use the shared_ptr<> from Boost.
Not all implementations support the TR1, and if they do, the type
might not be in a namespace called std::tr1 .  Favour the
implementation from Boost for reasons of portability.

This is inspired (and necessitated) by commit OPM/opm-core@68eb3fb
which, incidentally, cleaned up some header pollution on which we
inadvertently depended.
2013-07-04 20:59:29 +02:00
Bård Skaflestad
f044d5189a Merge pull request #11 from rolk/011_eigen
Set path to Eigen3 directory with -DEIGEN3_ROOT=
2013-06-25 09:23:11 -07:00
Roland Kaufmann
6b9d1e2da5 Search common suffixes for include files
This allows us to set e.g. -DEIGEN3_ROOT=/usr/local, and have the
files actually be located in /usr/local/include/eigen3
2013-06-25 14:54:22 +02:00
Roland Kaufmann
eef87e48ad Use standard code to handle not found case
Instead of setting EIGEN3_FOUND ourselves, rely on the standard method
to check arguments and raise an error if not found.
2013-06-25 14:49:11 +02:00
Roland Kaufmann
05e516bb4a Allow mixed case name in variable (as for package)
Since the package is named Eigen3 (in mixed case), we should allow
for the variable to be named this way, too.
2013-06-25 14:49:11 +02:00
Roland Kaufmann
b446ac99e2 Allow user to specify path to Eigen3 library
By setting EIGEN3_ROOT, we can point directly to the path of the
library checkout we want to use. No other searching will then take
place.

Notice that if you have found an Eigen3 installation in a previous
configure, it will not find a new version even if you introduce the
EIGEN3_ROOT variable!
2013-06-25 14:49:11 +02:00
Roland Kaufmann
82c217d0e3 Require the newer 3.1 version of Eigen 2013-06-25 14:49:10 +02:00
Atgeirr Flø Rasmussen
4df5d7fb12 Merge pull request #9 from bska/master
Unify indentation style in CMakeLists_file.txt
2013-06-24 03:36:34 -07:00
Bård Skaflestad
3e2965a301 Indent file lists using <tab> rather than <space>
This is the common convention throughout all OPM modules' CMake-based
build systems.
2013-06-09 20:40:57 +02:00
Atgeirr Flø Rasmussen
77188fab95 Merge pull request #5 from atgeirr/master
Add rock compressibility to fully implicit solver.
2013-06-07 05:04:52 -07:00
Atgeirr Flø Rasmussen
baf11ec591 Bugfix: perforation parts must be mapped to wells. 2013-06-07 14:03:17 +02:00
Atgeirr Flø Rasmussen
07027d3a09 Added rock compressibility to fully implicit solver. 2013-06-03 14:14:48 +02:00
Bård Skaflestad
b0c09f73be Merge pull request #4 from atgeirr/fully-implicit
Fully implicit simulator
2013-06-03 01:02:47 -07:00
Atgeirr Flø Rasmussen
20079f763a Merge remote-tracking branch 'bska/fully-implicit' into fully-implicit 2013-06-03 09:01:17 +02:00
Atgeirr Flø Rasmussen
04eb340a3b Fix two bugs in solver.
- Using x/x.abs() instead of a proper sign function led to problems
   when x = 0. Solved by using new sign() utility.
 - Pass pressure instead of rs as parameter to fluidRsMax().
2013-06-03 00:33:05 +02:00
Atgeirr Flø Rasmussen
90f3886d20 Add sign() utility function. 2013-06-03 00:32:44 +02:00
Bård Skaflestad
8bab9f9ff8 Merge remote-tracking branch 'atgeirr/fully-implicit' into fully-implicit 2013-06-03 00:16:04 +02:00
Bård Skaflestad
a67ca87fd3 Encapsulate DUMP contents in "do { ... } while (0)"
This makes the macro more function-like and easier to read.
2013-06-03 00:15:40 +02:00
Atgeirr Flø Rasmussen
0376cb0fff Initialize and update qs primary variable. 2013-06-02 23:50:21 +02:00
Atgeirr Flø Rasmussen
b23e622a61 Remove accidentally added file. 2013-06-02 08:59:00 +02:00