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
28struct UnstructuredGrid;
29
30namespace Opm {
31
32// forward declaration
33class EclipseState;
34namespace parameter { class ParameterGroup; }
35class WellState;
36struct PhaseUsage;
37
62public:
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