Commit Graph

160 Commits

Author SHA1 Message Date
Markus Blatt
337c637fa0 Write transmissibility between direct vertical neighbors into TRANZ.
In the case where two were direct vertical neighbors in the grid
but not in the underlying cartesian grid (e.g. because of MINPV or
pinch outs), we treated them as NNCs and wrote the transmissibilty
to TRANNC.

With this patch we detect this situation (two neighbor cells with identical
i and i and no active cells between them) and do not create an NNC
in the eclipse output files but write the transmissibility to TRANZ.
2019-05-21 11:24:17 +02:00
Tor Harald Sandve
a9b72ab45b Fix episode index for restart 2019-05-13 12:49:08 +02:00
Markus Blatt
d2efdcfaa5 Implement correct ignore thresholds for NNC with/without EDITNNC.
It seems like eclipse ignores NNCs with small transmissibility.
Small means less than 1e-6 for Eclipse (Even if it says that it
is ignoring values below 1e-5 and/or zero values)!.
This commit now implements the same threshold during IO.

Also fixes a bug when applying EDITNNC, it needs to have cell1<=cell2 to work.
2019-05-08 13:50:51 +02:00
Markus Blatt
583741d5b1 Ignore NNCs with zero transmissibility during output. 2019-05-08 13:50:26 +02:00
Markus Blatt
5aa0399c67 Write NNCs once and honor them when writing fault transmissibility
We first add all NNCs specified in the deck to the ouput
and then determine additional NNCs by iterating over all faces that
connect cells that are not connected in the underlying cartesian grid.
Therefore we need to make sure that we do not output NNCs twice
and for faults that also have a specified NNC we need to substract
the transmissibility specified via NNC.
2019-05-08 13:50:26 +02:00
Andreas Lauser
d329547463 EclProblem: clean up the time management code
- when an episode/report step is over, the next is started by endEpisode()
- the problem does not deal with updating the simulation time anymore
- rename `episodeIdx` in to `reportStepIdx` the 'EclWriter' because
  this variable is -- and always has been -- the report step number
  used by some parts of `opm-output`'s ECL writing code (the report
  step number is equivalent to the episode index plus 1). IMO, the
  output and parser code should be made more consistent in regard of
  whether it expects 0-based or 1-based indices, but this is a story
  for another day.
2019-05-03 14:07:15 +02:00
Andreas Lauser
cd681c6445 ebos: make its core headers self sufficient
this is part of the release maintainance. in this context "core
headers" means the ones which do not include the well model headers,
and only those which are concerned with non-exotic functionality,
e.g., the PolyhedralGrid and ALUGrid vanguards are not changed.
2019-03-26 13:17:54 +01:00
Andreas Lauser
427741fe84 ebos: Fix restart from ECL files
Some time loop stuff was missing in the doobly-doo, the init() method
of the well model was not called and there was the slightly deeper
issue that the initial solutions where not calculated on restarts
which breaks everything that relies on them. (at the moment, that's
everything which is related to non-trivial boundary contitions.)
2019-02-18 15:29:27 +01:00
Andreas Lauser
51b24d33d5 EclWriter: remove obsolete writeOutput() overload
this has been unused for any simulator for a while. the only code
which called it was the ECL output test, but this one could be easily
ported.
2019-02-06 12:21:08 +01:00
Andreas Lauser
dc1b92521a ebos: make it possible to account for external setup costs 2019-02-06 12:21:08 +01:00
Andreas Lauser
a9359602fc fix some minor coding style inconsistencies in EclWriter 2019-02-01 17:33:30 +01:00
Andreas Lauser
18e64d0e7e fix some masochistic compiler warnings for the GCC 9 pre-release
the flags which I used are
```
-pedantic \
-Wall \
-Wextra \
-Wformat-nonliteral \
-Wcast-align
-Wpointer-arith \
-Wmissing-declarations \
-Wcast-qual \
-Wshadow
-Wwrite-strings \
-Wchar-subscripts \
-Wredundant-decls \
-fstrict-overflow \
-O3 \
-march=native \
-DNDEBUG=1
```

note that some heavy filtering is not the worst idea because DUNE is
far from not emiting any warnings with these flags.

Also, there were some pesky warnings in test_ecl_output which I don't
know how to fix:

