Commit Graph

14 Commits

Author SHA1 Message Date
Andreas Lauser
8a6b30ac74 fix headers
make all non-implementation headers includable without
preconditions. Also, this removes the GravityColumnSolver.hpp file,
because it tried to include a non-existing file and it was thus unused.
2013-09-11 13:11:47 +02:00
Andreas Lauser
5bb9053206 include iostream in the files which use std::cerr or std::cout
for some of these files this is needed to make to keep it compiling
after the next patch because the new ErrorMacros.hpp file will no
longer implicitly includes <iostream>. for the remaining files it is
just good style.

While at it, the includes for most of these files have been ordered in
order of decreasing abstraction level.
2013-09-05 13:04:37 +02:00
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
Roland Kaufmann
c1eadadb72 Replace old timestep completed event with new scheme 2013-08-26 13:08:49 +02:00
Andreas Lauser
2a26964c7d replace boost::scoped_ptr by std::unique_ptr
thanks to Bård Skaflestad, Atgeirr Rasmusen and Roland Kaufmann for
the hint.
2013-08-08 15:21:38 +02:00
Andreas Lauser
8afc71db57 use std::shared_ptr instead of boost::shared_ptr
our policy is that we only use boost if necessary, i.e., if the oldest
supported compiler does not support a given feature but boost
does. since we recently switched to GCC 4.4 or newer, std::shared_ptr
is available unconditionally.
2013-08-08 13:25:58 +02:00
Andreas Lauser
5c4c44812d fix a few CLang warnings
most of them quite insignificant, but still annoying. The only
exception is the warning about the changed alignment for the 'work'
argument of spu_implicit_assemble(). AFAICT, the only reason why it
worked was that the pointer produced by malloc() was passed
directly. (malloc() seems to fulfill all alignment criteria.) To fix
this, I've changed that argument's type from char* to double*.
2013-07-30 16:27:20 +02:00
Bård Skaflestad
147dabc3ce Merge from upstream 2013-05-23 09:50:46 +02:00
Roland Kaufmann
fe84822e52 Provide template functions in separate header
Template functions must be defined in the header since the library
cannot contain generic code. To keep only the interface in the main
header, all such function bodies are put in a separate _impl file.
2013-05-15 21:32:32 +02:00
Roland Kaufmann
37906058f5 Notify callbacks when a timestep has completed
Client code can do additional processing for the output of each
timestep.
2013-05-14 11:36:13 +02:00
Atgeirr Flø Rasmussen
b9fc9896d3 Rename function argument and variable.
rock_comp -> rock_comp_props
2012-10-12 09:21:52 +02:00
Atgeirr Flø Rasmussen
7c313282c0 Minor comment fix. 2012-08-22 09:05:54 +02:00
Atgeirr Flø Rasmussen
8e80848486 Added well constraint checking to SimulatorIncompTwophase.
- Changed Wells constructor arg for SimulatorIncompTwophase to WellsManager.
 - Insert checking code for well constrains (mostly copied from spu_2p.cpp).
Unrelated to the above changes.
 - Added pressure normalization for incompressible case (from spu_2p.cpp)
2012-08-21 10:51:14 +02:00
Atgeirr Flø Rasmussen
a86239d10c Renamed SimulatorTwophase -> SimulatorIncompTwophase. 2012-08-20 15:45:05 +02:00