3 #ifndef DUNE_IO_GNUPLOT_HH 4 #define DUNE_IO_GNUPLOT_HH 16 #include <dune/common/fvector.hh> 27 template<
class Gr
idView>
30 typedef typename GridView::Grid::ctype ctype;
37 static_assert(dimworld==1 || dimworld==2,
"GnuPlot export only works for worlddim==1 and worlddim==2");
39 _data.resize(_is.size(0)*2);
46 template <
class DataContainer>
47 void addCellData(
const DataContainer& data,
const std::string & name)
50 DUNE_THROW(IOError,
"Gnuplot cell data writing is only supported for grids in a 1d world!");
51 addData(cellData, data, name);
58 template <
class DataContainer>
61 addData(vertexData, data, name);
67 void write(
const std::string& filename)
const;
70 enum DataType { vertexData, cellData };
73 std::vector< std::vector< float > > _data;
74 std::vector< std::string > _names;
76 template <
class DataContainer>
77 void addData(DataType t,
const DataContainer& data,
const std::string & name);
79 void writeRow(std::ostream & file,
80 const FieldVector<ctype, dimworld>& position,
81 const std::vector<float> & data)
const;
114 #endif // DUNE_IO_GNUPLOT_HH void addVertexData(const DataContainer &data, const std::string &name)
Add vertex data.
Definition: gnuplot.hh:59
GnuplotWriter on a given level grid.
Definition: gnuplot.hh:101
The dimension of the world the grid lives in.
Definition: common/gridview.hh:131
Implementation of gnuplot output for 1D and 2D grids.
GnuplotWriter on the leaf grid.
Definition: gnuplot.hh:88
Grid< dim, dimworld, ct, GridFamily >::LevelGridView levelGridView(const Grid< dim, dimworld, ct, GridFamily > &grid, int level)
level grid view for the given grid and level.
Definition: common/grid.hh:792
Writer for 1D grids in gnuplot format.
Definition: gnuplot.hh:28
Different resources needed by all grid implementations.
GnuplotWriter(const GridView &gv)
Definition: gnuplot.hh:35
LeafGnuplotWriter(const G &grid)
Construct a Gnuplot writer for the leaf level of a given grid.
Definition: gnuplot.hh:92
Grid view abstract base class.
Definition: common/gridview.hh:59
Traits ::IndexSet IndexSet
type of the index set
Definition: common/gridview.hh:80
void write(const std::string &filename) const
Write Gnuplot file to disk.
Definition: gnuplot.cc:17
void addCellData(const DataContainer &data, const std::string &name)
Add cell data.
Definition: gnuplot.hh:47
Grid< dim, dimworld, ct, GridFamily >::LeafGridView leafGridView(const Grid< dim, dimworld, ct, GridFamily > &grid)
leaf grid view for the given grid
Definition: common/grid.hh:809
LevelGnuplotWriter(const G &grid, int level)
Construct a Gnuplot writer for a certain level of a given grid.
Definition: gnuplot.hh:105
Include standard header files.
Definition: agrid.hh:58