Commit Graph

78 Commits

Author SHA1 Message Date
Markus Blatt
03a94c1cde Got rid of false warning for empty opm_common_DIR. 2017-09-26 16:39:50 +02:00
Markus Blatt
54acb69d7a Drop support for OPM_COMMON_ROOT.
Users should either rely in sibling search, use opm-common_DIR, or
set CMAKE_PREFIX_PATH correctly to find opm-common.
2017-09-25 14:03:01 +02:00
Markus Blatt
a26cec6a6c Allow arbitrary clone directories and <prefix><module-name><postfix> build directories 2017-09-25 13:54:04 +02:00
Markus Blatt
0b83f68cdc Warn if OPM_COMMON_ROOT and opm-common_DIR are set and use the latter. 2017-09-25 13:53:34 +02:00
Markus Blatt
f6db28eb5d Changed find_package call to require opm-common.
Previously, QUIET was passed to opm-common which would
not even print a message if there is a problem. Now cmake
will fail if OPM_COMMON_ROOT is not set, and neither guessing
opm_common_DIR did  work nor searching in the default locations.
2017-09-25 13:53:34 +02:00
Markus Blatt
e59084c540 Added deprecation warning if OPM_COMMON_ROOT is used 2017-09-25 13:53:34 +02:00
Markus Blatt
b2c6092127 Added warning if opm-common_DIR is not an existing directory. 2017-09-25 13:53:29 +02:00
Markus Blatt
149d531c68 Added sibling search mechanism using ${PROJECT_BINARY_DIR} for opm-common
If sibling search is activated and opm-common_DIR is not set, then
we try to determine the build directory layout from ${PROJECT_BINARY_DIR}.
The following two possibilities are supported:
 + <modules-build-dir>/<project-name>
 + <project-name>/<build-dir>
where <project-name> is the case sensitive module name (in this case
opm-common).

This results in the following search precedence:
1. User set opm-common_DIR
2. sibling directories search (if the directories exist)
3. Default (system) CMake search path
2017-09-15 15:26:53 +02:00
Markus Blatt
da86d1c0bd Introduced mandatory call to project in top level CMakeLists.txt
Somehow this was never called in the OPM modules. But the CMake documentation
actually says:
"The top-level ``CMakeLists.txt`` file for a project must contain a
literal, direct call to the ``project()`` command; loading one
through the ``include()`` command is not sufficient.  If no such
call exists CMake will implicitly add one to the top that enables the
default languages (``C`` and ``CXX``).
"

Without it some variables (like CMAKE_PROJECT_NAME) are not correctly defined.
2017-09-15 15:26:53 +02:00
Robert Kloefkorn
07e0d71906 [feature][flow] Add a common executable for all flow variants, i.e.
flow_ebos, flow_ebos_polymer, flow_ebos_solvent, flow_ebos_2p.
2017-08-23 16:21:15 +02:00
Joakim Hove
deab255468 Added -Wno-dev to Eigen cmake args. 2017-05-21 16:30:27 +02:00
Arne Morten Kvarving
5cd63f6eee fixed: re-add installation of the 'flow' symlink
got lost due to a bad conflict resolution in 7c4dfa784d
2017-04-19 16:04:17 +02:00
Andreas Lauser
6c2e828a8d add 'flow_ebos' to the dependencies of the 'flow' target
this allows to use `make flow` instead of `make flow_ebos flow` to
build the stuff.
2017-04-18 18:45:47 +02:00
Andreas Lauser
d08d909c00 change the symlink for flow to flow_ebos
`flow_ebos` should be now capable of doing everything that
`flow_legacy` can and recently all testing seems to have been centered
on `flow_ebos`. note that `flow_ebos` does not yet support some more
advanced/exotic features like MPI, solvents, polymer, etc., but
neither does the plain `flow_legacy` binary. until `flow_ebos`
supports these features, the specialized simulators thus continue to
use the legacy code paths.
2017-04-11 13:25:18 +02:00
Arne Morten Kvarving
f2e1f4bef1 changed: move multisegment well test to proper regression test 2017-03-03 15:27:35 +01:00
Arne Morten Kvarving
26ebe27cad convert flow_sequential SPE1CASE1 test to actual regression test 2016-11-22 16:51:39 +01:00
Arne Morten Kvarving
a27e58c0bf changed: remove duplicated test
no reason to run spe1case2 without checking output as we have
tests checking the output in place
2016-11-22 16:51:39 +01:00
Joakim Hove
e999ad7a98 Remove python tests. 2016-11-21 18:02:21 +01:00
Andreas Lauser
7c4dfa784d Merge branch 'master' into frankenstein
* master:
  rename the 'flow' binary to 'flow_legacy' and set a symbolic link
