22#ifndef LOG_OUTPUT_HELPER_HPP
23#define LOG_OUTPUT_HELPER_HPP
25#include <opm/output/eclipse/Inplace.hpp>
30#include <unordered_map>
32#include <boost/date_time.hpp>
45class LogOutputHelper {
47 LogOutputHelper(
const EclipseState& eclState,
48 const Schedule& schedule,
49 const SummaryState& st,
53 void cumulative(
const std::size_t reportStepNum,
54 const bool withConns)
const;
57 void error(
const std::vector<int>& failedCellsPbub,
58 const std::vector<int>& failedCellsPdew)
const;
61 void fip(
const Inplace& inplace,
62 const Inplace& initialInplace,
63 const std::string& name)
const;
66 void fipResv(
const Inplace& inplace,
const std::string& name)
const;
69 void fip_csv(std::ostringstream& ss,
const Inplace& inplace,
const std::string& name)
const;
75 void injection(
const std::size_t reportStepNum,
76 const std::map<std::pair<std::string,int>,
double>& block_pressures)
const;
79 void msw(
const std::size_t reportStepNum)
const;
82 void production(
const std::size_t reportStepNum,
83 const std::map<std::pair<std::string,int>,
double>& block_pressures)
const;
95 const bool changedWellLists,
96 const std::size_t reportStepNum)
const;
98 void timeStamp(
const std::string& lbl,
101 boost::posix_time::ptime currentDate)
const;
106 explicit ConnData(
const Connection& conn);
109 std::vector<Scalar> data;
112 void beginCumulativeReport_()
const;
113 void endCumulativeReport_()
const;
114 void outputCumulativeReportRecord_(
const std::vector<Scalar>& wellCum,
115 const std::vector<std::string>& wellCumNames,
116 const std::vector<ConnData>& connData)
const;
118 void outputRegionFluidInPlace_(std::unordered_map<Inplace::Phase, Scalar> oip,
119 std::unordered_map<Inplace::Phase, Scalar> cip,
121 const std::string& name,
122 const int reg)
const;
124 void outputResvFluidInPlace_(std::unordered_map<Inplace::Phase, Scalar> cipr,
125 const int reg)
const;
127 void beginInjectionReport_()
const;
128 void endInjectionReport_()
const;
129 void outputInjectionReportRecord_(
const std::vector<Scalar>& wellInj,
130 const std::vector<std::string>& wellInjNames,
131 const std::vector<ConnData>& connData)
const;
133 void beginMSWReport_()
const;
134 void endMSWReport_()
const;
135 void outputMSWReportRecord_(
const Well& well)
const;
137 void beginProductionReport_()
const;
138 void endProductionReport_()
const;
139 void outputProductionReportRecord_(
const std::vector<Scalar>& wellProd,
140 const std::vector<std::string>& wellProdNames,
141 const std::vector<ConnData>& connData)
const;
143 void fipUnitConvert_(std::unordered_map<Inplace::Phase, Scalar>&
fip)
const;
144 void pressureUnitConvert_(Scalar& pav)
const;
146 struct WellCumDataType
164 static constexpr int numWCValues = 10;
165 static constexpr int numWCNames = 3;
168 struct WellInjDataType
188 static constexpr int numWIValues = 9;
189 static constexpr int numWINames = 4;
192 struct WellProdDataType
214 static constexpr int numWPValues = 12;
215 static constexpr int numWPNames = 2;
218 const EclipseState& eclState_;
219 const Schedule& schedule_;
220 const SummaryState& summaryState_;
221 std::string flowVersionName_;
void error(const std::vector< int > &failedCellsPbub, const std::vector< int > &failedCellsPdew) const
Write error report to output.
Definition LogOutputHelper.cpp:275
void fip(const Inplace &inplace, const Inplace &initialInplace, const std::string &name) const
Write fluid-in-place reports to output.
Definition LogOutputHelper.cpp:302
void msw(const std::size_t reportStepNum) const
Write msw report to output.
Definition LogOutputHelper.cpp:552
void cumulative(const std::size_t reportStepNum, const bool withConns) const
Write cumulative production and injection reports to output.
Definition LogOutputHelper.cpp:179
void fipResv(const Inplace &inplace, const std::string &name) const
Write fluid-in-place reservoir reports to output.
Definition LogOutputHelper.cpp:349
void injection(const std::size_t reportStepNum, const std::map< std::pair< std::string, int >, double > &block_pressures) const
Write injection report to output.
Definition LogOutputHelper.cpp:451
void fip_csv(std::ostringstream &ss, const Inplace &inplace, const std::string &name) const
Write fluid-in-place reservoir reports to csv file.
Definition LogOutputHelper.cpp:408
void wellSpecification(const std::vector< std::string > &changedWells, const bool changedWellLists, const std::size_t reportStepNum) const
Write well specification report to output.
Definition LogOutputHelper.cpp:688
void production(const std::size_t reportStepNum, const std::map< std::pair< std::string, int >, double > &block_pressures) const
Write production report to output.
Definition LogOutputHelper.cpp:579
void csv_header(std::ostringstream &ss) const
Write fluid-in-place reservoir reports to csv file.
Definition LogOutputHelper.cpp:398
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition blackoilbioeffectsmodules.hh:45
std::string moduleVersionName()
Return the version name of the module, for example "2015.10" (for a release branch) or "2016....
Definition moduleVersion.cpp:34