Commit Graph

125 Commits

Author SHA1 Message Date
Markus Blatt
5553d2d1f3 Renamed variables/functions for number of cells. 2020-10-05 20:02:13 +02:00
Markus Blatt
f791884639 Used std::distance instead of manual for-loop. 2020-10-05 14:31:48 +02:00
Markus Blatt
ca8de16285 Fixes parallel computation of average formation factors.
This was using the sum of the sum of all cells of the partitions.
Hence the shared cells were counted twice.
2020-10-05 14:08:59 +02:00
Atgeirr Flø Rasmussen
c6203e9bec Add command line parameter --serial-partitioning. 2020-09-29 16:14:45 +02:00
Markus Blatt
1d94357558 Refactored how well information is exported after load balancing.
Previously, we exported an unordered map containing all names of
wells that are not present in the local part of the grid.

As we envision to have wells that are distributed across multiple
processors, this information does not seem to be enough. We need
to be able to set up communication for each well. To do this we need
to find out who handles perforations of each well.

We now export a full list of well name together with a boolean
indicating whether it perforates local cells (vector of pair of string
and bool).
2020-09-22 20:04:01 +02:00
Joakim Hove
c0187ffc73 Use std::make_unique<> 2020-09-08 21:57:26 +02:00
Arne Morten Kvarving
7305f84351 use std::make_unique where applicable 2020-09-02 15:35:39 +02:00
Bård Skaflestad
5392726a8f Merge pull request #2745 from akva2/no_macro_properties
Continue replacing macros for typetags et al
2020-08-31 13:00:56 +02:00
Arne Morten Kvarving
93a3ebf8f7 changed: remove NEW_PROP_TAG macro usage 2020-08-28 10:44:53 +02:00
Joakim Hove
0fabb02db4 Add vanguard member UDQState 2020-08-27 17:31:39 +02:00
Arne Morten Kvarving
fca83318aa changed: remove SET_INT_PROP macro usage 2020-08-27 13:01:51 +02:00
Arne Morten Kvarving
a79c37a041 changed: remove SET_STRING_PROP macro usage 2020-08-27 13:01:51 +02:00
Arne Morten Kvarving
0e71c0e29b changed: remove SET_BOOL_PROP macro usage 2020-08-27 13:01:51 +02:00
Arne Morten Kvarving
e8248b44ff changed: remove NEW_TYPE_TAG macro usage 2020-08-27 13:01:51 +02:00
Arne Morten Kvarving
914053ac3c changed: remove GET_PROP_VALUE macro usage 2020-08-27 13:01:51 +02:00
Markus Blatt
c958034d26 Adapt and use readDeck from EclipseBaseVanguard, too.
This reduces code duplication ad should fix the bad_cast exception
when running ebos in parallel.
2020-08-27 09:05:09 +02:00
Markus Blatt
6b3c6cd7f1 Remove EclBaseVanguard::internal*_ variables.
Before this we had a set of external*_ variabales (unique_ptrs), a set of
internal_*_ variables (unique_ptrs) and another set of pointers that
point to the pointers actually used. That seemed a bit much. With this
commit skip the internal variables and use unique_ptrs for all
others. In the constructor either the external*_ gets moved or the
objects are directly created as unique_ptrs.
2020-08-27 09:05:09 +02:00
Markus Blatt
1300139eea Use make_unique to create unique_ptrs with exception safety. 2020-08-27 09:05:09 +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
Arne Morten Kvarving
74fac38d85 changed: remove GET_PROP_TYPE / GET_PROP macro usage 2020-08-27 08:19:39 +02:00
Arne Morten Kvarving
70908d9017 changed: remove BEGIN_PROPERTIES/END_PROPERTIES macro usage 2020-08-21 15:50:35 +02:00
Joakim Hove
b52366926a Add Action::State member to EclPropblem and pass it to io/ActionX 2020-06-17 12:25:03 +02:00
Atgeirr Flø Rasmussen
cdbbdd828e Always create proper case name.
Without this, rank 0 gets an empty case name, resulting in
buggy VTK output with filenames containing the genereric stem
"sim" rather than the case name as stem.
2020-05-29 10:28:42 +02:00
Atgeirr Flø Rasmussen
20c63f9f49 Merge pull request #2624 from OPM/fix/adapt-to-propertysystem-changes
adapt to changes in the property system
2020-05-28 12:05:17 +02:00
Joakim Hove
fd8c79b668 Default to initialize from restart file in case of restarted run 2020-05-21 10:15:20 +02:00
Bernd Flemisch
21df1cbe31 [properties] adapt to changes in the property system
`NEW_PROP_TAG` is now a definition and not just a declaration.
Eliminate superfluous declarations, include headers with definitions.
Make one necessary forward declaration explicit.
2020-05-18 15:54:26 +02:00
Alf Birger Rustad
62f5ba95b4 Enable owner first ordering by default 2020-04-01 12:58:59 +02:00
Joakim Hove
d6a1d3029e Use std::shared_ptr for Python handle to Schedule 2020-03-31 12:28:07 +02:00
Joakim Hove
30216212c4 Add Python argument to Schedule constructor 2020-03-26 10:15:07 +01:00
Arne Morten Kvarving
595f601b2c fixed: double-parsing of the deck
externalDeck = nullptr -> internalDeck was parsed.
i have no idea why we have this external/internal deck in the first place.
2020-03-19 14:50:34 +01:00
Joakim Hove
65f4635e20 Merge pull request #2464 from joakim-hove/relperm-diag-no-deck
Relperm diag no deck
2020-03-16 13:28:44 +01:00
andrthu
3d0d0f9624 Remove GhostLast ILU 2020-03-13 15:03:31 +01:00
Joakim Hove
8473aa38e5 Remove Deck argument to RelpermDiagnostic 2020-03-13 08:54:30 +01:00
andrthu
1fb0860712 add ownersFirst arguments. Change loadBalance to match change in opm-grid. 2020-03-11 12:41:37 +01:00
Markus Blatt
4c962e61d1 Also distribute the centroids when loadbalancing CpGrid.
They are attached to the cells as well and are now distributed
during CpGrid::loadBalance. Due to this change we also rename
FieldPropsDataHandle to PropsCentroidsDataHandle.
2020-03-06 14:09:32 +01:00
Joakim Hove
42f96ca039 Add commandline switch --sched-restart to control restart init 2020-03-04 15:44:32 +01:00
Arne Morten Kvarving
68a9d17de1 changed: pass/store deck as a pointer
and remove asserts for null-ptr. preparatory step for only
having deck on root mpi process
2020-02-28 10:26:55 +01:00
Joakim Hove
5ad4936025 RestartConfig has moved from EclipseState to Schedule 2020-02-17 21:48:12 +01:00
Arne Morten Kvarving
04812f32fb remove boost::filesystem as dependency 2020-02-12 15:03:18 +01:00
Michael Sargado
e1e1efbaaf Skip processing of filename if external deck already exists. 2019-11-07 21:03:30 +01:00
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
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
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 Thune
e4098df759 Allow for different edge weight methods during load balancing 2019-07-23 10:41:27 +02:00
Joakim Hove
2950faece0 Extract the Summary::eval() call from the output call 2019-06-19 09:51:46 +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