Commit Graph

108 Commits

Author SHA1 Message Date
Tor Harald Sandve
321af5ff4d Start using the BlackoilFluidState 2017-12-15 08:20:09 +01:00
Andreas Lauser
ab72522e6c grid managers: update the GridPart / GridView after loadBalance()
depending on the grid implementation, the grid view / grid part object
does not necessarily follow the change. For some reason, the grid part
still does not work in the parallel case (tested with dune-fem 2.4),
but that seems to be an issue on the dune-fem side.
2017-12-11 15:19:09 +01:00
Andreas Lauser
0cad40e420 black-oil: do not write the saturated oil formation factor to VTK anymore
this quantity is pretty useless, and the analogous one for wet gas was
never written...
2017-12-06 15:06:29 +01:00
Atgeirr Flø Rasmussen
6a5c6ea227 Merge pull request #241 from totto82/removeInitDupl
Prepare for using the initial solution from ebos directly
2017-12-05 08:44:29 +01:00
Tor Harald Sandve
8ac306b50a Prepare flow for ebos initialization
Apply swatInit in the initialization
Stop using the equilGrid in the initialization code
Keep The initialFluidState until end of first time step to make it
possible for flow to output it.
2017-11-30 09:30:26 +01:00
Tor Harald Sandve
c979ba1f95 Communicate the default thpress 2017-11-29 16:02:18 +01:00
Tor Harald Sandve
2070247244 Avoid shared pointe for MaterialLawManager 2017-11-21 13:28:53 +01:00
Tor Harald Sandve
5a9123c1b1 Use the Equil initializer directly
Do not relay on opm-core objects like phaseUsage and BlackoilState but
instead use the initializer directly.
2017-11-21 13:28:53 +01:00
Joakim Hove
029de3542e Schedule: explicitly instantiated 2017-10-31 13:14:12 +01:00
Andreas Lauser
6598df59cc Revert "ebos: don't break the downstream build because of the SimulatorParameter mess"
This reverts commit c873e8c92da389bc1d6bc4ed2a5241faddfa7630.

since OPM/opm-simulators#1287 has been merged there are no "in tree"
upstreams which use that mechanism anymore.
2017-10-11 16:12:41 +02:00
Andreas Lauser
d51934ce37 ebos: don't break the downstream build because of the SimulatorParameter mess
this now works with the unmodified master version of flow from
opm-simulators. we take the liberty to emit a deprecation warning,
though. this complicates things quite a bit.
2017-10-10 13:18:09 +02:00
Andreas Lauser
ef2e60e454 ebos: simplify passing of pre-parsed ECL decks
This gets rid of some special-purpose code in generic places (i.e. the
`SimulatorParameter` class) and no special hacks to the property and
parameter system are required anymore.
2017-10-07 21:28:25 +02:00
Andreas Lauser
415fdfd113 EclCpGridManager: remove unused private typedef 2017-10-03 12:48:21 +02:00
Arne Morten Kvarving
fde56c93b2 Merge pull request #209 from andlaus/remove_dune_2_3_support
remove support for dune < 2.4
2017-09-22 11:39:59 +02:00
Robert Kloefkorn
f18b1cdf59 [feature][Simulator] allow parameters to be passed from outside to
simulator. The default behavior is unchanged and the parameters are
empty.
2017-08-23 15:51:51 +02:00
Andreas Lauser
79fc6c68cd add a template class for conditionally storing attributes and use it in ebos 2017-07-21 21:38:13 +02:00
Andreas Lauser
cb24b949a8 make all headers autonomous again
i.e., they can be included without having other files included before them.
2017-07-20 12:08:19 +02:00
Andreas Lauser
96381e3ed7 remove support for dune < 2.4
this allows quite a substantial amount of code decluttering, mainly
because Dune 2.4 renamed mapper.map() to mapper.index().
2017-07-13 14:08:02 +02:00
Robert Kloefkorn
902b2246db [cleanup] avoid buffer write/read when reordering is not necessary. 2017-06-23 22:58:50 +02:00
Robert Kloefkorn
06280c9062 [bugfix] index maps need to be created in any case to account for
possible reordering of element numbering.
2017-06-23 22:58:50 +02:00
Robert Kloefkorn
f1da775f41 [bugfix] dimension was renamed in Geometry, so use from Element to be
consistent with earlier DUNE versions.
2017-06-23 22:58:50 +02:00
Robert Kloefkorn
206523cbec [cleanup] remove shared_ptr from PeacemanWell. 2017-06-23 22:58:50 +02:00
Robert Kloefkorn
7699ed59db [cleanup] make code compile when Scalar is non POD type. 2017-06-23 22:58:50 +02:00
Robert Kloefkorn
2aada96d8c [bugfix] fix build of ebos for Grid != CpGrid. 2017-06-23 22:58:49 +02:00
Robert Kloefkorn
18dd23ff44 [cleanup] make module compile with DUNE 2.5 2017-06-23 22:58:49 +02:00
Tor Harald Sandve
195209982e Add support for PLMIXNUM
also fix some issues with the MISCNUM
2017-06-21 10:27:25 +02:00
Tor Harald Sandve
ecae9d3a78 Address comments frow the review. 2017-06-21 08:03:44 +02:00
Tor Harald Sandve
3dd7fd0b3a Add polymer model to ebos
Adds a conservation equation for polymer.
Polymer concentration in the water phase is used as primary variable
The polymer influences the viscosity of the water, and leaves gas and oil
uneffected.

A shear multiplier is computed if PLYSHLOG and/or SHRATE is specified
based on either velocity or shrate.
The shear multiplier effects the water and polymer viscosity.

