Commit Graph

492 Commits

Author SHA1 Message Date
Markus Blatt
a0fa87e81f Make sure subclass functions are not called before subclass is initialized.
This at least slightly improves the old design. In that design the
subclass had no own constructor but inherited the one of the base class.
That base class constructor called certain subclass
functions (createGrids_, filterConnections_, updateOutputDir_, and
finalizeInit_)that would initialize raw pointers of the
subclass. Hence subclasses where not allowed to have non-pod members
and those used later (e.g. deleted in the destructor) had to be
initialized in these functions.

The new (still ugly) design introduces constructors into the
subclasses and skips inheriting constructors. Now one must call a base
class function classImplementationInit which will still call the
functions createGrids_, filterConnections_, updateOutputDir_, and
finalizeInit_, but at least at this point the baseclass is fully
constructed and the subclass is constructed as much as
possible/needed (non-pod types will be initialized now.)
2019-10-01 21:18:17 +02:00
Bård Skaflestad
d979fb0fae Blackoil Output: Chase API Change in SummaryNode Class
In particular, the .type() function is renamed to .category(), and
it no longer returns a LibECL type.  Similarly, the .num() function
has been renamed to .number().
2019-09-30 15:00:05 +02:00
Bård Skaflestad
fabc067b5e Blackoil Output: Don't Include "eclwriter.hh"
The EclWriter class depends on the EclOutputBlackOilModule, not the
other way around.  This removes a cyclic include.
2019-09-30 14:47:50 +02:00
Tor Harald Sandve
dfede36018 Make is possible to test driftCompensation i Flow, Default is still false 2019-09-25 09:03:32 +02:00
Joakim Hove
06107450d6 Uuse new EquilRecord from opm-common 2019-09-23 21:42:41 +02:00
Joakim Hove
bbb9cd3483 Pass sim start argument to SummaryState constructor 2019-09-20 07:40:04 +02:00
Arne Morten Kvarving
8d78334e21 changed: ewoms/io -> opm/models/io 2019-09-19 11:17:12 +02:00
Arne Morten Kvarving
1aba020ea3 changed: ewoms/disc -> opm/models/discretization 2019-09-19 11:16:26 +02:00
Arne Morten Kvarving
d3d9831fc3 changed: ewoms/common -> opm/models/utils 2019-09-19 11:14:36 +02:00
Arne Morten Kvarving
7048589ec1 changed: ewoms/models/blackoil -> opm/models/blackoil 2019-09-19 11:12:45 +02:00
Arne Morten Kvarving
681672660a changed: ewoms/parallel -> opm/models/parallel 2019-09-16 09:52:49 +02:00
Arne Morten Kvarving
5599bb6d8c changed: namespace Ewoms -> namespace Opm 2019-09-05 17:14:38 +02:00
Atgeirr Flø Rasmussen
aff158566e
Merge pull request #1990 from akva2/use_opm_grid_region_mapping
changed: remove duplicated regionmapping class
2019-09-05 12:39:33 +02:00
Joakim Hove
ef3a159e89
Merge pull request #1986 from joakim-hove/enum-refactor
Adapt to enum changes
2019-09-04 16:29:32 +02:00
Arne Morten Kvarving
e1696e6d5b changed: remove duplicated regionmapping class
use version from opm-grid
2019-09-04 15:47:52 +02:00
Joakim Hove
3d36565db7 Adapt to enum changes 2019-09-03 22:18:34 +02:00
Joakim Hove
750184cdf6 Add reportStep argument to Schedule::actions() 2019-08-29 19:38:27 +02:00
Joakim Hove
9b4c9e7dae Add applyActions() to Simulator 2019-08-19 16:26:22 +02:00
Andreas Lauser
993f1133c8 enable the foam extension for ebos/mebos 2019-08-09 11:04:45 +02:00
Atgeirr Flø Rasmussen
12032203b3 Improve out-of-range check for extra components. 2019-08-07 12:03:43 +02:00
Atgeirr Flø Rasmussen
dd612c58a2 Make ebos variants compile. 2019-08-07 10:39:16 +02:00
Franz G. Fuchs
7fb90bff47 Use foam module. 2019-08-07 10:39:16 +02:00
Andreas Thune
e4098df759 Allow for different edge weight methods during load balancing 2019-07-23 10:41:27 +02:00
Arne Morten Kvarving
911727527b quell some unused parameter warnings 2019-07-08 12:14:24 +02:00
Andreas Lauser
c67b9e66d3 ebos: by default, do not abort the simulation as quickly 2019-06-27 15:51:40 +02:00
Tor Harald Sandve
e2420a4361
Merge pull request #1916 from andlaus/abort_on_unknown_parameters
mebos, flow: adapt to the eWoms changes in handling unknown parameters
2019-06-27 14:59:35 +02:00
Tor Harald Sandve
fd26b61599
Merge pull request #1907 from andlaus/improve_time_integration
Improve time integration
2019-06-27 14:08:07 +02:00
Andreas Lauser
1bbf18d7c8 mebos, flow: adapt to the eWoms changes in handling unknown parameters
for `flow`, there's no change compared to the current behavior, `ebos`
and its variants will complain when it encounters unused parameters.
2019-06-27 11:51:28 +02:00
Kai Bao
9a2fcdbfd5 fixing warnings in other folder under opm-simulators 2019-06-26 10:48:41 +02:00
Andreas Lauser
c2aebbb5da EclProblem: use the generic time integration mechanism
i.e., the EclProblem does no longer need to implement the
`timeIntegration()` method itself. since `flow` does not use this code
path, it is unaffected.
2019-06-25 12:39:00 +02:00
Andreas Lauser
626e8dd243 ebos: set the default for the number of threads to 2 if openMP is available
this value is was chosen to exactly replicate `flow`'s behavior. IMO,
it would be less surprising to set the default to `1`, i.e., the user
needs to specify `--threads-per-process=$N` explicitly if
multithreaded linearization ought to be used.
2019-06-24 14:23:55 +02:00
Andreas Lauser
c0b48e28c3
Merge pull request #1902 from totto82/fix_ebos_ecl_tuning2
Only apply timestep after event at the beginning of an episode
2019-06-21 11:02:56 +02:00
Tor Harald Sandve
4b1544469d Only apply timestep after event at the beginning of an episode 2019-06-21 08:43:13 +02:00
Arne Morten Kvarving
76eab9e160 fixed: unused variable warning without MPI 2019-06-19 11:57:56 +02:00
Joakim Hove
2950faece0 Extract the Summary::eval() call from the output call 2019-06-19 09:51:46 +02:00
Joakim Hove
24e3afc544
Merge pull request #1887 from joakim-hove/remove-unused-args
Remove unused arguments from write task
2019-06-14 16:05:56 +02:00
Joakim Hove
e5d2d70ee5 Remove unused arguments from write task 2019-06-14 14:44:06 +02:00
Tor Harald Sandve
ba3598a6ae Let the output writer determine what to write in ebos 2019-06-14 13:57:41 +02:00
Tor Harald Sandve
edbc28f46c
Merge pull request #1879 from andlaus/mebos
add `mebos`, a multiplexed ebos variant
2019-06-13 11:03:38 +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
Joakim Hove
1790910269 Call Summary::eval() and ::add_timestep separately 2019-06-06 12:14:46 +02:00
Joakim Hove
47f4e750d2
Merge pull request #1865 from joakim-hove/use-shared-summarystate
Use shared summarystate
2019-06-04 09:49:56 +02:00
Tor Harald Sandve
9d6f20b172
Merge pull request #1870 from andlaus/ebos_cleanups
Ebos cleanups
2019-06-03 14:32:17 +02:00
Tor Harald Sandve
2df734f00e output .INIT and .GRID also on restart 2019-06-03 12:21:34 +02:00
Andreas Lauser
f5e26df6af ebos: tell the parser not to bail out if it encounters superfluous records
this makes slightly incorrect decks usable with `ebos`. since the
common `flow` variants use a different code path to parse the deck,
they are unaffected. (as far as I can see, the only variant which
might be affected is `flow_ebos_oilwater_polymer_injectivity` and even
for it `flow`'s multiplexing code will abort the run before the
vanguard is even called.)
2019-06-03 11:20:41 +02:00
Andreas Lauser
c315a9a473 ebos: make it possible to disable aquifiers
for now, disabling aquifers is an experimental feature...
2019-06-03 11:20:41 +02:00
Andreas Lauser
ef74025523 ebos: tone down the warning in the startup message slightly
The intend is to make the purpose of `ebos` clearer: while it can be
used in production, the stability guarantees are somewhat lower than
for `flow` and testing is a bit less rigorous (most of the time).
2019-06-03 11:11:41 +02:00
Andreas Lauser
c86470e768 tracer model: fix a few output messages
fixes some typos, adds better wording and fixes some duplication
issues on parallel runs.
2019-06-03 11:11:41 +02:00
Andreas Lauser
b699f40cee fix "checking conservativeness" debug message for parallel runs 2019-06-03 11:11:41 +02:00
Andreas Lauser
c0a2fdf5c6 fix a few harmless compiler warnings 2019-06-03 11:11:41 +02:00