Commit Graph

1757 Commits

Author SHA1 Message Date
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
Markus Blatt
ae6ef8249b Use empty constructor to construct empty shared_ptr.
At least for g++-4.4. shared_ptr does not have a constructor
taking an integer and therefore compilation fails. Therefore we
resort statements to construct empty pointers, like
```parser_(0)```
to using the empty constructor:
```parser_()```

This patch closes #533
2014-03-20 10:51:18 +01:00
Atgeirr Flø Rasmussen
550048b468 Merge pull request #523 from andlaus/EclipseWriter_add_new_parser
EclipseWriter: add new parser
2014-03-20 09:03:06 +01:00
Markus Blatt
b773c3de89 Include fastamg.hh for dune-istl 2.3
For the inofficial 2.2 release this was included automatically with amg.hh.
2014-03-19 19:51:17 +01:00
Markus Blatt
69a6a38856 Complete cf7f07b PR #530 to support FastAMG with dune-istl 2.3
This fixes further occurences of DUNE_HAS_FASTAMG that were
missed in pull request #530.

Previously we relied on the define DUNE_HAS_FAST_AMG to detect
whether these preconditioners are available. This define is only
available in the 2.2 release with cmake support. Therfore we now
addtionally test whether we are using dune-istl 2.3 or newer.
2014-03-19 17:40:02 +01:00
Andreas Lauser
75374c8745 EclipseWriter: add method variants taking the new instead of the old parser 2014-03-19 17:36:05 +01:00
Andreas Lauser
4aa4108367 EclipseWriter: Don't mingle multiple operations using arguments
This means that EclipseKeyword now never processes the data it
gets. Instead the data must be explicitly preprocessed by the calling
site using the new auxiliary functions "convertUnit()",
"extractFromStriped()", etc. This approach needs a few additional
temporary copies of the data, but given the facts that readability of
this code is much better using this approach, and that EclipseWriter
is neither a performance- nor a memory critical codepath, I don't care
too much about those temporary arrays...
2014-03-19 17:36:05 +01:00
Atgeirr Flø Rasmussen
f2d3098e50 Merge pull request #530 from blattms/support-fast-amg-2.3
Makes KAMG and FastAMG solver available with dune-istl 2.3
2014-03-19 15:28:23 +01:00
Atgeirr Flø Rasmussen
3d9ef44625 Merge pull request #528 from blattms/fix-nonunifom
Fixes compilation of BlackoilPropertiesFromDeck.cpp.
2014-03-19 12:31:05 +01:00
Atgeirr Flø Rasmussen
f4c899db4b Merge pull request #525 from andlaus/SimulatorTimer_allow_to_be_limited_to_subranges
SimulatorTimer: allow it to be limited to a sub-range of all report steps
2014-03-19 12:21:37 +01:00
Andreas Lauser
95985f0694 SimulatorTimer: allow it to be limited to a sub-range of all report steps 2014-03-19 11:36:39 +01:00
Andreas Lauser
829f791261 endpoint scaling: change default threephase_model to gwseg
and throw an exception if "simple" is encountered...

According to Ove, gwseg should be used, because "gwseg is the model
relevant to the norne case - i.e the model eclipse uses.

