Commit Graph

2445 Commits

Author SHA1 Message Date
Robert Kloefkorn
0a6791313b WellState: move typedefs into public section and include string. 2015-09-16 12:36:05 +02:00
Robert Kloefkorn
68f8004132 WellState: add assertion on wells->name[]. 2015-09-16 09:48:43 +02:00
Robert Kloefkorn
c532d149bd 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
c010d4c3e2 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
a439f7bd88 convertSats(): Transpose loop nest for locality of data 2015-09-15 15:33:22 +02:00
Bård Skaflestad
234377fe72 Mark non-template functions in headers as 'inline' 2015-09-15 15:33:22 +02:00
Atgeirr Flø Rasmussen
5bd95582d2 Remove unnecessary include. 2015-09-15 14:53:46 +02:00
Atgeirr Flø Rasmussen
1ca5300f6e Move implementation to .cpp file. 2015-09-15 14:45:07 +02:00
Atgeirr Flø Rasmussen
7cfc09aa85 Use compressedToCartesian() to avoid possible null reference. 2015-09-15 14:23:10 +02:00
Atgeirr Flø Rasmussen
f2c6344d04 Moved compressedToCartesian() to its own file. 2015-09-15 14:13:58 +02:00
Tor Harald Sandve
876c8864c7 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
Atgeirr Flø Rasmussen
1cee1e038c Cleanup SaturationPropsFromDeck interface.
Unused methods and arguments have been removed,
and we avoid including the EclMaterialLawManager
in the header. Clients IncompPropertiesFromDeck
and BlackoilPropertiesFromDeck have been updated.
2015-09-14 15:02:59 +02:00
Atgeirr Flø Rasmussen
355c90279a Remove unused args from constructor.
Also from init() function. This means the methods are no longer templates,
and have been moved to the cpp file.
2015-09-14 15:02:59 +02:00
Robert Kloefkorn
0e86a6165a SimulatorState: export num_cells_ and num_faces_ and allow to register data from any
class. This is needed in the parallel output class. A formal interface for the state
class needs to be introduced.
2015-09-14 12:57:36 +02:00
osae
1fdc4c39dc Assure 4 vertices for each face of the grid. 2015-09-11 11:47:27 +02:00
osae
565fa4278e Add some comments and limit to 3 dimensions. 2015-09-10 18:29:02 +02:00
osae
299aa77e18 Cell center depth also from zcorn average.
There is a sligth difference between the cell depth taken from the
centroid (opm) and a straightforward average of corner coordinates
(ecl). For the initialisation of Norne this causes some differences
when deciding cell center positions relative contact depths.
2015-09-10 18:29:02 +02:00
Atgeirr Flø Rasmussen
99cf5299b6 Merge pull request #876 from blattms/wells-completion-might-cross-overlap
Allow a few well completions in the overlap.
2015-09-09 10:41:47 +02:00
Markus Blatt
3b4595d2d7 Allow a few well completions in the overlap.
If on one process a well completion is next to border then
it might also be stored in the neighbor process. Still not
all the completions of the well are known to the neighbor.
This breaks the previous assumption that for each well all
completions must belong to the partition of the process.

Therefore with this commit we allow wells that only have a
part of their completions assigned to the partition of the process.
This wells are deactivated under the assumption that they must
exist completely on another process due to the partitioning.
2015-09-08 20:38:02 +02:00
Atgeirr Flø Rasmussen
4448a557f0 Merge pull request #875 from totto82/change_default
Change default values
2015-09-08 17:55:28 +02:00
Atgeirr Flø Rasmussen
56c23d1a5a Merge pull request #873 from blattms/fix-parallel-wellsmanager-for-partly-shut-wells
[bugfix] Account for shut completions when checking well in parallel
2015-09-08 11:01:44 +02:00
Tor Harald Sandve
e8d8df5b47 Change default values
- use time stepping algorithm pid instead of pid + iter
Adjusting the time-steps on the number of linear iterations does
currently not give any improvents on the time-stepping.
- Change the pid tolerance. The time-stepper will take longer time-steps
and thus reduce the simulation time significantly. The Norne and the SPE
results does not degrade
- Less aggressive reduction of time-steps after convergence problems
2015-09-08 10:56:58 +02:00
Markus Blatt
3261ec3281 Make code clearer with and if-else-if statements and spaces. 2015-09-08 10:48:55 +02:00
Markus Blatt
7b5e07f8f6 Improve code comments. 2015-09-08 10:48:14 +02:00
Markus Blatt
ef6cf0d928 Make last commit compile 2015-09-08 09:30:16 +02:00
Markus Blatt
3412d1ff1e [bugfix] Account for shut completions when checking well in a parallel run.
Previously well with just some shut completions errorneously triggered an
exception in parallel runs. This is fixed with this commit.