```
tests/test_ecl_output.cc:218:73: warning: missing initializer for member ‘Opm::data::Connection::effective_Kh’ [-Wmissing-field-initializers]
```
2019-01-09 09:34:26 +01:00
Andreas Lauser
6a29318adf ebos: only write out temperature in thermal runs 2018-12-17 11:37:47 +01:00
Andreas Lauser
49442af4cc Merge pull request #382 from totto82/ppcw
Output PPCW when SWATINIT is enabled
2018-09-12 12:38:53 +02:00
Tor Harald Sandve
dcb1e96606 Output and read PPCW when SWATINIT is enabled 2018-09-11 14:57:32 +02:00
Joakim Hove
400f505a2c Fixup THPRESPR -> THPESHPR 2018-09-05 14:59:02 +02:00
Joakim Hove
bdbf417887 Change string used for THPRES in restartfile 2018-09-03 16:59:23 +02:00
Andreas Lauser
ef845bb4f4 ebos: add possibility to disable the FIP output even if requested in the deck
this significantly reduces the noise level of debug files if the FIP
values are not of interest.
2018-07-26 12:31:32 +02:00
Andreas Lauser
29e113f1fd ebos: get rid of HAVE_ECL_{IN,OUT}PUT
there are about a trillion places within ebos where the availability
of the ECL I/O routines is hardcoded, so it does not make sense to
pretent that the EclWriter can be useful without them.

(in fact, ebos is deactivated at build system level if the ECL I/O
routines have not been detected.)
2018-07-12 13:47:01 +02:00
Andreas Lauser
b5ac85b5d0 ebos: simplify the output writing code if the default timeloop is used
`flow` doesn't, so it is unaffected.
2018-07-12 13:47:01 +02:00
Tor Harald Sandve
95578a5d79 Fix thpress restart
THPRES is read from the restart file
We no longer need to compute it from the initial conditions if
defaulted.
2018-06-29 15:26:08 +02:00
Andreas Lauser
26e6d56930 do explicit put properties into the the Ewoms::Properties namespace anymore
instead, do it implicitly by using the BEGIN_PROPERTIES and
END_PROPERTIES macros.
2018-06-15 20:22:07 +02:00
Andreas Lauser
91c209eb09 some stylistic cleanups of the ECL writer 2018-06-14 11:13:30 +02:00
Joakim Hove
3b5e746702 Load the THPRES values from the restart file 2018-05-31 11:58:27 +02:00
Joakim Hove
324a4ad307 Save THPRES values to restart file 2018-05-14 16:13:53 +02:00
Andreas Lauser
ddb6ef2acb generalize the tasklet mechanism to an arbitrary number of worker threads
this has been quite a bit more complicated than I initially thought.
2018-03-15 11:05:10 +01:00
Andreas Lauser
b39b60109d cosmetic changes to EclWriter
this commit does not do any logic changes, just identation, variable
names, etc.
2018-03-12 16:51:30 +01:00
Andreas Lauser
8f61fe03fa switch the EclWriter to the new tasklet infrastructure 2018-03-12 16:51:30 +01:00
Andreas Lauser
5f8fdb2324 make all headers fully autonomous again 2018-03-12 14:31:37 +01:00
Arne Morten Kvarving
a1601afd21 adjustments for eclipse support in opm-common 2018-03-06 09:09:17 +01:00
Tor Harald Sandve
f90e074947 Demand the hystereris values if enalbed. 2018-02-21 10:38:52 +01:00
Tor Harald Sandve
afe26e8f12 Split the PackUnPack class
into PackUnPackBlockData, PackUnPackCellData and PackUnPackWellData
2018-02-19 13:18:56 +01:00
Tor Harald Sandve
3ede6ecc69 Rename ThreadHandle.hpp -> threadHandle.hh
Also adding some comments.
2018-02-19 13:18:56 +01:00
Tor Harald Sandve
932527d772 Pass RFT output via data::well
With this no cell data is used by the output code in opm-output
2018-02-19 13:18:56 +01:00
Tor Harald Sandve
56bcb419fb Add async output 2018-02-19 13:18:56 +01:00
Andreas Lauser
436c9f8791 rename the "grid manager" to "vanguard"
IMO the term "vanguard" expresses better what these classes are
supposed to do: level the ground for the cavalry. Normally this simply
means to create and distribute a grid object, but it can become quite
a bit more complicated, as exemplified by the vanguard classes of
ebos..
2018-02-08 16:26:58 +01:00
Andreas Lauser
260d62c2b8 adapt to the move of code from opm-common to opm-material 2018-02-08 12:11:20 +01:00
Tor Harald Sandve
d3cb81a7ba Minor clean-up based on review 2018-02-05 14:24:11 +01:00
Tor Harald Sandve
d771810562 Some more minor clean-up 2018-02-05 14:24:11 +01:00
Tor Harald Sandve
7ed66f0cf2 pass the mcmg element layout as a parameter for dune 2.6 2018-02-05 14:24:11 +01:00
Tor Harald Sandve
af7d031875 Minor clean-up after review 2018-02-05 14:24:11 +01:00
Tor Harald Sandve
eca5d8aff5 Fix slow code
Avoid checking summaryConfig at every cell
Add temporary fix around issue with RPTSCHED in restartConfig
2018-02-05 14:24:11 +01:00
Tor Harald Sandve
5fa7b130dc Output double precision restart output if asked for 2018-02-05 14:24:11 +01:00
Tor Harald Sandve
b021ee54ca Some clean-up
Dont' output rs, rv, somax and hysteresis if they are not enabled.
We no longer output the same as legacy.
2018-02-05 14:24:11 +01:00
Tor Harald Sandve
85ed4bffbf Pass block values to OPM-output 2018-02-05 14:24:11 +01:00
Tor Harald Sandve
2264b44f38 Pass region and field FIP to opm-output 2018-02-05 14:24:11 +01:00
Tor Harald Sandve
5d5c6bad75 Fix parallel restart and pav in water zone 2018-02-05 14:24:11 +01:00
Tor Harald Sandve
de3df0d81d Clean up PR review 2018-02-05 14:24:11 +01:00
Tor Harald Sandve
f62498440d Add FIP, INIT and EGRID output
Writes INIT and EGRID files initially
Adds Fip to summary output if required.
Output Fip to log (.PRT) if Opm-logger is set
2018-02-05 14:24:11 +01:00
Andreas Lauser
9e7857ec1c allow to specify the ECL output directory
by default, it is the current directory.
2018-02-05 14:24:11 +01:00
Tor Harald Sandve
f0ee6df136 Only compute auxiliary values if asked for
Ask the restartConfig if restart files are written. Solution variables are
always written since they may be needed by the summary files