The fix for the simple model has to wait for a refac of the satfunc
complex."
2014-03-19 11:22:43 +01:00
Markus Blatt
cf7f07b179 Makes KAMG and FastAMG solver available with dune-istl 2.3
Previously we relied on the define DUNE_HAS_FAST_AMG to detect
whether these preconditioners are available. This define is only
available in the 2.2 release with cmake support. Therfore we now
addtionally test whether we are using dune-isl 2.3 or newer.
2014-03-19 11:19:25 +01:00
Markus Blatt
fed0136a21 Fixes compilation of BlackoilPropertiesFromDeck.cpp.
Patch 31c09aed was erroneous as it was trying to assing a
SaturationPropsFromDeck<SatFuncSimpleNonuniform> to a
SaturationPropsFromDeck<SatFuncSimpleUniform> in the constructor
taking the new parser. This patch fixes this.
2014-03-19 11:09:13 +01:00
Atgeirr Flø Rasmussen
a529dd5ae4 Merge pull request #517 from blattms/issue-516
Apply changes from commit a953ba8 to new parser code too.
2014-03-19 08:29:16 +01:00
Andreas Lauser
5c55fb7341 fix densities for new parser in BlackoilPvtProperties
that is one of the more subtle differences between the old and the
new parsers. now, valgrind does not seem to complain anymore, so everything
should be All Right (TM) ;)
2014-03-18 20:42:40 +01:00
Andreas Lauser
83dcf17d5b endpoint scaling: invert condition
yeah, true and false are difficult things sometimes...
2014-03-18 15:11:38 +01:00
Atgeirr Flø Rasmussen
1ef11653b4 Merge pull request #515 from andlaus/EclipseWriter_cleanups
Eclipse writer cleanups
2014-03-17 15:24:07 +01:00
Atgeirr Flø Rasmussen
f8f7550782 Made single-argument constructors explicit.
Avoids unintended implicit conversions.
2014-03-17 13:27:50 +01:00
Bård Skaflestad
e65d99ad4c Merge pull request #508 from atgeirr/adjust-initial-wellrates
Adjustment to well rate initialisation.
2014-03-15 14:59:27 +01:00
Andreas Lauser
314b3a32d8 some cleanups for EclipseWriter
- the output=true|false parameter gets respected now
- if output is "true", it is checked that the value of the
  "output_dir" parameter is a directory (although I did not find an
  easy way to check whether it is writable short of writing a file to
  it.)
- the "output_interval" parameter gets respected as well
- the index of a written timestep is now independent of the time step
  index of the simulation: the initial solution is always 0, the first
  result written to disk is always 1 and so on... (i.e., it does not
  matter anymore how many steps the simulator needed between two writes)

these changes have been proposed by @atgeirr. Thanks!
2014-03-14 19:45:15 +01:00
Atgeirr Flø Rasmussen
065efc5b0e Merge pull request #520 from qilicun/plyshear
Read keyword PLYSHEAR.
2014-03-14 12:36:21 +01:00
Atgeirr Flø Rasmussen
d2e6ccec33 Fix logic related to open/shut wells initialisation. 2014-03-14 11:27:20 +01:00
Atgeirr Flø Rasmussen
d25b9cd13a Merge pull request #514 from joakim-hove/wells-cpos-manipulation
Removed cpos = ~cpos constructions for closing a well
2014-03-14 11:08:53 +01:00
Liu Ming
5fff1d25dc Read keyword PLYSHEAR. 2014-03-14 15:34:38 +08:00
Atgeirr Flø Rasmussen
c59727720d Merge pull request #511 from andlaus/initStateFromDeck_reverse_PRESSURE_and_EQUIL
initStateFromDeck: reverse the priorities of the PRESSURE and EQUIL keywords
2014-03-13 20:30:31 +01:00
Andreas Lauser
de792c72c7 initStateFromDeck(): do not accept potentially contradicting ways to set the initial condition
i.e. PRESSURE and EQUIL are now considered mutually exclusive...
2014-03-13 16:33:32 +01:00
Markus Blatt
21bf14de0d Fixed missed on occurence of number of samples 2014-03-13 12:13:11 +01:00
Markus Blatt
31c09aed09 Apply changes from commit a953ba8 to new parser code too.
The mentioned commit was applied before the merge of
opm-parser-integrate and therefore the changes did not carry over
to the code that uses the new parser. This code mimics the
changed behaviour for the new parser.

Closes issue #516
2014-03-13 12:00:01 +01:00
Joakim Hove
58f96a5808 Will check if a well is open before throwing for an invalid control. 2014-03-12 20:27:17 +01:00
Andreas Lauser
3aef6578f9 SimulatorTimer: rename currentTime() to simulationTimeElapsed()
because the name "currentTime()" can be mistaken for the point in
real-life time at which the simulation is run (e.g. March 11, 2014,
15:07:45.123), the _point_ in time which the simulator timer currently
represents (e.g. Jun 5, 1985, 02:33:12.345) instead of the simulator
time in seconds which elapsed since the START date
(e.g. 52633.345 s).