2016-11-15 00:32:27 +01:00
Andreas Lauser
d989c1e2fc Merge remote-tracking branch 'origin/master' into frankenstein
* origin/master:
  Do not throw for unrecognized file when merging log files.
  Do not populate cellData but issue a warning in parallel.
  Removed ternary operator in inline initialization.
  Correctly mark transfer of ownership for ouptut writer
  Indent nested #if
  Remove Solution.sdc assignment
  Cater variable name change in BCRSMatrix of DUNE 2.5
  Fix using local active cells for writing eclipse files in parallel.
  add restart test for SPE1CASE2_ACTNUM
  rename the 'flow' binary to 'flow_legacy' and set a symbolic link
  Added ctest for restart files
2016-11-11 18:29:46 +01:00
Andreas Lauser
511a9039ab rename the 'flow' binary to 'flow_legacy' and set a symbolic link
this is a precursor of merging flow_ebos into the master
branch. hopefully, this won't break any existing setups...
2016-11-04 16:19:15 +01:00
Andreas Lauser
a6f76ddace rename the 'flow' binary to 'flow_legacy' and set a symbolic link
this is a precurser of merging flow_ebos into the master
branch. hopefully, this won't break any existing setups...
2016-11-04 15:30:37 +01:00
Andreas Lauser
36b00ba570 Merge remote-tracking branch 'origin/master' into frankenstein_merge_master 2016-09-28 21:20:47 +02:00
Kristian Hole-Drabløs
af2a59d1b8 Added more cases/models to ctest 2016-09-14 13:12:58 +02:00
Robert Kloefkorn
3db63b0a22 add flow_ebos, an ebos based simulator
it uses ebos for linearization of the mass balance equations and the
current flow code from opm-simulators for all the rest. currently, the
results match the ones from plain `flow` for SPE1, SPE9 and Norne, but
performance is not optimal: on SPE9, converting from and to the legacy
data structures takes about a third of the time to do the actual mass
balance assembly. nevertheless `flow_ebos` is almost as fast as plain
`flow` for SPE9. (for Norne `flow_ebos` is about 15% slower, even
though the results match quite closely. the reason for this is that it
requires more iterations for some reason.)
2016-08-09 18:38:23 +02:00
Atgeirr Flø Rasmussen
73a4d42918 Merge pull request #764 from joakim-hove/restart-test
Restart test
2016-08-02 12:10:38 +02:00
Joakim Hove
c5b7827cbd Check more INIT keywords
- Floating point: DX,DY,DZ and DEPTH
 - Integer: PVTNUM, SATNUM, FIPNUM, EQLNUM
2016-07-28 07:57:00 +02:00
Joakim Hove
91051a687b Refactor restart test.
- Using Python to run flow repeatedly and compare results.
 - Cleaned up and removed unnecessary SPE1 runs from testing.
2016-07-28 07:54:20 +02:00
Kristian Hole-Drabløs
fc9251bd4f Added regression tests for comparing ECLfiles using CTest 2016-07-20 16:00:00 +02:00
Kai Bao
aed2760b31 updating the path for the multi-segment wells test.
due to the renaming of the folder name in opm-data.
2016-07-05 13:02:28 +02:00
Joakim Hove
b60f1ac5e7 Added Python based integration test to check TRAN? 2016-07-01 13:18:34 +02:00
Atgeirr Flø Rasmussen
80b8b5f12f Merge pull request #737 from atgeirr/sequential
Experimental sequential solvers
2016-06-27 11:38:13 +02:00
Atgeirr Flø Rasmussen
7489f15ee9 Add sequential models for black oil.
This commit adds sequential solvers, including a simulator variant
using them (flow_sequential.cpp) with an integration test (running
SPE1, same as for fully implicit).

