Commit Graph

77 Commits

Author SHA1 Message Date
Atgeirr Flø Rasmussen
85e1544553 Use ensureDirectoryExists() instead of boost::filesystem directly.
Motivated by
 - proliferation of identical code
 - need to avoid strange behaviour with "." directory on some boost versions
 - potenial for further refactoring to avoid boost entirely
2017-04-06 12:14:54 +02:00
Atgeirr Flø Rasmussen
429baf082c Update to match revised extra data interface from opm-output. 2017-03-01 09:50:32 +01:00
Atgeirr Flø Rasmussen
1175c389b0 Add SI/double preserving feature to restart I/O.
The parameter "restart_double_si" (defaults to false) will when true
cause the RESTART_SOLUTION data (only) to be read/written with measure
equal to measure::identity, thereby suppressing unit conversions. Also,
the output layer will be told to output all (not just RESTART_SOLUTION
but also RESTART_AUXILIARY) restart data as doubles.
2017-03-01 08:45:49 +01:00
Arne Morten Kvarving
a14f5392ee fixed: pass the fipnum data into the adaptive timer stepper
summary substep reports requires FIP data
2017-02-09 09:35:40 +01:00
Arne Morten Kvarving
b5b42faba4 fixed: handle exceptions in I/O in parallel
properly exit on all processes, instead of deadlocking.
async output will still deadlock as there is no way to handle this
without syncronization which would defeat the purpose of async.
2017-02-09 09:35:40 +01:00
Joakim Hove
270e5f9c0e Passing keys to the restart load function.
- Renamed EclipseWriter -> EclipseIO.
 - Loading from restart file is a method on the EclipseIO class.
2017-01-25 23:16:08 +01:00
Atgeirr Flø Rasmussen
508da6689f Change include path for writeVtkData.hpp, or remove include. 2016-12-06 09:48:03 +01:00
Markus Blatt
88e118d76a Consistently use WellStateFullyImplicitBlackoil in output
Otherwise we cannot write out all the data in a parallel run.
2016-11-21 21:19:51 +01:00
Markus Blatt
00440ab344 Use data::Solution to gather cell data including user requested data.
Previously only the cell data registered with SimulationDataContainer
war gathered during parallel output. User requested data was neglected
and a warning was issued. With this commit we intialize the local view
of data::Solution on all processes with the data registered in
SimulationDataContainer and add cell data requested by the user. This is
then gathered on the IO process, and used for the output layer. To
rudimentarily support matlab we also create a global view of
SimulationDataContainer for it.
2016-11-16 17:11:24 +01:00
Markus Blatt
b91f747a3e Removed second implementation of matlab output.
There is already a generic one with the Grid implementation
being the template parameter in the header file. The other
implementation using UnstructuredGrid does exactly the same.
Therefore we remove it with this commit.
2016-11-16 12:16:40 +01:00
Atgeirr Flø Rasmussen
7da420869b Bugfix: pass both normal and extra data to output.
Normal meaning SWAT, PRESSURE, RS etc.
Extra meaning KR, VISC etc. as asked for in RPTRST.
2016-10-25 15:27:59 +02:00
Jørgen Kvalsvik
1c6a4b34da Update to shared_ptr-less parser interface. 2016-10-20 14:08:04 +02:00
Atgeirr Flø Rasmussen
93ffb318cd Merge pull request #855 from andlaus/opm-parser_units
adapt to the removal of the unit system of opm-core
2016-10-18 15:25:42 +02:00
Andreas Lauser
d76bf11902 adapt to the removal of the unit system of opm-core
the one which is in opm-parser is now a drop-in replacement.
2016-10-10 17:00:09 +02:00
Joakim Hove
39be053aef Using data::Solution for transfer of 3D data. 2016-10-10 10:52:51 +02:00
Atgeirr Flø Rasmussen
4a6fcde45e Merge pull request #837 from totto82/output_solvent2
Output solvent saturation
2016-09-29 17:32:51 +02:00
Tor Harald Sandve
45eae4bbc8 Output solvent saturation
-- Compat.hpp is moved to opm-simulators
-- add SSOL if solvent is present
2016-09-27 08:40:04 +02:00
Anders Matheson
65b512e903 Use PhaseUsage to determine output phases 2016-09-20 09:44:17 +02:00
babrodtk
eb56ecab12 Refactored the logic of writing without cell properties 2016-09-07 14:59:16 +02:00
babrodtk
35bed24465 Initial version for outputting cell data 2016-09-07 14:55:53 +02:00
Atgeirr Flø Rasmussen
4d2d004c43 Merge pull request #769 from blattms/fix-step-used-by-parallel-io
Fix step number used by parallel io and OutputWriter::writeTimeStep
2016-09-07 14:09:56 +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
Markus Blatt
4a6be3d33b Fix step number used to create global well state in parallel output.
When running in parallel a well state object with the well information
of the whole grid needs to constructed to gather the information from all
processes. Previously, this was done with the report step exported by the
timer. This was wrong for the following reason:
The output occurs after solving the time step and the timer is already
incremented. This means that we constructed the well state for gathering the
data for the next report step, already. Unfortunately, at that step some
wells that we have computed results for might have been shut. In that case
an exception with message "global state does not contain well ..." was thrown.