this rename may lead to some fallout in other modules. I'll
fix them after this PR has been merged...
2014-03-12 19:01:58 +01:00
Joakim Hove
1f94abcf14 Removed cpos = ~cpos constructions for closing a well; using well_controls_shut_well explicitly instead. 2014-03-12 17:41:40 +01:00
Kari B. Skjerve
c34d7a40fc Added support of SWCR and SOWCR in CornerpointChopper 2014-03-11 14:51:23 +01:00
Atgeirr Flø Rasmussen
f1377d9729 Bugfix: || -> && 2014-03-11 12:54:04 +01:00
Atgeirr Flø Rasmussen
c46ad990c1 Assert to avoid future surprises.
Well types must be either INJECTOR or PRODUCER for now, if
we change this in the future, we should check this part of
the code as well.
2014-03-11 12:51:49 +01:00
Atgeirr Flø Rasmussen
dbd0635fda Commented choices in initialisation of well rates. 2014-03-11 12:50:58 +01:00
Atgeirr Flø Rasmussen
e510dde102 Initialize well rates better.
Instead of making well rates zero for wells that are not controlled by
surface volume, we initialize them to a small value with the correct
sign (positive for injectors, negative for producers).
2014-03-10 13:30:43 +01:00
Bård Skaflestad
e2d5aafb56 Merge pull request #506 from atgeirr/suppress-warnings
Suppress warnings
2014-03-06 11:37:17 +01:00
Atgeirr Flø Rasmussen
9edbe36b58 Remove extra semicolon. 2014-03-06 08:24:00 +01:00
Atgeirr Flø Rasmussen
ec22c9b491 Remove warning pragmas.
They are only available on gcc 4.6 and newer, and clang.
2014-03-05 08:41:53 +01:00
Joakim Hove
ae4738f5e7 Changed open / close behaviour of well_controls: 1) well_controls has an explicit open_close flag. 2) Will NOT flip current value to change open|close status 2014-03-04 20:23:19 +01:00
Atgeirr Flø Rasmussen
f35c193b38 Suppress unused argument warnings. 2014-03-04 11:32:32 +01:00
Atgeirr Flø Rasmussen
97328b5a17 Suppress warnings from included istl code.
This is done using #pragma GCC and works also in clang.
2014-03-04 11:31:16 +01:00
Atgeirr Flø Rasmussen
73926a1b21 Merge pull request #495 from osae/endscale
Endpoint scaling and hysteresis for gwseg.
2014-03-04 10:29:50 +01:00
Atgeirr Flø Rasmussen
0eb32276fb Allow direct interpolation of props with new parser.
After transitioning to use the new parser, the SinglePvtDead class was never
used even when the 'samples' argument used to control usage was zero or negative.
The resulting construction of SinglePvtDeadSpline objects was then failing.

This change adds a new constructor to SinglePvtDead, and restores the ability
to control spline usage with the samples argument.
2014-03-03 09:17:11 +01:00
Andreas Lauser
20e21b7892 SimulatorTimer: make it possible to base it on opm-parser's TimeMap
Since SimulatorTimer is a fairly shallow shim if using the TimeMap, it
can also be removed relatively easily. Having said this, that would
trigger _many_ changes in _a lot_ of places and I'm not motivated at
all to fight that battle as long as the old parser needs to be
supported. I thus decided that the best way is to add a "wrapper mode"
to SimulationTimer...
2014-02-27 12:56:23 +01:00
Joakim Hove
77bf601d6b Merge remote-tracking branch 'upstream/master' into opm-parser-integrate 2014-02-26 23:16:10 +01:00
Kristian Flikka
7e29a9ea45 Add handling of WGRUPCON to new-parser friendly WellsManager constructor 2014-02-24 15:24:33 +01:00
Atgeirr Flø Rasmussen
a953ba8659 Make linear interpolation default for saturation properties.
This includes relative permeability and capillary pressure functions.
The default has been to make a monotone spline from the given table
values and use a fine, uniform sampling of that. Now the default
is to use the tables as-is. It is still possible to use the spline
approach. For example in the class BlackoilPropertiesFromDeck one
may pass nonzero values for the 'pvt_tab_size' and 'sat_tab_size'
parameters, corresponding to how fine the spline will be sampled.
2014-02-21 09:54:47 +01:00
osae
dbe6d2911d Endpoint scaling and hysteresis for gwseg.
Activation of eps and hysteresis treatment for gwseg. Also some
additional initialization.
2014-02-18 13:49:35 +01:00