Commit Graph

49 Commits

Author SHA1 Message Date
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
Joakim Hove
78437a29e3 Removed .cmake extension from include() 2015-05-15 15:44:02 +02:00
Joakim Hove
8150bd3075 Changed logic for finding cmake modules 2015-05-15 14:30:51 +02:00
Atgeirr Flø Rasmussen
c6d38f543c Rename sim_fibo_ad[_cp] -> flow[_cp].
In line with the decision we made to use "flow" as name for the
fully implicit black-oil simulators.
2015-02-27 12:35:03 +01:00
Arne Morten Kvarving
5dca993b69 add check-commits target 2014-12-08 15:26:18 +01:00
Atgeirr Flø Rasmussen
463e05a83d Obtain dune-istl version for config.h.
Required by DuneMatrix.hpp.
2014-09-30 13:46:01 +02:00
Arne Morten Kvarving
132657e478 added: hook for conditionally compiled files
backport from opm-upscaling PR#100
2014-06-16 15:53:01 +02:00
Atgeirr Flø Rasmussen
3b80724581 Update Eigen requirements. 2014-05-21 13:57:16 +02:00
Bård Skaflestad
897a33c788 Support older versions of Dune
Retrieving the "mpihelper.hh" from <dune/common> rather than
<dune/common/parallel> means we can still support (e.g.,) Dune 2.2.1
if needed.
2014-04-10 00:59:31 +02:00
Bård Skaflestad
433be936e4 Use full path in examples_SOURCES
That's the convention used elsewhere in the build system and we
should honour that convention.  While here, remove the assignment to
PROGRAM_SOURCE_FILES because that variable is no longer referenced
once we start to run the hooks.
2014-04-10 00:56:09 +02:00
Markus Blatt
f4812c21eb Add an example program of FIBOS that uses CpGrid. 2014-03-13 16:33:36 +01:00
Kristian Flikka
111c9ee445 Added sim_fibo_ad_test, running two identical simulations with the SPE1 case 2013-11-26 12:55:41 +01:00
Roland Kaufmann
09d2f435f8 Add a small bootstrapper to locate build system
Currently this bootstrapper only finds the macros that are located
in the cmake/ tree in this project. Projects that don't carry their
own build system can specify search locations here.
2013-08-16 23:55:45 +02:00
Roland Kaufmann
e713e5637d Separate build concerns for better maintainability
Introduce a main build file which uses modules in the cmake/ directory
for most of its bulk work, which agains retrieve information from files
in the root of the source tree (dune.module, CMakeLists_files.cmake) to
get information about the project.

Thus, the cmake/ directory is shared between all the projects down to
the last bit; only project-specific customizations go into the main file
in form of _hook macros (which are called in specific places).
2013-08-14 23:39:05 +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
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
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
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
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
Roland Kaufmann
82c217d0e3 Require the newer 3.1 version of Eigen 2013-06-25 14:49:10 +02:00
Bård Skaflestad
409cfb1578 White-space cleanup.
No functional changes.
2013-05-16 11:23:59 +02:00
Atgeirr Flø Rasmussen
d59363d681 Now Eigen is found properly. 2013-05-16 10:49:05 +02:00
Bård Skaflestad
970f308f59 New sentence -> capital first letter. 2013-05-16 00:10:51 +02:00
Bård Skaflestad
b74d988a7b New sentence -> capital letter. 2013-05-16 00:10:32 +02:00
Bård Skaflestad
2500f1ae58 Adopt imported build system to OPM-Autodiff specifics
Updated include statements &c to follow.
2013-05-15 15:49:48 +02:00
Bård Skaflestad
582a947d9b Complete import of CMake support from OPM-Core 2013-05-15 10:40:00 +02:00