Due to the logic shut completions will always be marked as existing
on a process. (Initially all completions are marked as found. For
each open completion we check whether the cartesian index belongs to
the local grid. If that is not the case we mark it as not found).
Therefore we now check whether the found number of completions
is either the number of shut completions or the number of all completions.
In the former case the well is not stored on this process, and in the latter
case it is. In other cases we throw an exception.
2015-09-07 16:55:08 +02:00
Robert Kloefkorn
65b5fa1c31 [BlackoilPropsFromDeck] remove sign/unsigned warnings. 2015-09-07 09:50:40 +02:00
Atgeirr Flø Rasmussen
c17488888e Merge pull request #867 from babrodtk/fix_warnings
Fixed several warnings
2015-09-04 14:13:34 +02:00
Atgeirr Flø Rasmussen
c042a1912a Merge pull request #869 from blattms/fix-for-loop-initial-decl
Fix complaint about initial declaration in foor loops.
2015-09-04 14:10:46 +02:00
babrodtk
96e1a89abe Fixed even more warnings 2015-09-03 15:17:10 +02:00
babrodtk
221d1a3e92 Fixed several warnings 2015-09-03 15:17:10 +02:00
Markus Blatt
7db80ba2c6 Fix complaint about initial declaration in foor loop.
gcc-4.7.2 (Debian 4.7.2-5) complained about:
"‘for’ loop initial declarations are only allowed in C99 mode
note: use option -std=c99 or -std=gnu99 to compile your code"
when seeing a loop like
for(int i=0; i<end; ++i)

This is fixed by moving the declaration before the for loop with
this commit. Altenatively, we could use the above option.
2015-09-03 14:03:25 +02:00
Tor Harald Sandve
a765659d90 Limit the timestep growth for all timestepping algorithm
The time step restriction is moved to AdaptiveTimeStepping_impl.hpp to
make it apply to all time-stepping algorithms.
2015-09-03 12:52:47 +02:00
Andreas Lauser
71bbc01fdf SaturationPropsFromDeck: fix some array index screw-ups in the twophase case
I don't think the code gets more beatiful because of this, but it
seems like it does not crash anymore.
2015-09-02 12:29:18 +02:00
Andreas Lauser
faadeaa0aa use a .cpp instead of an _impl.hpp file for SaturationPropsFromDeck
this avoids having to include the "Evaluation.hpp" file as the first
thing in the morning.
2015-09-02 12:29:18 +02:00
Andreas Lauser
bc9ab3862b InitStateEquil: fix valgrind complaint about uninitialized values
it seems that it was pure luck that this worked so far!
2015-09-02 12:29:18 +02:00
Andreas Lauser
a1eb108528 remove the now obsolete SatFunc* classes 2015-09-02 12:29:18 +02:00
Andreas Lauser
921f377a1d SaturationPropsFromDeck: add the code to calculate all saturation properties using opm-material
also remove the now obsolete code in that class.
2015-09-02 12:29:11 +02:00
Andreas Lauser
f32ab0e4e3 add a fluid state where scalars include the derivatives w.r.t. the saturations 2015-09-02 12:23:24 +02:00
Andreas Lauser
919ba96c09 ExplicitArraysFluidState: always make it appear threephase to the exterior, but also accept twophase arrays 2015-09-02 12:23:24 +02:00
Joakim Hove
34e90a0a30 Merge pull request #865 from joakim-hove/table-refactor
Using TableManager to get tables.
2015-09-02 11:57:53 +02:00
Markus Blatt
31617da382 [bugfix] Allow querying the current time step even if we are done.
Previously there was an assertion whether the time stepping is still
running when querying the time step. After commit 5af794cfd5 this
triggered an assertion for Norne. As there is no reason to limit querying
the current time step in this way. This commit simply removes the assertion
in AdaptiveSimulatorTimer::currentStepLength.

This closes OPM/opm-autodiff#446
2015-09-01 19:34:30 +02:00
Joakim Hove
f3151a9abe Using TableManager to get tables. 2015-09-01 12:58:09 +02:00
osae
f81a4d62a4 Zero-porosity cells and MINPV.
Model 2 partly uses PORO=0.0 to signal inactive cells. This PR
prevents such cells from causing unwanted zcorn modifications in
the current min-pv algoritm. (The problem is however more general as
zero PORO or NTG should kill a cell whether MINPV is active or not,
refer kw ACTNUM.)
2015-08-27 17:49:10 +02:00
Joakim Hove
6579a150f3 Merge pull request #860 from joakim-hove/THPRES
Using map base ThresholdPressure implementation.
2015-08-25 16:23:56 +02:00
Joakim Hove
f8fb0ab7ab Using map base ThresholdPressure implementation. 2015-08-25 16:22:37 +02:00
Tor Harald Sandve
b318686df1 Rename last_timestep_ to suggested_next_timestep_ 2015-08-25 11:16:36 +02:00
Tor Harald Sandve
5af794cfd5 Use estimated time-step instead of average in next report step 2015-08-25 06:32:39 +02:00
Fredrik Gundersen
352a5d826b Updated as needed by new opm-parser functinality 2015-08-24 15:37:49 +02:00
Fredrik Gundersen
3d90a918d5 Merge remote-tracking branch 'upstream/master' 2015-08-24 08:35:58 +02:00