This problem occured for Model number 2 and might have been due to shut wells
because of banned cross flow.

With this commit we use the last report step if this is not an initial write
and not a substep.
2016-09-02 14:41:47 +02:00
Markus Blatt
5ecead8e6f OutputWriter::writeTimeStep needs the report step and not the sub step.
At least that is what is documented.
2016-09-02 14:41:47 +02:00
Joakim Hove
0f7c9f4b97 Added optional simProps argument to restart. 2016-08-20 20:10:50 +02:00
Joakim Hove
56a7775fee Changed order of arguments to match opm-output. 2016-08-20 20:09:56 +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
Joakim Hove
e262d0da68 Renamed writeInit -> writeInitAndEgrid( ) 2016-07-01 12:26:25 +02:00
Joakim Hove
5a89598788 Write TRAN? to the INIT file. 2016-07-01 12:26:25 +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
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
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
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
Joakim Hove
ead88e9ee4 Change method name -> IOConfig::restartRequested() 2016-04-28 15:58:17 +02:00
Robert Kloefkorn
e80ad5a9fe Merge remote-tracking branch 'upstream/master' into PR/async-output 2016-04-08 13:07:44 +02:00
Robert Kloefkorn
b3a313bfec ThreadHandle: added documentation and use std::unique_ptr to store object pointers. 2016-04-08 11:12:09 +02:00
Robert Kloefkorn
ec45b5547d cleanup. 2016-04-06 15:39:57 +02:00
Robert Kloefkorn
7e6a6fb20a ThreadHandle: cleanup and docu. 2016-04-06 15:26:47 +02:00
Atgeirr Flø Rasmussen
37c4bd16b1 Adapt code to dune-cornerpoint -> opm-grid renaming. 2016-04-06 13:29:47 +02:00
Robert Kloefkorn
54ea243c5f SimulatorFullyImplicitBlackoilOutput: added threaded asynchronous output. 2016-04-06 11:10:01 +02:00
Atgeirr Flø Rasmussen
3aa5158842 Merge pull request #619 from kjellkongsvik/Move_OutputWriter_to_opm-output
Refactored to use OutputWriter from opm-output
2016-03-31 09:44:09 +02:00
Atgeirr Flø Rasmussen
13b86a7825 Revert "Asynchronous output." 2016-03-31 09:43:01 +02:00
Robert Kloefkorn
8d11be71e0 SimulatorState --> SimulationDataContainer. 2016-03-30 11:01:34 +02:00
Robert Kloefkorn
9c67c0e135 Merge remote-tracking branch 'upstream/master' into PR/async-output 2016-03-30 10:45:40 +02:00
Robert Kloefkorn
5044a07e46 SimFullImplOutput: added future to ensure that write history is accounted for. 2016-03-29 15:22:33 +02:00
Robert Kloefkorn
d5c375f297 SimulatorFullyImplicitOutput: added flag for async output. 2016-03-29 10:49:49 +02:00
Robert Kloefkorn
29053dc18d SimulFulImplBOOutput: asynchronous serial output. 2016-03-29 10:49:49 +02:00
Joakim Hove
18c07d5d66 Replaced SimulatorState -> SimulationDataContainer 2016-03-29 10:48:36 +02:00
Kjell W. Kongsvik
ea9e572a65 Refactored to use OutputWriter from opm-output
As OutputWriter has been deleted from opm-core
Only changes in includes
2016-03-17 14:45:30 +01:00