Commit Graph

1697 Commits

Author SHA1 Message Date
Joakim Hove
d7913c4173 Added out-of-range tests. 2015-12-03 16:19:43 +01:00
Joakim Hove
364dbf809f Added regression test for norne PvtLiveOil PVT. 2015-12-03 14:16:04 +01:00
Andreas Lauser
5d37b61a77 fix build for newish boost versions
my boost is 1.58. once more, boost seemed to have become more picky on
where a semicolon must be placed and where not.
2015-11-27 16:09:01 +01:00
Tor Harald Sandve
f24dcf1957 Use cell depths based on averaging cell corners 2015-11-24 10:17:12 +01:00
Atgeirr Flø Rasmussen
80c16e7ea9 Merge pull request #907 from andlaus/thpress_from_initial
implement determining the threshold pressure from the initial condition
2015-11-17 09:03:02 +01:00
Atgeirr Flø Rasmussen
5f9d361c03 Merge pull request #922 from blattms/return_mask_for_updateOwnerMask
Return a constant reference to the mask for ParallelISTLInformation::updateOwnerMask
2015-11-13 15:20:35 +01:00
Atgeirr Flø Rasmussen
c0cd038e97 Merge pull request #920 from totto82/interpolation_points
Change the number of integration points in the initialization
2015-11-09 16:52:30 +01:00
Andreas Lauser
e3c066cd02 implement determining the threshold pressure from the initial condition
This needs to be done if a equilibration region transition is
mentioned by the THPRES keyword, but no value is given for this record
in the third item. (it seems that this is used quite frequently.)

Also, the approach taken by this patch also does not collide with the
restart machinery as far as I can see. This is because the initial
condition is applied by the simulator before the state at the restart
time is loaded. (I interpreted the code that way, but I could be
wrong, could anyone verify this?)

since it is pretty elaborate to calculate initial condition, this
patch is pretty messy. I also do not know if Eclipse does include
capillary pressure in this calculation or not (this patch does). Huge
kudos go to [at]totto82 for reviewing, testing and debugging this.
2015-11-05 12:29:19 +01:00
Markus Blatt
2c22cb68c8 Return a constant reference to the mask for ParallelISTLInformation::updateOwnerMask
Thus we can actually access the mask in external code. This is for
example needed when calculating averages in RateConverter of opm-autodiff.
2015-11-02 15:02:32 +01:00
Tor Harald Sandve
3086e67ee2 Change the number of integration points in the initialization
The number is changed from 100->2000 to increase accuracy.
2015-10-30 08:14:10 +01:00
Atgeirr Flø Rasmussen
8d327e9c67 Merge pull request #919 from blattms/fixes-wells-with-perforations-in-overlap
Fixes well manager for wells crossing into cells that overlap.
2015-10-28 13:23:35 +01:00
Atgeirr Flø Rasmussen
9de17c38d3 Merge pull request #918 from blattms/allow-zero-initialization-of-rock-properties
Allow the rock properties to be zero initialized without a deck.
2015-10-28 13:21:16 +01:00
Markus Blatt
7d7f37f42d Make constructor taking one argument explicit. 2015-10-28 13:19:42 +01:00
Markus Blatt
c871eaec5f Added comment about 9 entries in permeability tensor. 2015-10-28 13:14:56 +01:00
Markus Blatt
3e8381be20 Renamed well_index to well_index_on_proc and added comment.
This should prevent misunderstandings about what the
well_index_on_proc is. It is not the well_index according to
the eclipse state (on open wells count) but the index of the
wells that are stored on this process' domain.
2015-10-28 13:09:12 +01:00
Markus Blatt
4bfc921957 Fix grammar and spelling in warning. 2015-10-27 14:26:01 +01:00
Markus Blatt
02df6dd963 Fixes well manager for wells crossing into cells that overlap.
In the parallel run there are cases where wells perforate cells
that are neighbors of overlap/halo cells. On other process only
parts of the well are seen as perforations. These wells should be
ignored there. While the well was indeed ignored, the perforations
found where mistakenly added to the well found due not clearing the
wellperf_data[well_index]. This commit now does this clearing and
results in the right handling of wells for e.g. SPE9.
2015-10-27 14:02:26 +01:00
Markus Blatt
c0e2d7748c Allow the rock properties to be zero initialized without a deck.
This is needed in parallel runs where the rock properties will not
be read from the deck but be communicated from a master process. Nevertheless
we need to be able to initialize the data structures with the correct
container size. In addition we need to be able to change the container values
from opm-autodiff's BlackoilPropsDataHandle.
2015-10-26 23:52:24 +01:00
Markus Blatt
559c91505d [bugfix] Fixes copyOwnerToAll.
Previously, we copied owner/overlap to all which is clearly wrong.
Now we copy from owner to all as the function name says.
2015-10-26 23:45:12 +01:00
Arne Morten Kvarving
5674635125 fix Equilibration test by adding some fuzz
Backports parts of a7b1e69a45c14ec88a82b92ee704424f1ea1b41c
2015-10-26 11:21:26 +01:00
Atgeirr Flø Rasmussen
c65ad8292b Make SaturationPropsFromDeck work for two-phase cases. 2015-10-21 15:27:52 +02:00
Atgeirr Flø Rasmussen
682f53fdc5 Remove unused arguments in PinchProcessor methods.
This silences warnings. It also makes it clear that
the cell thicknesses are not used in the current
algorithm, the doc comment has been updated to
reflect this.
2015-10-21 11:52:31 +02:00
Atgeirr Flø Rasmussen
852693b72c Merge pull request #892 from qilicun/pinchprocessor
PinchProcessor
2015-10-19 10:22:44 +02:00
Atgeirr Flø Rasmussen
10b4d6c6f7 Merge pull request #897 from totto82/crossflow
Add boolean flag to determine whether crossflow is allowed in a well
2015-10-14 09:36:27 +02:00
Liu Ming
2f7f54982b use PinchMode instead of string. 2015-10-09 16:30:39 +08:00
Liu Ming
10e9df4bd1 Add tests case for pinch processor. 2015-10-09 10:33:21 +08:00
Andreas Lauser
d41f989a78 use the error macros from opm-common 2015-10-08 11:42:15 +02:00
Tor Harald Sandve
da44c2cfd6 Set wd.allowCrossFlow directly 2015-10-07 12:50:00 +02:00
Tor Harald Sandve
cf35ecbb05 Avoid using bool in the c code 2015-10-07 12:49:05 +02:00
Bård Skaflestad
c5d61faaa1 Merge pull request #896 from joakim-hove/relocate-warning-headers
Relocated warning headers.
2015-10-06 15:56:23 +02:00
Tor Harald Sandve
40ec39fa71 Add boolean flag to determine whether crossflow is allowed in a well
This PR adds allow_cf to the wells structure that determine whether
crossflow is allowed or not. An extra argument is added to addWell(..)
to specify the allow_cf flag.
2015-10-06 15:54:20 +02:00
Joakim Hove
197dda9ee0 Relocated warning headers. 2015-10-06 11:39:14 +02:00
Joakim Hove
d54899ba07 Fxied bug in table-container use. 2015-10-05 15:59:08 +02:00
Joakim Hove
adb333177d Merge pull request #886 from joakim-hove/table-container
Changed Table code to use TableContainer
2015-10-05 14:46:49 +02:00
Joakim Hove
2dc7d1cef7 Changed Table code to use TableContainer 2015-10-05 09:59:29 +02:00
Atgeirr Flø Rasmussen
a0e50d2a21 Merge pull request #887 from osae/equil-water-zone
Support for equil-initialisation for datum depth outside oil zone.
2015-10-03 19:04:34 +02:00
Atgeirr Flø Rasmussen
3d27454c6b Make grid in deck have larger number of cells.
This makes some tests succeed that use this deck only
for its properties and not its grid: if the grid in the
deck has fewer cells than the grid that is used for the
test we will fail in the SATNUM mapping.
2015-10-01 15:20:08 +02:00
Atgeirr Flø Rasmussen
061b283a03 Merge pull request #888 from totto82/avoid_throw_wellManager
WARN instead of THROW if completion is not found in the grid
2015-09-28 10:02:06 +02:00
Markus Blatt
e2e9ea1bf5 Prevent WellsManager from subscripting empty container.
While hopefully not a bug it raises an exception with gcc's
libc debugging mode. Therefore we resort to using C++11's
std::vector::data instead.