Tested and verified on the test cases in polymer_test_suite
2017-06-21 08:00:31 +02:00
Robert Kloefkorn
c8bf519e5e [bugfix] fix propName for ROCKNUM. 2017-06-20 18:08:12 +02:00
Joakim Hove
05bc61e4ba Using std::time_t from TimeMap 2017-06-19 22:13:25 +02:00
Andreas Lauser
bff4c8ade9 ebos: add the raw array of PVT numbers.
this can be used by flow_ebos to be passed to legacy code.
2017-06-16 15:12:27 +02:00
Andreas Lauser
f334bb32b9 ebos: add support for the ROCKOPTS keyword
this becomes important if th region which is supposed to be used by
ROCK is not the same as the region for the PVT properties.
2017-06-16 15:12:26 +02:00
Andreas Lauser
3b37038043 ebos: do not mistake the pressure for the gas saturation anymore
this is a copy-and-pasto that was introduced with #189.
2017-06-16 09:25:56 +02:00
Andreas Lauser
89b21eb641 ebos: fix the compilation
one must use eclProps.getDoubleGridProperty() while the has() method
is called eclProps.hasDeckDoubleGridProperty() (mind the Deck!).
2017-06-14 13:36:37 +02:00
Andreas Lauser
55a5a3a848 ebos: reduce direct deck usage
this reduces the number of direct deck accesses in `EclProblem` in
favour of `EclipseState`-grid properties. as far as i can see,
directly using the deck object cannot fully be avoided because
`EclipseState` does not seem to provide internalized versions of all
these keywords yet.
2017-06-13 16:54:39 +02:00
Andreas Lauser
9d7b226b6e Merge pull request #185 from totto82/miscibility_solvent
Add support for miscible solvent runs
2017-05-24 13:03:27 +02:00
Andreas Lauser
d31ded53e4 ebos: fix the NTG averaging code
the NTG value for active cells in the topmost layer was always
1.0. This resulted in some deviations in the transmissibilities of the
Norne deck which lead the init file comparison unit tests from
opm-simulators to fail.
2017-05-24 11:21:57 +02:00
Tor Harald Sandve
f14ea0e3af Add support for miscible solvent runs
- initialization only via Ecl Deck
- adds modification of relperms and cap-pressures for miscible runs
- adds TL mixing model for effective viscosity and density calculations

Tested on SPE1CASE2_SOLVENT_MISC_TL, SPE9_CP_CO2_MISC_TL, SPE5CASE1-3
and SPE3CASE1_SOLVENT_MISC
2017-05-24 10:52:04 +02:00
Tor Harald Sandve
a5858393c6 Avoid negative indicies in minPvFillNtg_ 2017-05-23 15:48:35 +02:00
Tor Harald Sandve
64feefaf05 Fix minpvProps calculations 2017-05-15 13:49:13 +02:00
Tor Harald Sandve
5fb005d87b Use volume weighted arithmetic average of NTG for cells merged by minpv.
This is a big hack to make the TRAN[X,Y] like flow_legacy and a bit more
like Eclipse.
2017-05-12 13:01:07 +02:00
Andreas Lauser
bcdc4e5e38 blackoil: implement the immiscible solvent extension
Conceptually this is IMO pretty questionable, since it adds a second
"gas phase" that does not mix with "ordinary" gas. I suppose the
reason why this extension was conceived by E100 is that if all you
have is hammer, everything looks like a nail...

Functionality-wise, this patch is still not fully complete because
miscibility of the solvent "phase" is not yet implemented. As far as I
can see, the API changes required by miscibility are quite limited,
though.
2017-05-05 10:46:53 +02:00
Andreas Lauser
cddf643b5a EclFluxModule: add a small fix to the mobility shortcut
let's use zero instead of 10^-18. This can have a small impact on
performance, but the new version is definitely "more" correct, and
also Norne performance seems to improve slightly on my machine.
2017-05-04 16:00:25 +02:00
Andreas Lauser
2f0a32ba63 ECL flux module: make some attributes that are not used elsewhere local 2017-05-04 16:00:25 +02:00
Andreas Lauser
4fd341d98e some fixes for typos in comments 2017-05-04 16:00:25 +02:00
Arne Morten Kvarving
b0ce46f46f adjust for changed ParameterGroup namespacing 2017-04-28 15:35:58 +02:00
Andreas Lauser
5951b2f64c EclCpGridManager: do not delete unintialized pointers
this was found using GCC-7's address sanitizer. I suspect that this
did not surface earlier (i.e., with valgrind), because newly allocated
memory gets initialized to zero by the operating system, so the value
of the pointer was zero and the delete operator did what was right by
coincidence. the new asan seems to initialize memory randomly, though.
2017-04-20 11:05:31 +02:00
Andreas Lauser
96869b6a2f make explicit initialization for twophase cases work
if the initial solution is explicitly given by the deck using the
PRESSURE, SWAT, etc. keywords, the specified state can be
thermodynamically impossible. To avoid inconsistencies, we use a flash
calculation to find a state that is in thermodynamic equilibrium and
exhibits the same masses as the explicitly specified solution. Since
the flash solver needs to compute quantities for all fluid phases, but
two-phase blackoil simulations usually do not specify the properties
of one phase, the flash solver crashed. This patch works around that
issue by simply not using the flash solver in the twophase case, i.e.,
the explicit initial condition must be thermodynamically consistent in
order to produce the stable results for a different choice of primary
variables.
2017-04-18 16:11:44 +02:00
Andreas Lauser
346710c5af ebos: hysteresis needs to be updated for all elements
in the parallel case, this avoids the participating processes from
desyncronizing if the solution is consistent on all processes.
2017-04-15 15:12:15 +02:00
dr-robertk
626db3a0fa Merge pull request #143 from blattms/collecttoiorank-fixes-2
localIndexMaps in CollectToIORank need to be lists of interior element indices.
2017-04-03 16:30:33 +02:00