Commit Graph

153 Commits

Author SHA1 Message Date
Markus Blatt
ab05cb66d9 Whitespace and other formatting changes 2016-10-05 11:45:51 +02:00
Markus Blatt
bfb7ccfa8b Moved ParallelFileMerger to its own file. 2016-10-05 11:39:06 +02:00
Markus Blatt
c0ca9afe5a Prevent loss of log messages in parallel by merging multiple files.
This completes f94459d5ed
Each process with rank >0 will use .<deckname>.<rank>.DEBUG, and
<deckname>-<rank>.PRT for logging (instead of <file>.<rank>as before.
After the simulator has finished running we will append the content
of those files to the usual log files. If these files have a non-zero
size we will omit a warning as this should not happen if logging is
done right.
2016-10-05 10:33:15 +02:00
Markus Blatt
07318edfa1 Added a parallel aware logger for switching wells.
It will collect all the switches. Afterwards they are collect on
the root process and logged there.

This commit includes a small test program.
2016-10-05 10:33:15 +02:00
Markus Blatt
02e8211067 Use <FILE>.<rank for nonzero ranks to capture fallout.
These files will be empty unless we fail to to log messages
only on the root process. Currently that is the case for
the messages about switching the well controls.
2016-10-05 10:33:15 +02:00
Markus Blatt
fd52d0e223 Print "Reading parameters" only once in parallel. 2016-10-05 10:33:15 +02:00
Markus Blatt
c5fd95affe Stop creating file outside output_dir for parallel runs.
Only the root process did set the output_dir correctly. Others
used the default. Therefore all messages logged by non-root
processes did end up in the current directory even if an
output_dir was passed to flow_mpi.
2016-10-05 10:33:15 +02:00
Markus Blatt
61a28cf12f Disable relperm diagnosis for non-root processes 2016-10-05 10:33:15 +02:00
Markus Blatt
81a617e892 Switch off output in EclipsePRTLog for non-root processes. 2016-10-05 10:33:15 +02:00
Markus Blatt
70d4dedfd2 Omit deck check warnings on non-root processes 2016-10-05 10:33:14 +02:00
Markus Blatt
2a6494cfcd Only extract parser message on process 0 2016-10-05 10:33:14 +02:00
Andreas Lauser
36b00ba570 Merge remote-tracking branch 'origin/master' into frankenstein_merge_master 2016-09-28 21:20:47 +02:00
Andreas Lauser
4ecd6ca64a fix some serious screw-ups
almost all of them were caused by recent changes in the master
branch:

- there were methods added which depend on the types `V` and
`DataBlock`. these do not make much sense in the context of the
frankenstein simulator. Also, these types are defined globally for the
whole Opm namespace in `BlackoilModelBase_impl.hpp` (which should be
prosecuted as a fellony IMO)! Besides this, their names are useless;
'V' is the letter which comes after `U` in the alphabet and when it
comes to computers basically everything can be seen as a chunk of data
(i.e., a `DataBlock`).
- it seems like the new and shiny dense-AD based well model was never
compiled with assertations enabled, at least some asserts referenced
non-existing variables.
- the recent output-related API changes were pretty unfortunate
because they had the effect of tying the (sub-optimal, IMO) internal
structure of the model even closer to the output code: as far as I can
see, `rq` does only make sense if the model works *exactly* like
BlackoilModelBase and friends. (for flow_ebos, this could be
replicated, but first it would be another unnecessary conversion step
and second, most of the quantities in `rq` are of type `ADB` and much
of the "frankenstein" excercise is devoted to getting rid of these.) I
thus reverted back to an old version of the output code and created a
`frankenstein` branch in my personal `opm-output` github fork.
2016-09-13 23:58:59 +02:00
Markus Blatt
33edf62a78 Use set of names of defunct wells from load balancer for parallel WellManager.
Instead of the WellsManager guessing which wells are handled by other
processes we now use tha ouput of the load balancer to compute wells
that are handled by other processes.

With the previous approach it was not possible to calculate this information
correctly. Wells with only one completion next to the border of the
processes' partition were represented on multiple processes. In additition
wells that the eclipse schedule section defined with completions on non-active
cells in sequential runs were not at all calculated in parallel runs.

With the new approach the CpGrid::loaBalance routine returns the set names of
wells that are not handled by this process when setting up the simulation. This
information is then used throughout the simulation.
2016-09-13 10:58:26 +02:00
Joakim Hove
ff333b4112 Updated OutputWriter signature. 2016-09-08 10:18:52 +02:00
Atgeirr Flø Rasmussen
98ec930a25 Merge pull request #770 from blattms/call-writeInit-before-distributing-grid
Call writeInit with global grid and properties.
2016-09-07 11:29:19 +02:00
Atgeirr Flø Rasmussen
61af1fa53d Remove unused nnc arg from BlackoilOutputWriter constructor. 2016-08-30 13:18:06 +02:00
Jørgen Kvalsvik
ab95133d1c Match RestartConfig interface in opm-parser 2016-08-11 09:59:07 +02:00
Pål Grønås Drange
bd58792714 TransMult, Init, and SimConfig are references, applyModifierDeck takes reference, and EclipseState constructor too 2016-08-08 10:07:09 +02:00
Markus Blatt
d6aea1663d Call writeInit with global grid and properties.
Previously, the call was made after the grid was distributed.
This means that each process wrote it, but only with his cells
active which was just a part of the whole domain.

With this commit we make the writeInit call before distributing the
grid and make sure that only one process calls it.
2016-07-22 17:37:14 +02:00
Liu Ming
daf1eb9e74 use const reference instead of shared_prt. 2016-07-08 14:52:37 +08:00
Liu Ming
77fedce11e remove unused argument. 2016-07-08 08:19:03 +08:00
Liu Ming
1b5b112031 call checkDeck() in FlowMain instead of checkKeywords(). 2016-07-07 15:38:03 +08:00
Liu Ming
064f512893 Diagnostics keywords that not supported by flow. 2016-07-07 10:38:29 +08:00
Joakim Hove
e262d0da68 Renamed writeInit -> writeInitAndEgrid( ) 2016-07-01 12:26:25 +02:00
Atgeirr Flø Rasmussen
c7e6070d31 Correctly override NOSIM. 2016-06-30 15:30:49 +02:00
Joakim Hove
09f22f370a Will look for param: 'nosim' and override deck. 2016-06-29 08:03:38 +02:00
Atgeirr Flø Rasmussen
c1e5a64329 Merge pull request #712 from totto82/fix_2p_equil_init
Allow for 2 phase initialization using EQUIL
2016-06-24 14:42:54 +02:00
Atgeirr Flø Rasmussen
f1af4f945c Make variable const. 2016-06-17 11:48:04 +02:00
Atgeirr Flø Rasmussen
d29355d17d Remove unneeded (implicit) template argument. 2016-06-17 11:39:00 +02:00
Atgeirr Flø Rasmussen
d8390590f8 Refine setting of (linear) solver_approach.
Ensure that the parameter is printed also if defaulted.
2016-06-17 11:00:56 +02:00
Jørgen Kvalsvik
dfac3adaea Pass NNC to OutputWriter constructor
Keep up with an interface change in opm-output.
2016-06-16 13:34:29 +02:00
Liu Ming
49fbf5e493 document function and switch implementation. 2016-06-16 14:02:34 +08:00
Liu Ming
8224e7cef9 switch function calling order. 2016-06-16 09:48:39 +08:00
Liu Ming
936cd8dc33 Add separate function for setup logging. 2016-06-15 15:24:05 +08:00
Liu Ming
969ce5ca53 add blank line before and after "Reading Parameters" 2016-06-13 13:43:50 +08:00
Joakim Hove
dd5d9b34a2 Merge pull request #688 from jokva/refactor-output-restart
Breaking opm-core dependency in opm-output; new summary implementation
2016-06-10 13:15:46 +02:00
Liu Ming
8f04300ce3 use default prefix. 2016-06-10 09:27:49 +02:00
Tor Harald Sandve
d1d3b86299 Allow for 2 phase initialization using EQUIL 2016-06-08 09:22:52 +02:00
Liu Ming
7ca182f962 change Prtinfo to Note. 2016-06-08 09:18:10 +02:00
Liu Ming
b2c126f7c2 Support new message type: Prtinfo 2016-06-07 14:11:24 +02:00
Atgeirr Flø Rasmussen
50e8c5dbd8 Merge pull request #708 from totto82/fix_hydrocarbonstate
Adds has_disgas and has_vapoil flags to hydrocarbonstate initialization
2016-06-07 11:38:27 +02:00
Jørgen Kvalsvik
71560b5fb2 BlackoilOutputWriter rewritten to use opm-output
Changes to BlackoilOutputWriter as mandated by the split and rewrite of
opm-output. Notable changes:

* BlackoilOutputWriter is no longer a child class of OutputWriter.
* Minor interface changes; writeTimeStep requires a Wells pointer
* restore requires a Wells* pointer
* VTK/Matlab support rewrites; no longer inherits OutputWriter
* WellStateFullyImplicitBlackoil::report added, to write its data to a
  opm-output understood format

Relies on utility/Compat.hpp for quick conversion to the opm-output
defined formats.
2016-06-07 10:15:07 +02:00
Tor Harald Sandve
d035881a0a Adds has_disgas and has_vapoil flags to hydrocarbonstate initialization
Gas saturation must be used as primalvariable if DISGAS and VAPOIL is
not used.
2016-06-07 08:23:47 +02:00
Liu Ming
db1e0fa397 write all the messages into debug file. 2016-06-06 15:39:10 +02:00
Liu Ming
865577742f write debug information into a separate file. 2016-06-06 12:20:41 +02:00
Atgeirr Flø Rasmussen
0f290e3f6e Separate non-neighbour and non-cartesian connections.
The non-cartesian connections are required by the output facilities,
while the truly non-neighbour connections (meaning those not in the grid)
should be used by all other code.
2016-05-24 11:54:17 +02:00
Atgeirr Flø Rasmussen
bd774ed06c Merge pull request #679 from qilicun/log_simulation_messages
write simulation details to log file.
2016-05-19 15:09:39 +02:00
Pål Grønås Drange
2620dda8c3 Moved NNC to GeoProps, populating NNC at update
* FlowMain now gets NNC by `geoprops_->nnc()`
* Refactored update()
* Moved big chunk of unused code to new private method pinchProcess_
* Reordered logic to unite the NNC logic
2016-05-19 13:33:09 +02:00
Pål Grønås Drange
973914931d Introducing NNC output
* Compute NNC by face2cell information from a grid
* Pass NNC information to EclipseWriter
* Made NNC respect ECLIPSE input data
* nncStructure() is now exportNncStructure()
2016-05-19 13:23:18 +02:00