Simulator programs and utilities for automatic differentiation.
Go to file
Bård Skaflestad 7f89276fe8 Hook New WBPn Calculation Up to Well Model
This commit activates the support for calculating WBPn summary
result values per well in parallel.  To affect the calculation we
add two new data members in BlackoilWellModelGeneric:

  - conn_idx_map_:
    Maps well's connection index (0..getConnections().size() - 1) to
    connections on current rank.  Its local() connections are
    negative 1 (-1) if the connection is not on current rank, and a
    non-negative value otherwise.  The global() function maps well
    connections on current rank to global connection ID for each
    well.  Effectively the reverse of local().  Finally, the open()
    function maps well connections on current rank to open/flowing
    connections on current rank.  Negative 1 if connection is not
    flowing.

  - wbpCalculationService:
    Parallel collection of WBPn calculation objects that knows how
    to exchange source and result information between all ranks in a
    communicator.  Also handles distributed wells.

We furthermore need a way to compute connection-level fluid mixture
density values.  For the standard well class we add a way to access
the StandardWellConnection's 'perf_densities_' values.  However,
since these are defined for open/flowing connections only, this
means we're not able to fully meet the requirements of the

  WELL/ALL

WPAVE depth correction procedure for standard wells.  The
multi-segmented well type, on the other hand, uses the fluid mixture
density in the associated well segment and is therefore well defined
for ALL connections.  OPEN well connections are supported for both
well types.
2023-07-10 13:42:46 +02:00
doc Updated flow manpage. 2022-10-31 10:12:14 +01:00
ebos Hook New WBPn Calculation Up to Well Model 2023-07-10 13:42:46 +02:00
examples fixed: these fields are ROOT_ONLY 2023-04-24 09:57:40 +02:00
external/fmtlib Add inline fmtlib code in source tree 2020-09-28 11:01:13 +02:00
flow Add gaswater solvent 2023-05-26 16:24:38 +02:00
jenkins adjust jenkins script and buildsystem 2022-12-01 14:10:43 +01:00
opm Hook New WBPn Calculation Up to Well Model 2023-07-10 13:42:46 +02:00
python changed: make the deck an implementation detail in Opm::readDeck 2022-11-24 13:00:38 +01:00
tests Add Parallel Calculation Support for WBPn/WPAVE 2023-07-07 15:01:05 +02:00
.clang-format Add flexible solver and preconditioner infrastructure. 2019-06-03 11:42:30 +02:00
.gitignore Add build/ to .gitignore 2020-04-22 13:22:54 +02:00
CHANGELOG.md Added entries to changelog concerning 2019.10 release 2019-10-29 13:27:07 +01:00
CMakeLists_files.cmake Merge pull request #4745 from akva2/filtercake_separate_class 2023-07-07 16:51:23 +02:00
CMakeLists.txt Add Parallel Calculation Support for WBPn/WPAVE 2023-07-07 15:01:05 +02:00
compareECLFiles.cmake simplify cmake code for tuning tests 2023-07-03 09:05:45 +02:00
CTestConfig.cmake cdash: update dropsite 2015-11-11 16:50:25 +01:00
dune.module bump version to 2023.10-pre 2023-04-12 11:32:54 +02:00
LICENSE Add LICENSE File 2021-03-30 10:41:18 +02:00
opencl-source-provider.cmake Move opencl files to separate folder 2022-02-01 16:51:32 +01:00
opm-simulators-prereqs.cmake Add rocsparseSolver 2023-04-06 13:14:19 +02:00
parallelRestartTests.cmake Merge pull request #4667 from akva2/no_adap_timestep_flag_in_driver 2023-05-31 21:37:51 +02:00
parallelTests.cmake adding regression tests for filtration cake model 2023-07-06 23:38:53 +02:00
README.md Remove obsolete information from the README 2020-03-13 11:23:35 +01:00
regressionTests.cmake Add tuning for WGRUPCON regression tests 2023-07-07 13:19:38 +02:00
restartTests.cmake Enable Restart Tests for Constant Flux Aquifers 2023-05-26 20:21:52 +02:00

Open Porous Media Simulators and Automatic Differentiation Library

CONTENT

opm-simulators contains simulator programs for porous media flow. The most important (and tested) part is the Flow reservoir simulator, which is a fully implicit black-oil simulator that also supports solvent and polymer options. It is built using automatic differentiation, using the local AD class Evaluation from opm-material.

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 several other OPM modules, see http://opm-project.org/?page_id=274. In addition, opm-simulators requires Dune and some other software to be available, for details see https://opm-project.org/?page_id=239.

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.

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.