Replace comment with "ifdef DISABLE_OUTPUT"

This commit is contained in:
Kjell W. Kongsvik 2016-03-18 13:17:39 +01:00
parent 8e68a4d815
commit 77a6c4229a
8 changed files with 219 additions and 164 deletions

View File

@ -35,7 +35,9 @@
#include <opm/core/simulator/SimulatorTimer.hpp>
#include <opm/core/utility/StopWatch.hpp>
// 17.03.2016 Temporarily removed while moving functionality to opm-output
// #include <opm/core/io/vtk/writeVtkData.hpp>
#ifdef DISABLE_OUTPUT
#include <opm/core/io/vtk/writeVtkData.hpp>
#endif
#include <opm/core/utility/miscUtilities.hpp>
#include <opm/core/utility/miscUtilitiesBlackoil.hpp>
@ -140,71 +142,75 @@ namespace Opm
// 17.03.2016 Temporarily removed while moving functionality to opm-output
// static void outputStateVtk(const UnstructuredGrid& grid,
// const Opm::BlackoilState& state,
// const int step,
// const std::string& output_dir)
// {
// // Write data in VTK format.
// std::ostringstream vtkfilename;
// vtkfilename << output_dir << "/vtk_files";
// boost::filesystem::path fpath(vtkfilename.str());
// try {
// create_directories(fpath);
// }
// catch (...) {
// OPM_THROW(std::runtime_error, "Creating directories failed: " << fpath);
// }
// vtkfilename << "/output-" << std::setw(3) << std::setfill('0') << step << ".vtu";
// std::ofstream vtkfile(vtkfilename.str().c_str());
// if (!vtkfile) {
// OPM_THROW(std::runtime_error, "Failed to open " << vtkfilename.str());
// }
// Opm::DataMap dm;
// dm["saturation"] = &state.saturation();
// dm["pressure"] = &state.pressure();
// std::vector<double> cell_velocity;
// Opm::estimateCellVelocity(grid, state.faceflux(), cell_velocity);
// dm["velocity"] = &cell_velocity;
// Opm::writeVtkData(grid, dm, vtkfile);
// }
#ifdef DISABLE_OUTPUT
static void outputStateVtk(const UnstructuredGrid& grid,
const Opm::BlackoilState& state,
const int step,
const std::string& output_dir)
{
// Write data in VTK format.
std::ostringstream vtkfilename;
vtkfilename << output_dir << "/vtk_files";
boost::filesystem::path fpath(vtkfilename.str());
try {
create_directories(fpath);
}
catch (...) {
OPM_THROW(std::runtime_error, "Creating directories failed: " << fpath);
}
vtkfilename << "/output-" << std::setw(3) << std::setfill('0') << step << ".vtu";
std::ofstream vtkfile(vtkfilename.str().c_str());
if (!vtkfile) {
OPM_THROW(std::runtime_error, "Failed to open " << vtkfilename.str());
}
Opm::DataMap dm;
dm["saturation"] = &state.saturation();
dm["pressure"] = &state.pressure();
std::vector<double> cell_velocity;
Opm::estimateCellVelocity(grid, state.faceflux(), cell_velocity);
dm["velocity"] = &cell_velocity;
Opm::writeVtkData(grid, dm, vtkfile);
}
#endif
// 17.03.2016 Temporarily removed while moving functionality to opm-output
// static void outputStateMatlab(const UnstructuredGrid& grid,
// const Opm::BlackoilState& state,
// const int step,
// const std::string& output_dir)
// {
// Opm::DataMap dm;
// dm["saturation"] = &state.saturation();
// dm["pressure"] = &state.pressure();
// dm["surfvolume"] = &state.surfacevol();
// std::vector<double> cell_velocity;
// Opm::estimateCellVelocity(grid, state.faceflux(), cell_velocity);
// dm["velocity"] = &cell_velocity;
//
// // Write data (not grid) in Matlab format
// for (Opm::DataMap::const_iterator it = dm.begin(); it != dm.end(); ++it) {
// std::ostringstream fname;
// fname << output_dir << "/" << it->first;
// boost::filesystem::path fpath = fname.str();
// try {
// create_directories(fpath);
// }
// catch (...) {
// OPM_THROW(std::runtime_error, "Creating directories failed: " << fpath);
// }
// fname << "/" << std::setw(3) << std::setfill('0') << step << ".txt";
// std::ofstream file(fname.str().c_str());
// if (!file) {
// OPM_THROW(std::runtime_error, "Failed to open " << fname.str());
// }
// file.precision(15);
// const std::vector<double>& d = *(it->second);
// std::copy(d.begin(), d.end(), std::ostream_iterator<double>(file, "\n"));
// }
// }
#ifdef DISABLE_OUTPUT
static void outputStateMatlab(const UnstructuredGrid& grid,
const Opm::BlackoilState& state,
const int step,
const std::string& output_dir)
{
Opm::DataMap dm;
dm["saturation"] = &state.saturation();
dm["pressure"] = &state.pressure();
dm["surfvolume"] = &state.surfacevol();
std::vector<double> cell_velocity;
Opm::estimateCellVelocity(grid, state.faceflux(), cell_velocity);
dm["velocity"] = &cell_velocity;
// Write data (not grid) in Matlab format
for (Opm::DataMap::const_iterator it = dm.begin(); it != dm.end(); ++it) {
std::ostringstream fname;
fname << output_dir << "/" << it->first;
boost::filesystem::path fpath = fname.str();
try {
create_directories(fpath);
}
catch (...) {
OPM_THROW(std::runtime_error, "Creating directories failed: " << fpath);
}
fname << "/" << std::setw(3) << std::setfill('0') << step << ".txt";
std::ofstream file(fname.str().c_str());
if (!file) {
OPM_THROW(std::runtime_error, "Failed to open " << fname.str());
}
file.precision(15);
const std::vector<double>& d = *(it->second);
std::copy(d.begin(), d.end(), std::ostream_iterator<double>(file, "\n"));
}
}
#endif
static void outputWaterCut(const Opm::Watercut& watercut,
@ -351,9 +357,13 @@ namespace Opm
timer.report(std::cout);
if (output_ && (timer.currentStepNum() % output_interval_ == 0)) {
if (output_vtk_) {
// outputStateVtk(grid_, state, timer.currentStepNum(), output_dir_);
#ifdef DISABLE_OUTPUT
outputStateVtk(grid_, state, timer.currentStepNum(), output_dir_);
#endif
}
// outputStateMatlab(grid_, state, timer.currentStepNum(), output_dir_);
#ifdef DISABLE_OUTPUT
outputStateMatlab(grid_, state, timer.currentStepNum(), output_dir_);
#endif
}
SimulatorReport sreport;
@ -518,9 +528,13 @@ namespace Opm
if (output_) {
if (output_vtk_) {
// outputStateVtk(grid_, state, timer.currentStepNum(), output_dir_);
#ifdef DISABLE_OUTPUT
outputStateVtk(grid_, state, timer.currentStepNum(), output_dir_);
#endif
}
// outputStateMatlab(grid_, state, timer.currentStepNum(), output_dir_);
#ifdef DISABLE_OUTPUT
outputStateMatlab(grid_, state, timer.currentStepNum(), output_dir_);
#endif
outputWaterCut(watercut, output_dir_);
if (wells_) {
outputWellReport(wellreport, output_dir_);

View File

@ -36,7 +36,9 @@
#include <opm/core/simulator/SimulatorTimer.hpp>
#include <opm/core/utility/StopWatch.hpp>
// 17.03.2016 Temporarily removed while moving functionality to opm-output
// #include <opm/core/io/vtk/writeVtkData.hpp>
#ifdef DISABLE_OUTPUT
#include <opm/core/io/vtk/writeVtkData.hpp>
#endif
#include <opm/core/utility/miscUtilities.hpp>
#include <opm/core/utility/Event.hpp>
@ -182,35 +184,36 @@ namespace Opm
// 17.03.2016 Temporarily removed while moving functionality to opm-output
// static void outputStateVtk(const UnstructuredGrid& grid,
// const Opm::TwophaseState& state,
// const int step,
// const std::string& output_dir)
// {
// // Write data in VTK format.
// std::ostringstream vtkfilename;
// vtkfilename << output_dir << "/vtk_files";
// boost::filesystem::path fpath(vtkfilename.str());
// try {
// create_directories(fpath);
// }
// catch (...) {
// OPM_THROW(std::runtime_error, "Creating directories failed: " << fpath);
// }
// vtkfilename << "/output-" << std::setw(3) << std::setfill('0') << step << ".vtu";
// std::ofstream vtkfile(vtkfilename.str().c_str());
// if (!vtkfile) {
// OPM_THROW(std::runtime_error, "Failed to open " << vtkfilename.str());
// }
// Opm::DataMap dm;
// dm["saturation"] = &state.saturation();
// dm["pressure"] = &state.pressure();
// std::vector<double> cell_velocity;
// Opm::estimateCellVelocity(grid, state.faceflux(), cell_velocity);
// dm["velocity"] = &cell_velocity;
// Opm::writeVtkData(grid, dm, vtkfile);
// }
#ifdef DISABLE_OUTPUT
static void outputStateVtk(const UnstructuredGrid& grid,
const Opm::TwophaseState& state,
const int step,
const std::string& output_dir)
{
// Write data in VTK format.
std::ostringstream vtkfilename;
vtkfilename << output_dir << "/vtk_files";
boost::filesystem::path fpath(vtkfilename.str());
try {
create_directories(fpath);
}
catch (...) {
OPM_THROW(std::runtime_error, "Creating directories failed: " << fpath);
}
vtkfilename << "/output-" << std::setw(3) << std::setfill('0') << step << ".vtu";
std::ofstream vtkfile(vtkfilename.str().c_str());
if (!vtkfile) {
OPM_THROW(std::runtime_error, "Failed to open " << vtkfilename.str());
}
Opm::DataMap dm;
dm["saturation"] = &state.saturation();
dm["pressure"] = &state.pressure();
std::vector<double> cell_velocity;
Opm::estimateCellVelocity(grid, state.faceflux(), cell_velocity);
dm["velocity"] = &cell_velocity;
Opm::writeVtkData(grid, dm, vtkfile);
}
#endif
static void outputVectorMatlab(const std::string& name,
const std::vector<int>& vec,
const int step,
@ -234,39 +237,41 @@ namespace Opm
}
// 17.03.2016 Temporarily removed while moving functionality to opm-output
// static void outputStateMatlab(const UnstructuredGrid& grid,
// const Opm::TwophaseState& state,
// const int step,
// const std::string& output_dir)
// {
// Opm::DataMap dm;
// dm["saturation"] = &state.saturation();
// dm["pressure"] = &state.pressure();
// std::vector<double> cell_velocity;
// Opm::estimateCellVelocity(grid, state.faceflux(), cell_velocity);
// dm["velocity"] = &cell_velocity;
//
// // Write data (not grid) in Matlab format
// for (Opm::DataMap::const_iterator it = dm.begin(); it != dm.end(); ++it) {
// std::ostringstream fname;
// fname << output_dir << "/" << it->first;
// boost::filesystem::path fpath = fname.str();
// try {
// create_directories(fpath);
// }
// catch (...) {
// OPM_THROW(std::runtime_error, "Creating directories failed: " << fpath);
// }
// fname << "/" << std::setw(3) << std::setfill('0') << step << ".txt";
// std::ofstream file(fname.str().c_str());
// if (!file) {
// OPM_THROW(std::runtime_error, "Failed to open " << fname.str());
// }
// file.precision(15);
// const std::vector<double>& d = *(it->second);
// std::copy(d.begin(), d.end(), std::ostream_iterator<double>(file, "\n"));
// }
// }
#ifdef DISABLE_OUTPUT
static void outputStateMatlab(const UnstructuredGrid& grid,
const Opm::TwophaseState& state,
const int step,
const std::string& output_dir)
{
Opm::DataMap dm;
dm["saturation"] = &state.saturation();
dm["pressure"] = &state.pressure();
std::vector<double> cell_velocity;
Opm::estimateCellVelocity(grid, state.faceflux(), cell_velocity);
dm["velocity"] = &cell_velocity;
// Write data (not grid) in Matlab format
for (Opm::DataMap::const_iterator it = dm.begin(); it != dm.end(); ++it) {
std::ostringstream fname;
fname << output_dir << "/" << it->first;
boost::filesystem::path fpath = fname.str();
try {
create_directories(fpath);
}
catch (...) {
OPM_THROW(std::runtime_error, "Creating directories failed: " << fpath);
}
fname << "/" << std::setw(3) << std::setfill('0') << step << ".txt";
std::ofstream file(fname.str().c_str());
if (!file) {
OPM_THROW(std::runtime_error, "Failed to open " << fname.str());
}
file.precision(15);
const std::vector<double>& d = *(it->second);
std::copy(d.begin(), d.end(), std::ostream_iterator<double>(file, "\n"));
}
}
#endif
static void outputWaterCut(const Opm::Watercut& watercut,
@ -464,9 +469,13 @@ namespace Opm
timer.report(*log_);
if (output_ && (timer.currentStepNum() % output_interval_ == 0)) {
if (output_vtk_) {
// outputStateVtk(grid_, state, timer.currentStepNum(), output_dir_);
#ifdef DISABLE_OUTPUT
outputStateVtk(grid_, state, timer.currentStepNum(), output_dir_);
#endif
}
// outputStateMatlab(grid_, state, timer.currentStepNum(), output_dir_);
#ifdef DISABLE_OUTPUT
outputStateMatlab(grid_, state, timer.currentStepNum(), output_dir_);
#endif
if (use_reorder_) {
// This use of dynamic_cast is not ideal, but should be safe.
outputVectorMatlab(std::string("reorder_it"),
@ -624,9 +633,13 @@ namespace Opm
if (output_) {
if (output_vtk_) {
// outputStateVtk(grid_, state, timer.currentStepNum(), output_dir_);
#ifdef DISABLE_OUTPUT
outputStateVtk(grid_, state, timer.currentStepNum(), output_dir_);
#endif
}
// outputStateMatlab(grid_, state, timer.currentStepNum(), output_dir_);
#ifdef DISABLE_OUTPUT
outputStateMatlab(grid_, state, timer.currentStepNum(), output_dir_);
#endif
if (use_reorder_) {
// This use of dynamic_cast is not ideal, but should be safe.
outputVectorMatlab(std::string("reorder_it"),

View File

@ -22,7 +22,9 @@
// we need complete definitions for these types
#include <opm/parser/eclipse/EclipseState/Schedule/TimeMap.hpp>
// 17.03.2016 Temporarily removed while moving functionality to opm-output
// #include <opm/core/io/OutputWriter.hpp>
#ifdef DISABLE_OUTPUT
#include <opm/core/io/OutputWriter.hpp>
#endif
#include <opm/core/simulator/SimulatorTimer.hpp>
#include <numeric> // partial_sum
@ -47,14 +49,17 @@ SimulatorOutputBase::SimulatorOutputBase (
// process parameters into a writer. we don't setup a new chain in
// every timestep!
// 17.03.2016 Temporarily removed while moving functionality to opm-output
// , writer_ (std::move (OutputWriter::create (params, eclipseState, phaseUsage, grid)))
#ifdef DISABLE_OUTPUT
, writer_ (std::move (OutputWriter::create (params, eclipseState, phaseUsage, grid)))
#endif
// always start from the first timestep
, next_ (0) {
// write the static initialization files, even before simulation starts
// 17.03.2016 Temporarily removed while moving functionality to opm-output
// writer_->writeInit (*timer);
#ifdef DISABLE_OUTPUT
writer_->writeInit (*timer);
#endif
}
// default destructor is OK, just need to be defined
@ -92,7 +97,9 @@ SimulatorOutputBase::writeOutput () {
// relay the request to the handlers (setup in the constructor
// from parameters)
// 17.03.2016 Temporarily removed while moving functionality to opm-output
// writer_->writeTimeStep (*timer_, *reservoirState_, *wellState_ , false);
#ifdef DISABLE_OUTPUT
writer_->writeTimeStep (*timer_, *reservoirState_, *wellState_ , false);
#endif
// advance to the next reporting time
++next_;

View File

@ -35,7 +35,9 @@ namespace Opm {
class Deck;
class EclipseState;
// 17.03.2016 Temporarily removed while moving functionality to opm-output
//class OutputWriter;
#ifdef DISABLE_OUTPUT
class OutputWriter;
#endif
namespace parameter { class ParameterGroup; }
class SimulationDataContainer;
class SimulatorTimer;
@ -85,8 +87,9 @@ protected:
std::shared_ptr <const WellState> wellState_;
/// Created locally and destructed together with us
// 17.03.2016 Temporarily removed while moving functionality to opm-output
// std::unique_ptr <OutputWriter> writer_;
#ifdef DISABLE_OUTPUT
std::unique_ptr <OutputWriter> writer_;
#endif
/// Call the writers that were created based on the parameters
virtual void writeOutput ();

View File

@ -38,7 +38,9 @@
#include <opm/core/grid.h>
#include <opm/core/grid/GridManager.hpp>
// 17.03.2016 Temporarily removed while moving functionality to opm-output
//#include <opm/core/io/vtk/writeVtkData.hpp>
#ifdef DISABLE_OUTPUT
#include <opm/core/io/vtk/writeVtkData.hpp>
#endif
#include <iostream>
#include <fstream>
#include <vector>
@ -96,7 +98,9 @@ try
/// \snippet tutorial1.cpp data map
/// \internal [data map]
// 17.03.2016 Temporarily removed while moving functionality to opm-output
// Opm::DataMap dm;
#ifdef DISABLE_OUTPUT
Opm::DataMap dm;
#endif
/// \internal [data map]
/// \endinternal
/// \page tutorial1
@ -104,7 +108,9 @@ try
/// \snippet tutorial1.cpp write vtk
/// \internal [write vtk]
// 17.03.2016 Temporarily removed while moving functionality to opm-output
// Opm::writeVtkData(*grid.c_grid(), dm, vtkfile);
#ifdef DISABLE_OUTPUT
Opm::writeVtkData(*grid.c_grid(), dm, vtkfile);
#endif
/// \internal [write vtk]
/// \endinternal
}

View File

@ -35,7 +35,9 @@
#include <opm/core/grid.h>
#include <opm/core/grid/GridManager.hpp>
// 17.03.2016 Temporarily removed while moving functionality to opm-output
//#include <opm/core/io/vtk/writeVtkData.hpp>
#ifdef DISABLE_OUTPUT
#include <opm/core/io/vtk/writeVtkData.hpp>
#endif
#include <iostream>
#include <fstream>
#include <vector>
@ -188,13 +190,15 @@ try
/// \snippet tutorial2.cpp write output
/// \internal [write output]
// 17.03.2016 Temporarily removed while moving functionality to opm-output
// std::ofstream vtkfile("tutorial2.vtu");
// Opm::DataMap dm;
// dm["pressure"] = &state.pressure();
// std::vector<double> cell_velocity;
// Opm::estimateCellVelocity(*grid.c_grid(), state.faceflux(), cell_velocity);
// dm["velocity"] = &cell_velocity;
// Opm::writeVtkData(*grid.c_grid(), dm, vtkfile);
#ifdef DISABLE_OUTPUT
std::ofstream vtkfile("tutorial2.vtu");
Opm::DataMap dm;
dm["pressure"] = &state.pressure();
std::vector<double> cell_velocity;
Opm::estimateCellVelocity(*grid.c_grid(), state.faceflux(), cell_velocity);
dm["velocity"] = &cell_velocity;
Opm::writeVtkData(*grid.c_grid(), dm, vtkfile);
#endif
/// \internal [write output]
/// \endinternal
}

View File

@ -30,7 +30,9 @@
#include <opm/core/grid.h>
#include <opm/core/grid/GridManager.hpp>
// 17.03.2016 Temporarily removed while moving functionality to opm-output
//#include <opm/core/io/vtk/writeVtkData.hpp>
#ifdef DISABLE_OUTPUT
#include <opm/core/io/vtk/writeVtkData.hpp>
#endif
#include <opm/core/linalg/LinearSolverUmfpack.hpp>
#include <opm/core/pressure/IncompTpfa.hpp>
#include <opm/core/pressure/FlowBCManager.hpp>
@ -315,11 +317,13 @@ try
vtkfilename.str("");
vtkfilename << "tutorial3-" << std::setw(3) << std::setfill('0') << i << ".vtu";
// 17.03.2016 Temporarily removed while moving functionality to opm-output
// std::ofstream vtkfile(vtkfilename.str().c_str());
// Opm::DataMap dm;
// dm["saturation"] = &state.saturation();
// dm["pressure"] = &state.pressure();
// Opm::writeVtkData(grid, dm, vtkfile);
#ifdef DISABLE_OUTPUT
std::ofstream vtkfile(vtkfilename.str().c_str());
Opm::DataMap dm;
dm["saturation"] = &state.saturation();
dm["pressure"] = &state.pressure();
Opm::writeVtkData(grid, dm, vtkfile);
#endif
}
}
catch (const std::exception &e) {

View File

@ -30,7 +30,9 @@
#include <opm/core/grid.h>
#include <opm/core/grid/GridManager.hpp>
// 17.03.2016 Temporarily removed while moving functionality to opm-output
//#include <opm/core/io/vtk/writeVtkData.hpp>
#ifdef DISABLE_OUTPUT
#include <opm/core/io/vtk/writeVtkData.hpp>
#endif
#include <opm/core/linalg/LinearSolverUmfpack.hpp>
#include <opm/core/pressure/IncompTpfa.hpp>
#include <opm/core/pressure/FlowBCManager.hpp>
@ -436,10 +438,12 @@ try
vtkfilename << "tutorial4-" << std::setw(3) << std::setfill('0') << i << ".vtu";
std::ofstream vtkfile(vtkfilename.str().c_str());
// 17.03.2016 Temporarily removed while moving functionality to opm-output
// Opm::DataMap dm;
// dm["saturation"] = &state.saturation();
// dm["pressure"] = &state.pressure();
// Opm::writeVtkData(grid, dm, vtkfile);
#ifdef DISABLE_OUTPUT
Opm::DataMap dm;
dm["saturation"] = &state.saturation();
dm["pressure"] = &state.pressure();
Opm::writeVtkData(grid, dm, vtkfile);
#endif
}
destroy_wells(wells);