opm-simulators/opm/simulators
Roland Kaufmann b03e238d45 Provide protocol for exchanging state with client
The state that is passed to the simulator object is directly
accessible without any encapsulation towards the client. After
the notification callback was introduced, this allows the client
to observe the state in the middle of a simulation.

However, it may be that the simulator has some internal state
which is not reflected in the state object because there is a
cost associated by flushing it into the TwophaseState format.

The notification is called back on every timestep, not just the
ones that will do reporting. It may even be that reporting is
done dynamically and is not known at the time of setup. (It is
more like a condition variable).

Consequently, flushing the state in every timestep is a bad
idea. This patch sets up a new method sync() which it is expected
that the notification will call if it needs the state for
reporting purposes.

Currently it is a no-op. It just establishes a protocol that
other, compatible implementations can also use.
2013-08-30 15:14:22 +02:00
..
SimulatorCompressibleTwophase.cpp replace boost::scoped_ptr by std::unique_ptr 2013-08-08 15:21:38 +02:00
SimulatorCompressibleTwophase.hpp replace boost::scoped_ptr by std::unique_ptr 2013-08-08 15:21:38 +02:00
SimulatorIncompTwophase.cpp Provide protocol for exchanging state with client 2013-08-30 15:14:22 +02:00
SimulatorIncompTwophase.hpp Provide protocol for exchanging state with client 2013-08-30 15:14:22 +02:00