Commit Graph

10 Commits

Author SHA1 Message Date
Paul Egberts
d0421582e1 add gas-water simulator 2020-12-03 09:04:11 +01:00
Arne Morten Kvarving
e176487cae changed: rename ebos_thermal to ebos_energy
make it the same as the flow model, allowing simplification
in the buildsystem
2020-11-18 14:04:27 +01:00
Arne Morten Kvarving
9ad927799b changed: rename ebos_oilwaterpolymer to ebos_oilwater_polymer
make it the same as the flow model, allowing simplification
in the buildsystem
2020-11-18 14:04:04 +01:00
Arne Morten Kvarving
7305f84351 use std::make_unique where applicable 2020-09-02 15:35:39 +02:00
Markus Blatt
75104fd310 Move to more consistent ownership of ECL data in EclBaseVanguard
We resort to consistently use unique_ptrs in EclBaseVanguard for
the data read from ECL files or set externally. This means that
during the simulation EclBaseVanguard owns this data and not Main
or the ebos setup functions. This ownership transfer becomes
transparent due to std::move.

This came up when trying to fix the parallel runs of ebos and during
that removing some code duplication.
2020-08-27 09:05:09 +02:00
Robert Kloefkorn
44e4ea3cdf [feature][ebos] Adding oil-water-polymer option of ebos. 2019-12-09 18:16:23 +01:00
Arne Morten Kvarving
d3d9831fc3 changed: ewoms/common -> opm/models/utils 2019-09-19 11:14:36 +02:00
Arne Morten Kvarving
5599bb6d8c changed: namespace Ewoms -> namespace Opm 2019-09-05 17:14:38 +02:00
Andreas Lauser
993f1133c8 enable the foam extension for ebos/mebos 2019-08-09 11:04:45 +02:00
Andreas Lauser
ca8ea76818 add mebos, a multiplexed ebos variant
`mebos` works similarly as `flow`, but in contrast to `flow`, `mebos`
only creates the deck in the common code path whilst the
'EclipseState' and the other higher-level parser objects are always
created internally by the vanguard. this approach avoids code
duplication and the worst effects of parser API creep.

to avoid having to compile non-trivial compile units multiple times,
the actual code of the variants is moved into `ebos_$VARIANT.{hh,cc}`
files and the respective compile units are each put into a small
static library whilst the main function of said libraries are invoked
by either the multiplexed or the respective specialized simulator's
`main()`. This is also somewhat similar of how `flow` works, with the
difference that `mebos` uses the blackoil variant to determine the
parameters it needs to know for parsing the deck instead of
introducing a "fake" type tag for this. The rationale is to reduce
compile time compared to the "fake type tag" approach and -- to a
lesser extend -- avoid unnecessary copy-and-pasting of code. In
particular, this means that for the vast majority of cases, only one
place needs changed in the code for all `ebos` variants if, for
example, the parser API requires further objects in the future.
2019-06-11 10:27:47 +02:00