Commit Graph

18 Commits

Author SHA1 Message Date
Robert K
6eeecbb02b - adjust OutputWriter to SimulatorTimerInterface
- remove WriterTimer from EclipseWriter and use SimulatorTimerInterface
- adjust to the above in AdaptiveTimeStepping.
2015-01-09 16:22:03 +01:00
Robert K
10cffa770b EclipseWriter: allow for writing of substeps in addition to report steps. 2015-01-09 16:21:03 +01:00
Andreas Lauser
493650d2b1 EclipseWriter: Don't use the deck directly anymore
instead, use Opm::EclipseState. This requires to pass the PhaseUsage
object to the EclipseWriter, as this one cannot be recovered from
EclipseState (yet?).
2014-07-18 11:20:28 +02:00
Andreas Lauser
dc5fc64e98 EclipseWriter: pass an EclipseState to it and use it where possible 2014-07-16 14:34:24 +02:00
Andreas Lauser
3ce9d6b3b1 output writers: remove the state parameters from writeInit()
because as discussed with Atgeirr, this function should no longer
write the initial solution, it also does no longer need to know the
initial simulator state...
2014-04-02 16:42:04 +02:00
Roland Kaufmann
5371e19d19 Use new parser in common output interface
Since EclipseWriter can now take a Deck instead of an EclipseGridParser
the interface can be changed to take this type instead.
2014-04-01 14:33:55 +02:00
Andreas Lauser
2397eecf6f EclipseWriter: work around a GCC 4.4 smart_ptr bug
maybe it is not a bug but a slightly spec. The problem is that GCC 4.4
does not implicitly convert std::shared_ptr<$FOO> to
std::shared_ptr<const $FOO> which caused the recent Jenkins build
errors at Statoil. Note that this problem only occurs with the output
writer in conjunction with the old Eclipse parser, so
OPM/opm-autodiff#105 also makes the problem disappear. The present
patch addresses the root cause, though...
2014-03-20 16:58:57 +01:00
Roland Kaufmann
9cba2591e9 Do without the timestep index adjustment
If the output routines are called at the right place in the simulator,
then the numbering scheme coincide with that of Eclipse, and no
adjustments are necessary.
2013-11-27 00:24:30 +01:00
Roland Kaufmann
7e349636c1 Propagate initial state to the writer as well
The writeTimeStep method is called *after* each timestep and does
not include the initial state of the reservoir. If the writer wants
to dump the initial state of the reservoir, this must be done in
writeInit, which is called before the simulator is run, but after
the initial state has been set up.
2013-11-26 22:34:42 +01:00
Roland Kaufmann
bf19e48e67 Add virtual destructor to avoid memory loss upon free 2013-11-26 11:40:37 +01:00
Roland Kaufmann
aff6fad661 Use more generic simulator state
We can dump the state of the two-phase incompressible simulators as
well as the blackoil simulators by just using the common interface.
2013-11-25 14:14:51 +01:00
Roland Kaufmann
d83d7d829c Writing output should not change the state
Therefore we take const parameters across the board. (This is a
follow-up to the patch which declared the UnstructuredGrid const).
2013-11-25 14:14:50 +01:00
Roland Kaufmann
1baf7369ef Use constant grid in output writing
Grid manager returns a const UnstructuredGrid*, and the entire chain
of pointer-passing glory should adhere to this const-ness.
2013-11-25 14:14:48 +01:00
Roland Kaufmann
ce7eb44836 Propagate UnstructuredGrid to the EclipseWriter ctor
The writer will need to know which cells are the active cells after
post-processing (because these are the cells there is stored results
for in the pressure and saturation arrays), and thus not only the
raw input grid (to get the COORD and ZCORN arrays which is not easily
detainable from the UnstructuredGrid), *and* the UnstructuredGrid
needs to be available.
2013-11-25 14:14:48 +01:00
Roland Kaufmann
b6c192fea5 Move shared object hack into more useful generic
The template function share_obj let you pass regular references
as shared pointers, which makes it easy (perhaps too easy) to quick-
fix old code which pass references and have stern warnings about the
lifetime rules of the objects in the documentation section instead.
2013-11-25 14:14:48 +01:00
Roland Kaufmann
ede84e6cc8 Add helper to use stack variables with shared_ptr
If an interface requires a shared_ptr, but we have an object that is
known to outlive the client anyway, we can use a custom deleter to
suppress the delete part and pass this object around anyway.
2013-11-25 14:14:48 +01:00
Roland Kaufmann
568e597561 Use shared_ptr to signal lifetime requirement
The code is now allowed to use C++11, where shared_ptr is available
in the standard. To specify that the parser object must be present
for the output writer in its entire lifetime, we require to be passed
a shared_ptr. (This can be faked for local storage anyway).
2013-11-25 14:14:47 +01:00
Roland Kaufmann
6f32b92f6c Renamed away extraneous verbosity in filenames 2013-11-25 14:14:47 +01:00