The sequential code is capable of running several (but not all) test
cases without tuning or special parameters, but reducing ds_max a bit
(from default 0.2 to say 0.1) helps with transport solver
convergence. The Norne model runs fine (esp. with a little tuning). A
parameter iterate_to_fully_implicit (defaults to false) is available,
when set the simulator will iterate with alternating pressure and
transport solves towards the fully implicit solution. Although that
takes a lot extra time it serves as a correctness check.

Performance is not competitive with fully implicit at this point:
essentially both the pressure and transport models inherit the fully
implicit model and do a lot of double (or triple) work. The point has
been to establish a proof of concept and baseline for further
experiments, without disturbing the base model too much (or at all, if
possible).

Changes to existing code has been minimized by merging most such
changes as smaller PRs already, the only remaining such change is to
NewtonIterationBlackoilInterleaved. Admittedly, that code (to solve
the pressure system with AMG) is not ideal because it duplicates
similar code in CPRPreconditioner.hpp and is not parallel. I propose
to address this later by refactoring the "solve elliptic system" code
from CPRPreconditioner into a separate class that can be used also
from here
2016-06-27 10:28:09 +02:00
Kai Bao
d27524c3a7 adding a test for flow_multisegment
it is a 2D case with H__ pressure drop specification, and it takes about
2 second to run.
2016-06-21 14:43:11 +02:00
Arne Morten Kvarving
6df328d56e added: mark flow_mpi for installation 2016-05-02 10:57:09 +02:00
Atgeirr Flø Rasmussen
b5cf0763c5 Also change library name opmautodiff -> opmsimulators. 2016-04-08 20:33:18 +02:00
Atgeirr Flø Rasmussen
37c4bd16b1 Adapt code to dune-cornerpoint -> opm-grid renaming. 2016-04-06 13:29:47 +02:00
chflo
3fc8ea4c9c Added restart test 2016-02-10 14:47:56 +01:00
Kai Bao
c5252ae1ce make compilation of flow_multisegment_mpi conditional
if(DUNE_CORNERPOINT_FOUND OR dune-cornerpoint_FOUND)
2015-12-01 00:06:46 +01:00
Joakim Hove
8302db443b Try to find opm-data and run flow on SPE1 case. 2015-10-21 18:43:08 +02:00
Joakim Hove
a879e9cd41 Removed cmake setting : NON_PUBLIC_TEST 2015-10-21 16:56:10 +02:00
Atgeirr Flø Rasmussen
98a3d1675a Merge pull request #454 from babrodtk/openpm_experiment
Parallel assembly (partial)
2015-10-19 15:32:50 +02:00
André R. Brodtkorb
a208f793d5 Set OpenMP default to off 2015-10-19 15:21:08 +02:00
Markus Blatt
82a73d969e Renamed flow_cp to flow_mpi 2015-10-12 10:59:01 +02:00
Arne Morten Kvarving
1ac43da951 fixed: make sure opm-common can be (re-)found
see https://github.com/OPM/opm-common/issues/40#issuecomment-140720316
2015-09-16 14:22:24 +02:00
Andreas Lauser
f46189ee1e restore dunecontrol compatibility after the opm-cmake -> opm-common rename 2015-09-08 11:57:14 +02:00
Arne Morten Kvarving
28ab615b06 changed: sync with renaming to opm-common 2015-09-08 10:47:05 +02:00
Arne Morten Kvarving
f7722c62ae changed: use common check-commits target from opm-cmake 2015-05-28 10:42:51 +02:00
Arne Morten Kvarving
8afa9e4749 added: look for opm-cmake in sibling directory 2015-05-27 11:51:28 +02:00
Arne Morten Kvarving
9ae6eb9b77 changed: locate opm-cmake using config mode 2015-05-27 10:48:30 +02:00