Commit Graph

20 Commits

Author SHA1 Message Date
Markus Blatt
8c18bfcc50 Added missing include for unordered_set.
This is what the travis build
https://travis-ci.org/OPM/opm-simulators/builds/159576974 complained about.
2016-09-14 14:41:27 +02:00
Markus Blatt
63d785d7ba Work around explicit empty constructor of unordered_set in C++11
With GCC version (Debian 4.9.2-10) 4.9.2 we get the following error
when compiling with -std=c++11 (default for dune 2.4):

converting to ‘const std::unordered_set<std::basic_string<char> >’ from initializer list would use explicit constructor
2016-09-13 10:58:26 +02:00
Atgeirr Flø Rasmussen
4d2d004c43 Merge pull request #769 from blattms/fix-step-used-by-parallel-io
Fix step number used by parallel io and OutputWriter::writeTimeStep
2016-09-07 14:09:56 +02:00
Markus Blatt
4a6be3d33b Fix step number used to create global well state in parallel output.
When running in parallel a well state object with the well information
of the whole grid needs to constructed to gather the information from all
processes. Previously, this was done with the report step exported by the
timer. This was wrong for the following reason:
The output occurs after solving the time step and the timer is already
incremented. This means that we constructed the well state for gathering the
data for the next report step, already. Unfortunately, at that step some
wells that we have computed results for might have been shut. In that case
an exception with message "global state does not contain well ..." was thrown.

This problem occured for Model number 2 and might have been due to shut wells
because of banned cross flow.

With this commit we use the last report step if this is not an initial write
and not a substep.
2016-09-02 14:41:47 +02:00
Markus Blatt
b6c06738b5 Do not assume ordering in an unordered_map when gathering data.
The order of an unordered_map is quite unpredictable. (The same
order will only hold with the same hash function, comparison
operator, and insertion order). Therefore we cannot assume that
the global SimulationDataContainer uses the same order for the
cell data as the local one (This was done before this commit).
But we can assume that the local one uses the same order on every
process.

Before this commit data got mixed up (e.g. gasoilratio with surfacevol)
when gathering local data for writing eclipse files on the master
process. This commit fixes this.

Instead of iterating over the cell data of the global state when
writing the data received, we again iterate over the cell data of
the local state and simply use the key to request the correct data
for writing from the global state.
2016-07-25 17:17:06 +02:00
Kai Bao
18fa442721 adapted to the interface change of WellsManager
At the moment, for the ParallelDebugOutput, we put a dummy
dyanmic_list_econ_limited, not sure how it will the parallel running.

The basic problem is that when initialzing the globalWellState_, what
will happen if they can not find state information for a well in the Wells*.

If some defaulted values are used, then no big problem here.
2016-07-05 13:02:27 +02:00
Markus Blatt
e9b8721d2a Prevent dereferencing a null pointer during parallel output.
ParallelDebugOutput will always dereference its member variable
globalReservoirState_ even if it will not be used for any output.
In g++ this throws when using -D_GLIBCXX_DEBUG -DDEBUG -DGLIBCXX_FORCE_NEW.
I any case we will have a dangling reference into Nirvana in
PackUnPackSimulationDataContainer. This commit fixes this by always
initializing the pointer globalReservoirState_. In the case where the rank
does not perform any output its size will be zero.
2016-05-25 13:49:33 +00:00
Atgeirr Flø Rasmussen
37c4bd16b1 Adapt code to dune-cornerpoint -> opm-grid renaming. 2016-04-06 13:29:47 +02:00
Joakim Hove
18c07d5d66 Replaced SimulatorState -> SimulationDataContainer 2016-03-29 10:48:36 +02:00
Robert Kloefkorn
9d5df94080 ParallelDebugOutput: remove warning and cleanup. 2015-10-28 19:03:37 +01:00
Robert Kloefkorn
e30688fb85 ParallelDebugOutput: initialize wells with current report step number. 2015-10-28 19:03:37 +01:00
Robert Kloefkorn
36ca75c4b7 ParallelDebugOutput: fix bug in creation of local to global map on I/O rank. 2015-09-21 16:48:57 +02:00
Robert Kloefkorn
299b0aa3cf ParallelDebugOutput: fix initialization of wells for the I/O rank. 2015-09-21 14:05:35 +02:00
Robert Kloefkorn
04ec4eb2bf ParallelDebugOutput: disable wells, seems to not work after latest changes in opm-core. 2015-09-21 12:52:37 +02:00
Robert Kloefkorn
f63487ad0f ParallelDebugOutput: initialize globalIndex in serial run too. 2015-09-21 12:42:41 +02:00
Robert Kloefkorn
dacb4013ed ParallelDebugOutput: only use parallel output when mpi size > 1. 2015-09-21 12:24:07 +02:00
Atgeirr Flø Rasmussen
2d4c10d919 Silence unused argument warning. 2015-09-17 14:56:59 +02:00
Robert Kloefkorn
e8fad08d81 ParallelDebugOutput: workaround for ancient gcc bug. 2015-09-16 14:59:37 +02:00
Robert Kloefkorn
0696dbc1bb ParallelDebugOutput: remove warnings due to unused variables. 2015-09-16 13:05:00 +02:00
Robert Kloefkorn
326faa99d7 ParallelDebugOutput: make the output in ecl format work in parallel by communicating
to an io rank and then proceed with serial output.
2015-09-16 09:48:22 +02:00