The exception was rosen when running SPE9 in parallel.
2015-09-23 09:28:59 +02:00
Tor Harald Sandve
fb127aeb9a WARN instead of THROW if completion is not found in the grid
Completions that are not found in the grid are ignored.
2015-09-22 13:51:06 +02:00
osae
04107a1955 Support for equil-initialisation for datum depth outside oil zone. 2015-09-21 18:22:11 +02:00
Robert Kloefkorn
8163137b2c WellState: move typedefs into public section and include string. 2015-09-16 12:36:05 +02:00
Robert Kloefkorn
50bf1d7e62 WellState: add assertion on wells->name[]. 2015-09-16 09:48:43 +02:00
Robert Kloefkorn
14d7ce43a6 WellState: move mapping from well name to well index to here from autodiff's WellStateFullyImplicitBlackoil. 2015-09-16 09:48:43 +02:00
Bård Skaflestad
99368d73d2 RegionMapping<>: Support arbitrary region IDs
This commit introduces a new public method, activeRegions(), that
retrieves those region IDs that contain at least one active cell.
We furthermore extend the cells() method to support lookup of
arbitrary region IDs.  Non-active region IDs produce empty cell
ranges.

Intended use case is

    for (const auto& reg : rmap.activeRegions()) {
        const auto& c = rmap.cells(reg);

        // use c
    }
2015-09-15 15:33:22 +02:00
Bård Skaflestad
b5ba068309 convertSats(): Transpose loop nest for locality of data 2015-09-15 15:33:22 +02:00
Bård Skaflestad
7090b58f03 Mark non-template functions in headers as 'inline' 2015-09-15 15:33:22 +02:00
Atgeirr Flø Rasmussen
99d3ca24bb Use compressedToCartesian() to avoid possible null reference. 2015-09-15 14:23:10 +02:00
Atgeirr Flø Rasmussen
827da9baa3 Moved compressedToCartesian() to its own file. 2015-09-15 14:13:58 +02:00
Tor Harald Sandve
8d9bdb8d47 Use cell thickness from EclipseGrid in well transmissibility
calculations

The dz calculated in WellDetails::getCubeDim is not correct in cases
where the face centroid of the horizontal faces is located above or
below the face centroid or the vertical faces. The cell thickness in
EclipseGrid, calculated using the Z-coordinates, is therefore used
instead.
2015-09-15 10:50:56 +02:00