20 namespace blockstructured {
21 class PeanoBinaryPatchFileWriter;
147 const std::string& identifier,
149 int numberOfUnknowns,
const std::string& description,
150 const std::string& metaData,
171 virtual void plotCell(
int index,
double value )
override;
172 virtual void plotCell(
int index,
double* values )
override;
199 const std::string& identifier,
201 int numberOfUnknowns,
const std::string& description,
202 const std::string& metaData,
225 virtual void plotVertex(
int index,
double* values )
override;
232 template <
typename T>
306 virtual CellDataWriter*
createCellDataWriter(
const std::string& identifier,
int unknownsPerAxis,
int recordsPerCell,
const std::string& description,
const std::string& metaData )
override;
307 virtual CellDataWriter*
createCellDataWriter(
const std::string& identifier,
int unknownsPerAxis,
int recordsPerCell,
const std::string& description,
const std::string& metaData,
double* mapping )
override;
314 virtual VertexDataWriter*
createVertexDataWriter(
const std::string& identifier,
int unknownsPerAxis,
int recordsPerVertex,
const std::string& description,
const std::string& metaData,
double* mapping )
override;
350#include "PeanoBinaryPatchFileWriter_VertexDataWriter.cpph"
A writer for scalar data on elements.
A writer for scalar data on points (vertices).
Abstract base class for a patch plotter.
const int _numberOfCellsPerAxis
virtual void plotCell(int index, double value) override
Write data for one cell.
void setPrecision(int precision)
Has no effect, as the quantities are written as raw doubles.
CellDataWriter(const std::string &identifier, int unknownsPerAxis, int numberOfUnknowns, const std::string &description, const std::string &metaData, double *mapping, tarch::plotter::griddata::blockstructured::PeanoBinaryPatchFileWriter &writer)
std::vector< double > _out
const std::string _identifier
virtual void close() override
If you close your writer, each cell/vertex has to be assigned a value, i.e.
virtual void assignRemainingCellsDefaultValues() override
tarch::plotter::griddata::blockstructured::PeanoBinaryPatchFileWriter & _writer
const int _numberOfUnknowns
virtual int getFirstCellWithinPatch(int index) const override
int getCellsPerPatch() const
void flushIfPatchIsComplete()
virtual void plotCell(int index, double *values) override
virtual ~CellDataWriter()
int _entryCounter
Number of entries written within a patch.
void flushIfPatchIsComplete()
const int _numberOfVerticesPerAxis
virtual void plotVertex(int index, double value) override
Write data for one cell.
tarch::plotter::griddata::blockstructured::PeanoBinaryPatchFileWriter & _writer
const int _numberOfUnknowns
const std::string _identifier
virtual void plotVertex(int index, double *values) override
int getVerticesPerPatch() const
void plotVertex(int index, T *values)
Plot a vertex whose values have another type than double.
virtual void close() override
virtual void assignRemainingVerticesDefaultValues() override
VertexDataWriter(const std::string &identifier, int unknownsPerAxis, int numberOfUnknowns, const std::string &description, const std::string &metaData, double *mapping, tarch::plotter::griddata::blockstructured::PeanoBinaryPatchFileWriter &writer)
void setPrecision(int precision)
Has no effect, as the quantities are written as raw doubles.
std::vector< double > _out
virtual int getFirstVertexWithinPatch(int index) const override
Plot Peano's mesh data in Peano's patch file format with binary quantities.
void addNewDatasetToIndexFile(double timestamp)
void addNewFileToCurrentDataSetInIndexFile(const std::string &filename)
std::stringstream _snapshotFileOut
virtual VertexDataWriter * createVertexDataWriter(const std::string &identifier, int unknownsPerAxis, int recordsPerVertex, const std::string &description) override
Caller has to destroy this instance manually.
virtual void clear() override
Clear local data.
static const std::string HEADER
void createEmptyIndexFile()
void writeMapping(int totalEntries, double *values)
static tarch::logging::Log _log
double getLatestTimeStepInIndexFile() const
Find latest time step in index file.
virtual ~PeanoBinaryPatchFileWriter()
Destructor.
void createBackupOfMetaFile()
void writeMetaData(const std::string &metaData)
virtual CellDataWriter * createCellDataWriter(const std::string &identifier, int unknownsPerAxis, int recordsPerCell, const std::string &description, const std::string &metaData, double *mapping) override
Create writer.
virtual CellDataWriter * createCellDataWriter(const std::string &identifier, int unknownsPerAxis, int recordsPerCell, const std::string &description) override
Caller has to destroy this instance manually.
virtual int plotPatch(const tarch::la::Vector< 3, double > &offset, const tarch::la::Vector< 3, double > &size) override
virtual VertexDataWriter * createVertexDataWriter(const std::string &identifier, int unknownsPerAxis, int recordsPerVertex, const std::string &description, const std::string &metaData, double *mapping) override
Create writer.
virtual bool writeToFile() override
bool _haveWrittenAtLeastOnePatch
PeanoBinaryPatchFileWriter(int dimension, const std::string &fileName, const std::string &indexFileName, IndexFileMode appendToIndexFile, double timeStamp, int precision=6)
Create a new Peano text file output.
virtual CellDataWriter * createCellDataWriter(const std::string &identifier, int unknownsPerAxis, int recordsPerCell, const std::string &description, const std::string &metaData) override
Create cell data writer.
virtual bool isOpen() override
virtual int plotPatch(const tarch::la::Vector< 2, double > &offset, const tarch::la::Vector< 2, double > &size) override
virtual VertexDataWriter * createVertexDataWriter(const std::string &identifier, int unknownsPerAxis, int recordsPerVertex, const std::string &description, const std::string &metaData) override
Create vertex data writer.
Have to include this header, as I need access to the SYCL_EXTERNAL keyword.