Remove output of saturated data to align with legacy code.
2018-01-09 14:01:30 +01:00
Tor Harald Sandve
abd3271f1c Only collect to globalData for mpi 2018-01-09 13:08:05 +01:00
Tor Harald Sandve
0132c3326e Add ecl output from opm-output
The new eclwriter output and restart using the eclIO from opm-output

All tests in opm-simulator pass and
MPI restart works.

Standard initialization is done prior to restart in order
to compute correct initial thpressure values. This is not
necessary if thpressures are written to the restart file

TODO: Some trivial fields are written out in order mimic legacy code,
this should be cleaned up

TODO: Output of wells, FIP, NNC is still done in opm-simulators.
This should be moved later.
2018-01-09 11:05:50 +01:00
Andreas Lauser
4957a301f1 fix all Dune 2.6 related compiler warnings in ebos 2018-01-08 12:23:58 +01:00
Andreas Lauser
a284089d73 adapt to the move of the valgrind client requests into the Opm namespace 2017-02-09 18:25:44 +01:00
Andreas Lauser
61c501a31d change the order of OPM_UNUSED and variable name
it seems like some compilers (GCC 4.9.2?) are picky about this and
require

```c++
TypeName VariableName __attribute__ ((__unused__))
```
2017-01-17 13:28:56 +01:00
Atgeirr Flø Rasmussen
5724244b4f Silence unused argument warnings with OPM_UNUSED. 2016-12-30 10:03:14 +01:00
Andreas Lauser
a6191a2345 the new home of Valgrind.hpp is opm-common! 2016-12-14 12:38:12 +01:00
Andreas Lauser
36c010c956 ebos: replace the opm-parser related pointers/smart pointers by references
this seems to be the spirit of the season. note that now the deck
object must be copied, but I suppose that copying it is pretty cheap.
2016-12-07 20:24:48 +01:00
Andreas Lauser
759c2dbdaa move all applications into their top-level directory
thanks to [at]akva2 for the suggestion.
2016-11-11 15:04:04 +01:00