Simulator programs and utilities for automatic differentiation.
Go to file
Andreas Lauser 4ecd6ca64a fix some serious screw-ups
almost all of them were caused by recent changes in the master
branch:

- there were methods added which depend on the types `V` and
`DataBlock`. these do not make much sense in the context of the
frankenstein simulator. Also, these types are defined globally for the
whole Opm namespace in `BlackoilModelBase_impl.hpp` (which should be
prosecuted as a fellony IMO)! Besides this, their names are useless;
'V' is the letter which comes after `U` in the alphabet and when it
comes to computers basically everything can be seen as a chunk of data
(i.e., a `DataBlock`).
- it seems like the new and shiny dense-AD based well model was never
compiled with assertations enabled, at least some asserts referenced
non-existing variables.
- the recent output-related API changes were pretty unfortunate
because they had the effect of tying the (sub-optimal, IMO) internal
structure of the model even closer to the output code: as far as I can
see, `rq` does only make sense if the model works *exactly* like
BlackoilModelBase and friends. (for flow_ebos, this could be
replicated, but first it would be another unnecessary conversion step
and second, most of the quantities in `rq` are of type `ADB` and much
of the "frankenstein" excercise is devoted to getting rid of these.) I
thus reverted back to an old version of the output code and created a
`frankenstein` branch in my personal `opm-output` github fork.
2016-09-13 23:58:59 +02:00
debian fixed: debian packaging 2016-04-22 17:00:29 +02:00
doc/doxygen Fix minor issues pointed out by bska. 2013-09-23 13:02:56 +02:00
examples Merge remote-tracking branch 'origin/master' into frankenstein 2016-09-12 23:18:02 +02:00
jenkins add multiconfiguration support to jenkins build script 2016-08-23 14:26:06 +02:00
opm fix some serious screw-ups 2016-09-13 23:58:59 +02:00
redhat update redhat packaging 2016-04-18 11:44:26 +02:00
tests shared_ptr<EclipseGrid> -> const EclipseGrid& 2016-08-31 19:39:39 +02:00
travis Rename opm-autodiff -> opm-simulators. 2016-04-08 14:58:07 +02:00
.gitignore Added ignore to emacs per directory configuration file. 2014-11-26 14:56:45 +01:00
.travis.yml Using build-all travis configuration. 2016-06-10 13:52:16 +02:00
CMakeLists_files.cmake fix some serious screw-ups 2016-09-13 23:58:59 +02:00
CMakeLists.txt add flow_ebos, an ebos based simulator 2016-08-09 18:38:23 +02:00
compareECLFiles.cmake Added regression tests for comparing ECLfiles using CTest 2016-07-20 16:00:00 +02:00
configure changed: sync with renaming to opm-common 2015-09-08 10:47:05 +02:00
CTestConfig.cmake cdash: update dropsite 2015-11-11 16:50:25 +01:00
dune.module add flow_ebos, an ebos based simulator 2016-08-09 18:38:23 +02:00
README.md Rename opm-autodiff -> opm-simulators. 2016-04-08 14:58:07 +02:00

Open Porous Media Simulators and Automatic Differentiation Library Build Status

CONTENT

opm-simulators contains simulator programs for porous media flow. It also contains a small library for automatic differentiation built on the Eigen linear algebra package which is used by many of the simulators to handle the building of Jacobians. The most important parts are:

  • flow.cpp (a fully implicit black-oil simulator)
  • AutoDiffBlock.hpp (class for AD on vectorized data with sparse jacobians)

LICENSE

The library is distributed under the GNU General Public License, version 3 or later (GPLv3+).

PLATFORMS

The opm-simulators module is designed to run on Linux platforms. It is also regularly run on Mac OS X. No efforts have been made to ensure that the code will compile and run on windows platforms.

REQUIREMENTS

opm-simulators requires opm-output, opm-core, and all their requirements (see opm-core/README). In addition, opm-simulators requires the Dune modue dune-istl and Eigen, version 3.1 (has not been tested with later versions).

DOWNLOADING

For a read-only download: git clone git://github.com/OPM/opm-simulators.git

If you want to contribute, fork OPM/opm-simulators on github.

BUILDING

See build instructions at http://opm-project.org/?page_id=36

DOCUMENTATION

Efforts have been made to document the code with Doxygen. In order to build the documentation, enter the command

make doc

in the topmost directory. The class AutoDiffBlock is the most important and most well-documented.

REPORTING ISSUES

Issues can be reported in the Git issue tracker online at:

https://github.com/OPM/opm-simulators/issues

To help diagnose build errors, please provide a link to a build log together with the issue description.

You can capture such a log from the build using the `script' utility, e.g.:

LOGFILE=$(date +%Y%m%d-%H%M-)build.log ;
cmake -E cmake_echo_color --cyan --bold "Log file: $LOGFILE" ;
script -q $LOGFILE -c 'cmake ../opm-core -DCMAKE_BUILD_TYPE=Debug' &&
script -q $LOGFILE -a -c 'ionice nice make -j 4 -l 3' ||
cat CMakeCache.txt CMakeFiles/CMake*.log >> $LOGFILE

The resulting file can be uploaded to for instance gist.github.com.