My Project
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/input/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 
61 class OutputWriter {
62 public:
68  virtual ~OutputWriter () { }
69 
76  virtual void writeInit( const NNC& nnc ) = 0;
77 
91  virtual void writeTimeStep( int report_step,
92  time_t current_posix_time,
93  double seconds_elapsed,
94  data::Solution reservoirState,
96  bool isSubstep) = 0;
97 
98 };
99 
100 } // namespace Opm
101 
102 #endif /* OPM_OUTPUT_WRITER_HPP */
Definition: NNC.hpp:103
Interface for writing non-compositional (blackoil, two-phase) simulation state to files.
Definition: OutputWriter.hpp:61
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...
virtual void writeInit(const NNC &nnc)=0
Write the static data (grid, PVT curves, etc) to disk.
virtual ~OutputWriter()
Allow derived classes to be used in the unique_ptr that is returned from the create() method.
Definition: OutputWriter.hpp:68
Definition: Solution.hpp:32
Definition: Wells.hpp:500
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition: Exceptions.hpp:29