All Classes Functions Variables
OutputWriter.hpp
1 /*
2  Copyright (c) 2013 Uni Research AS
3 
4  This file is part of the Open Porous Media project (OPM).
5 
6  OPM is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  OPM is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with OPM. If not, see <http://www.gnu.org/licenses/>.
18 */
19 
20 #ifndef OPM_OUTPUT_WRITER_HPP
21 #define OPM_OUTPUT_WRITER_HPP
22 
23 #include <opm/parser/eclipse/EclipseState/Grid/NNC.hpp>
24 
25 #include <opm/output/Cells.hpp>
26 #include <opm/output/Wells.hpp>
27 
28 struct UnstructuredGrid;
29 
30 namespace Opm {
31 
32 // forward declaration
33 class EclipseState;
34 namespace parameter { class ParameterGroup; }
35 class WellState;
36 struct PhaseUsage;
37 
62 class OutputWriter {
63 public:
69  virtual ~OutputWriter () { }
70 
77  virtual void writeInit( const NNC& nnc ) = 0;
78 
92  virtual void writeTimeStep( int report_step,
93  time_t current_posix_time,
94  double seconds_elapsed,
95  data::Solution reservoirState,
97  bool isSubstep) = 0;
98 
99 };
100 
101 } // namespace Opm
102 
103 #endif /* OPM_OUTPUT_WRITER_HPP */
Definition: Solution.hpp:32
virtual ~OutputWriter()
Allow derived classes to be used in the unique_ptr that is returned from the create() method...
Definition: OutputWriter.hpp:69
virtual void writeInit(const NNC &nnc)=0
Write the static data (grid, PVT curves, etc) to disk.
virtual void writeTimeStep(int report_step, time_t current_posix_time, double seconds_elapsed, data::Solution reservoirState, data::Wells, bool isSubstep)=0
Write a blackoil reservoir state to disk for later inspection with visualization tools like ResInsigh...
Definition: OutputWriter.hpp:62
Definition: Wells.hpp:109