Commit Graph
1128 Commits
Author SHA1 Message Date
Tor Harald Sandve 1969c3711d Move instead of copy data to solution vector 2018-01-09 11:28:20 +01:00
Tor Harald Sandve 0132c3326e Add ecl output from opm-output
The new eclwriter output and restart using the eclIO from opm-output

All tests in opm-simulator pass and
MPI restart works.

Standard initialization is done prior to restart in order
to compute correct initial thpressure values. This is not
necessary if thpressures are written to the restart file

TODO: Some trivial fields are written out in order mimic legacy code,
this should be cleaned up

TODO: Output of wells, FIP, NNC is still done in opm-simulators.
This should be moved later.
2018-01-09 11:05:50 +01:00
Tor Harald Sandve 9192380308 Add support for PBDV and PDDV in initstateequil.hh 2018-01-09 10:42:04 +01:00
Andreas Lauser 4957a301f1 fix all Dune 2.6 related compiler warnings in ebos 2018-01-08 12:23:58 +01:00
Andreas Lauser c8d7be3848 make all headers autonomous again 2018-01-03 19:03:22 +01:00
Andreas Lauser 4e37c53038 restore the hydrostatic equilibration test from opm-core
This involved quite a bit of kicking and screaming. The result
certainly is not pretty, but it works.
2018-01-03 12:28:12 +01:00
Andreas Lauser f65e9fbb69 remove the runtime parameter system from all time critical code paths
it was not supposed to be used there in the first place, but it crept
into the discretization code.
2018-01-02 14:28:52 +01:00
Andreas Lauser 794fc3f588 equil init: reduce the tolerance of the regula falsi solvers to 1e-10 2018-01-02 14:28:06 +01:00
Andreas Lauser 2f00e7804a equil init: rename the files according to the eWoms standard convention
the eWoms file naming convention should probably be changed to the one
of the remaining OPM modules, but this is quite a bit of work and IMO
it is more important to be consistent within the module.
2018-01-02 14:28:06 +01:00
Andreas Lauser 69b1a5ca5a equil init: formating fixes to make it more consistent with the rest of ewoms
in particular, this removes excessive whitespace usage.
2018-01-02 14:28:06 +01:00
Andreas Lauser 79856b3b0a equil init: change all variables to camelCase
this makes it more integrated with the rest of eWoms.
2018-01-02 14:28:06 +01:00
Andreas Lauser 01c2a2da97 equil init: re-indent
this makes the indentation style of the equil init code consistent
with the rest of eWoms.
2018-01-02 14:28:06 +01:00
Andreas Lauser 0690cad957 equil init: get rid of boost::iterator_range
this class is rather simple and it was the only thing from Boost used
by the hydrostatic equilibrium code...
2018-01-02 14:28:06 +01:00
Andreas Lauser d142060386 equil init: replace opm-core's linear interpolation function by Tabulated1DFunction 2018-01-02 14:28:06 +01:00
Andreas Lauser 3f875fb8f2 equel init: pass the type tag to the InitialStateComputer
also, get rid of Opm::extractPvtTableIndex()
2018-01-02 14:28:06 +01:00
Andreas Lauser 028a8c808b equil init: get rid of opm-core's "root finders"
instead, let's bit the bullet and add the few lines required for
regula-falsi-Pegasus method whenever the old RegulaFalsi class was
used. note that this leads to slightly different results for the
SPE5CASE1 flow test. I suspect that the old solvers behave in
unexpected ways, though...

Note that because the inverted functions are usually piecewise linear,
inversion can be done in a much smarter way.
2018-01-02 14:28:06 +01:00
Andreas Lauser db9e26761f equil init: get rid of some UgGridHelpers usage
this only deals with the easy things, i.e. UgGridHelpers::numCells()
and UgGridHelpers::dimensions(). a more thorough cleanup is needed in
the future to make ebos work with grids other than Dune::CpGrid again.
2018-01-02 14:28:06 +01:00
Andreas Lauser 669d3fcd2a equil init: re-indent EquilibrationHelpers.hpp 2018-01-02 14:28:06 +01:00
Andreas Lauser 6f07f38fb1 equil init: get rid of initStateEquil_impl.hpp
now, all the beauty of that part of the code can be admired in
initStateEquil.hpp.

During this exercise, I stumbled over some serious code-quality issues
like a different order of the template arguments for the declaration
and the definition, mismatching argument names and no forward
definition of some functions. besides this, some functions were
already defined in the non-_impl.hpp file and EquilibrationHelpers.hpp
used that approach from the outset.
2018-01-02 14:28:06 +01:00
Andreas Lauser 6871e1cf88 move the hydrostatic equilibrium code to its proper location and make it compile
this just moves the hydrostatic equilibrium code from its historc
location at opm/core to ebos/equil and adds minimal changes to make it
compile. this allows to clean up that code without disturbing the
legacy simulators.
2018-01-02 14:28:06 +01:00
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