dune-fem 2.8.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
Dune::Fem::DataWriter< GridImp, DataImp > Class Template Reference

Implementation of the Dune::IOInterface. This class manages data output. Available output formats are GRAPE, VTK and VTK Vertex projected using the VtxProjection operator. Details can be found in DiscFuncIO. More...

#include <dune/fem/io/file/datawriter.hh>

Inheritance diagram for Dune::Fem::DataWriter< GridImp, DataImp >:
Inheritance graph

Public Types

enum  OutputFormat {
  vtk = 0 , vtkvtx = 1 , subvtk = 2 , binary = 3 ,
  gnuplot = 4 , none = 5
}
 

Public Member Functions

 DataWriter (const GridType &grid, OutPutDataType &data, const DataWriterParameters &parameter=DataWriterParameters())
 Constructor creating data writer.
 
 DataWriter (const GridType &grid, OutPutDataType &data, const TimeProviderBase &tp, const DataWriterParameters &parameter=DataWriterParameters())
 Constructor creating data writer.
 
virtual ~DataWriter ()
 destructor
 
void consistentSaveStep (const TimeProviderBase &tp) const
 
virtual bool willWrite (const TimeProviderBase &tp) const
 returns true if data will be written on next write call
 
virtual bool willWrite () const
 returns true if data will be written on next write call
 
void write (const std::string &outstring) const
 write given data to disc, evaluates parameter savecount
 
void write () const
 write given data to disc, evaluates parameter savecount
 
void write (const TimeProviderBase &tp, const std::string &outstring) const
 write given data to disc, evaluates parameter savecount and savestep
 
void write (const TimeProviderBase &tp) const
 write given data to disc, evaluates parameter savecount and savestep
 
void writeData (double sequenceStamp, const std::string &outstring) const
 write data with a given sequence stamp and outstring
 
void writeData (double sequenceStamp) const
 write data with a given sequence stamp
 
const std::string & path () const
 return output path name
 
int writeStep () const
 return write step
 
int writeCalls () const
 return write calls
 
double saveTime () const
 return save time
 

Static Public Member Functions

static std::string defaultGridKey (int dimension, bool check=true)
 return FEM key for macro grid reading
 
static std::string defaultGridKey (int dimension, const ParameterReader &parameter, bool check=true)
 
static std::string defaultGridKey (std::string base, int dimension, bool check=true)
 
static std::string defaultGridKey (std::string base, int dimension, const ParameterReader &parameter, bool check=true)
 return FEM key for macro grid reading
 
static void createPath (const std::string &path)
 create given path in combination with rank
 
template<class CommunicatorType >
static std::string createPath (const CommunicatorType &comm, const std::string &pathPrefix, const std::string &dataPrefix, const int step, const bool alsoCreateRankPath=true)
 
static std::string createPathName (const std::string &pathPref, int rank)
 create given path in combination with rank
 
static std::string readPath ()
 
template<class CommunicatorType >
static void createGlobalPath (const CommunicatorType &comm, const std::string &path)
 create global path for data output
 
static std::string copyPathToFilename (const std::string &path)
 
static std::string createRecoverPath (const std::string &pathPrefix, const int rank, const std::string &dataPrefix, const int step, const bool alsoUseRankPath=true)
 
template<class GridImp >
static void writeMacroGrid (const GridImp &grid, std::ostream &out, const std::string &macroname, const std::string &path, const std::string &prefix, const bool writeSubFiles=false)
 if grid is structured grid, write macro file
 
template<class GridImp >
static void copyMacroGrid (const GridImp &g, const std::string &macroGrid, const std::string &orgPath, const std::string &destPath, const std::string &prefix)
 if grid is structured grid, write macro file
 

Protected Types

typedef GridImp GridType
 type of grid used
 
typedef DataImp OutPutDataType
 type of data tuple
 
typedef DataWriter< GridImp, DataImp > ThisType
 type of this class
 
typedef DataOutput< GridImp, DataImp > BaseType
 

Protected Member Functions

virtual const char * myClassName () const
 print class name
 
virtual void writeBinaryData (const double sequenceStamp) const
 write binary data
 
template<class OutputTuple >
std::string writeMyBinaryData (const double sequenceStamp, const int step, OutputTuple &data) const
 
auto getGridPart () const
 
auto getGridPart (std::integral_constant< bool, false >) const
 
auto getGridPart (std::integral_constant< bool, true >) const
 
std::string writeGnuPlotOutput () const
 
virtual void display () const
 display data with grape
 
template<class OutputTupleType >
void grapeDisplay (OutputTupleType &data) const
 display data with grape
 

Static Protected Member Functions

static std::string strRank (const int rank)
 create string containing rank
 
template<class GridImp >
static void saveCartesianGrid (const GridImp &grid, std::ostream &out, dgf::IntervalBlock &intervalBlock, std::string filename, const bool writeSubFiles)
 write my partition as macro grid
 
template<int dimension>
static void writeToStream (std::ostream &file, const FieldVector< double, dimension > &origin, const FieldVector< double, dimension > &lang, const FieldVector< int, dimension > &anz)
 
template<int dimension>
static void writeStructuredGrid (const std::string &filename, std::ostream &out, const FieldVector< double, dimension > &origin, const FieldVector< double, dimension > &lang, const FieldVector< int, dimension > &anz)
 write structured grid as DGF file
 

Protected Attributes

std::stringstream macroGrid_
 
const bool separateRankPath_
 
const GridTypegrid_
 type of this class
 
OutPutDataType data_
 
std::string path_
 
std::string datapref_
 
bool grapeDisplay_
 
int writeStep_
 
int writeCalls_
 
double saveTime_
 
double saveStep_
 
int saveCount_
 
OutputFormat outputFormat_
 
bool conformingOutput_
 
std::unique_ptr< FileWriter > sequence_
 
std::unique_ptr< PVDWriter > pvd_
 
std::unique_ptr< const DataOutputParametersparam_
 

Detailed Description

template<class GridImp, class DataImp>
class Dune::Fem::DataWriter< GridImp, DataImp >

Implementation of the Dune::IOInterface. This class manages data output. Available output formats are GRAPE, VTK and VTK Vertex projected using the VtxProjection operator. Details can be found in DiscFuncIO.

Member Typedef Documentation

◆ BaseType

template<class GridImp , class DataImp >
typedef DataOutput< GridImp, DataImp > Dune::Fem::DataWriter< GridImp, DataImp >::BaseType
protected

◆ GridType

template<class GridImp , class DataImp >
typedef GridImp Dune::Fem::DataWriter< GridImp, DataImp >::GridType
protected

type of grid used

◆ OutPutDataType

template<class GridImp , class DataImp >
typedef DataImp Dune::Fem::DataWriter< GridImp, DataImp >::OutPutDataType
protected

type of data tuple

◆ ThisType

template<class GridImp , class DataImp >
typedef DataWriter< GridImp, DataImp > Dune::Fem::DataWriter< GridImp, DataImp >::ThisType
protected

type of this class

Member Enumeration Documentation

◆ OutputFormat

template<class GridImp , class DataImp >
enum Dune::Fem::DataOutput::OutputFormat
inherited
Enumerator
vtk 
vtkvtx 
subvtk 
binary 
gnuplot 
none 

Constructor & Destructor Documentation

◆ DataWriter() [1/2]

template<class GridImp , class DataImp >
Dune::Fem::DataWriter< GridImp, DataImp >::DataWriter ( const GridType grid,
OutPutDataType data,
const DataWriterParameters parameter = DataWriterParameters() 
)
inline

Constructor creating data writer.

Parameters
gridcorresponding grid
dataTuple containing discrete functions to write
parameterstructure for tuning the behavior of the Dune::DataWriter defaults to Dune::DataWriterParameters

◆ DataWriter() [2/2]

template<class GridImp , class DataImp >
Dune::Fem::DataWriter< GridImp, DataImp >::DataWriter ( const GridType grid,
OutPutDataType data,
const TimeProviderBase tp,
const DataWriterParameters parameter = DataWriterParameters() 
)
inline

Constructor creating data writer.

Parameters
gridcorresponding grid
dataTuple containing discrete functions to write
tpa time provider to set time (e.g. for restart)
parameterstructure for tuning the behavior of the Dune::DataWriter defaults to Dune::DataWriterParameters

◆ ~DataWriter()

template<class GridImp , class DataImp >
virtual Dune::Fem::DataWriter< GridImp, DataImp >::~DataWriter ( )
inlinevirtual

destructor

Member Function Documentation

◆ consistentSaveStep()

template<class GridImp , class DataImp >
void Dune::Fem::DataOutput< GridImp, DataImp >::consistentSaveStep ( const TimeProviderBase tp) const
inlineinherited

◆ copyMacroGrid()

template<class GridImp >
static void Dune::Fem::IOInterface::copyMacroGrid ( const GridImp &  g,
const std::string &  macroGrid,
const std::string &  orgPath,
const std::string &  destPath,
const std::string &  prefix 
)
inlinestaticinherited

if grid is structured grid, write macro file

◆ copyPathToFilename()

static std::string Dune::Fem::IOInterface::copyPathToFilename ( const std::string &  path)
inlinestaticinherited

◆ createGlobalPath()

template<class CommunicatorType >
static void Dune::Fem::IOInterface::createGlobalPath ( const CommunicatorType &  comm,
const std::string &  path 
)
inlinestaticinherited

create global path for data output

◆ createPath() [1/2]

template<class CommunicatorType >
static std::string Dune::Fem::IOInterface::createPath ( const CommunicatorType &  comm,
const std::string &  pathPrefix,
const std::string &  dataPrefix,
const int  step,
const bool  alsoCreateRankPath = true 
)
inlinestaticinherited

◆ createPath() [2/2]

static void Dune::Fem::IOInterface::createPath ( const std::string &  path)
inlinestaticinherited

create given path in combination with rank

◆ createPathName()

static std::string Dune::Fem::IOInterface::createPathName ( const std::string &  pathPref,
int  rank 
)
inlinestaticinherited

create given path in combination with rank

◆ createRecoverPath()

static std::string Dune::Fem::IOInterface::createRecoverPath ( const std::string &  pathPrefix,
const int  rank,
const std::string &  dataPrefix,
const int  step,
const bool  alsoUseRankPath = true 
)
inlinestaticinherited

◆ defaultGridKey() [1/4]

static std::string Dune::Fem::IOInterface::defaultGridKey ( int  dimension,
bool  check = true 
)
inlinestaticinherited

return FEM key for macro grid reading

◆ defaultGridKey() [2/4]

static std::string Dune::Fem::IOInterface::defaultGridKey ( int  dimension,
const ParameterReader parameter,
bool  check = true 
)
inlinestaticinherited

◆ defaultGridKey() [3/4]

static std::string Dune::Fem::IOInterface::defaultGridKey ( std::string  base,
int  dimension,
bool  check = true 
)
inlinestaticinherited

◆ defaultGridKey() [4/4]

static std::string Dune::Fem::IOInterface::defaultGridKey ( std::string  base,
int  dimension,
const ParameterReader parameter,
bool  check = true 
)
inlinestaticinherited

return FEM key for macro grid reading

◆ display()

template<class GridImp , class DataImp >
virtual void Dune::Fem::DataOutput< GridImp, DataImp >::display ( ) const
inlineprotectedvirtualinherited

display data with grape

◆ getGridPart() [1/3]

template<class GridImp , class DataImp >
auto Dune::Fem::DataOutput< GridImp, DataImp >::getGridPart ( ) const
inlineprotectedinherited

◆ getGridPart() [2/3]

template<class GridImp , class DataImp >
auto Dune::Fem::DataOutput< GridImp, DataImp >::getGridPart ( std::integral_constant< bool, false >  ) const
inlineprotectedinherited

◆ getGridPart() [3/3]

template<class GridImp , class DataImp >
auto Dune::Fem::DataOutput< GridImp, DataImp >::getGridPart ( std::integral_constant< bool, true >  ) const
inlineprotectedinherited

◆ grapeDisplay()

template<class GridImp , class DataImp >
template<class OutputTupleType >
void Dune::Fem::DataOutput< GridImp, DataImp >::grapeDisplay ( OutputTupleType &  data) const
inlineprotectedinherited

display data with grape

◆ myClassName()

template<class GridImp , class DataImp >
virtual const char * Dune::Fem::DataWriter< GridImp, DataImp >::myClassName ( ) const
inlineprotectedvirtual

print class name

Reimplemented from Dune::Fem::DataOutput< GridImp, DataImp >.

Reimplemented in Dune::Fem::CheckPointer< GridImp >.

◆ path()

template<class GridImp , class DataImp >
const std::string & Dune::Fem::DataOutput< GridImp, DataImp >::path ( ) const
inlineinherited

return output path name

◆ readPath()

static std::string Dune::Fem::IOInterface::readPath ( )
inlinestaticinherited

standard path reading and creation method rank is added to output path

◆ saveCartesianGrid()

template<class GridImp >
static void Dune::Fem::IOInterface::saveCartesianGrid ( const GridImp &  grid,
std::ostream &  out,
dgf::IntervalBlock &  intervalBlock,
std::string  filename,
const bool  writeSubFiles 
)
inlinestaticprotectedinherited

write my partition as macro grid

◆ saveTime()

template<class GridImp , class DataImp >
double Dune::Fem::DataOutput< GridImp, DataImp >::saveTime ( ) const
inlineinherited

return save time

◆ strRank()

static std::string Dune::Fem::IOInterface::strRank ( const int  rank)
inlinestaticprotectedinherited

create string containing rank

◆ willWrite() [1/2]

template<class GridImp , class DataImp >
virtual bool Dune::Fem::DataOutput< GridImp, DataImp >::willWrite ( ) const
inlinevirtualinherited

returns true if data will be written on next write call

◆ willWrite() [2/2]

template<class GridImp , class DataImp >
virtual bool Dune::Fem::DataOutput< GridImp, DataImp >::willWrite ( const TimeProviderBase tp) const
inlinevirtualinherited

returns true if data will be written on next write call

Reimplemented in Dune::Fem::CheckPointer< GridImp >.

◆ write() [1/4]

template<class GridImp , class DataImp >
void Dune::Fem::DataOutput< GridImp, DataImp >::write ( ) const
inlinevirtualinherited

write given data to disc, evaluates parameter savecount

Implements Dune::Fem::IOInterface.

◆ write() [2/4]

template<class GridImp , class DataImp >
void Dune::Fem::DataOutput< GridImp, DataImp >::write ( const std::string &  outstring) const
inlineinherited

write given data to disc, evaluates parameter savecount

Parameters
outstringpass additional string for naming

◆ write() [3/4]

template<class GridImp , class DataImp >
void Dune::Fem::DataOutput< GridImp, DataImp >::write ( const TimeProviderBase tp) const
inlinevirtualinherited

write given data to disc, evaluates parameter savecount and savestep

Parameters
tptime provider for time and step

Implements Dune::Fem::IOInterface.

◆ write() [4/4]

template<class GridImp , class DataImp >
void Dune::Fem::DataOutput< GridImp, DataImp >::write ( const TimeProviderBase tp,
const std::string &  outstring 
) const
inlineinherited

write given data to disc, evaluates parameter savecount and savestep

Parameters
tptime provider for time and step
outstringpass additional string for naming

◆ writeBinaryData()

template<class GridImp , class DataImp >
virtual void Dune::Fem::DataWriter< GridImp, DataImp >::writeBinaryData ( const double  sequenceStamp) const
inlineprotectedvirtual

write binary data

Reimplemented from Dune::Fem::DataOutput< GridImp, DataImp >.

Reimplemented in Dune::Fem::CheckPointer< GridImp >.

◆ writeCalls()

template<class GridImp , class DataImp >
int Dune::Fem::DataOutput< GridImp, DataImp >::writeCalls ( ) const
inlineinherited

return write calls

◆ writeData() [1/2]

template<class GridImp , class DataImp >
void Dune::Fem::DataOutput< GridImp, DataImp >::writeData ( double  sequenceStamp) const
inlinevirtualinherited

write data with a given sequence stamp

Parameters
sequenceStampstamp for the data set

Implements Dune::Fem::IOInterface.

◆ writeData() [2/2]

template<class GridImp , class DataImp >
void Dune::Fem::DataOutput< GridImp, DataImp >::writeData ( double  sequenceStamp,
const std::string &  outstring 
) const
inlineinherited

write data with a given sequence stamp and outstring

Parameters
sequenceStampstamp for the data set
outstringpass additional string for naming

◆ writeGnuPlotOutput()

template<class GridImp , class DataImp >
std::string Dune::Fem::DataOutput< GridImp, DataImp >::writeGnuPlotOutput
inlineprotectedinherited

◆ writeMacroGrid()

template<class GridImp >
static void Dune::Fem::IOInterface::writeMacroGrid ( const GridImp &  grid,
std::ostream &  out,
const std::string &  macroname,
const std::string &  path,
const std::string &  prefix,
const bool  writeSubFiles = false 
)
inlinestaticinherited

if grid is structured grid, write macro file

◆ writeMyBinaryData()

template<class GridImp , class DataImp >
template<class OutputTuple >
std::string Dune::Fem::DataWriter< GridImp, DataImp >::writeMyBinaryData ( const double  sequenceStamp,
const int  step,
OutputTuple &  data 
) const
inlineprotected

◆ writeStep()

template<class GridImp , class DataImp >
int Dune::Fem::DataOutput< GridImp, DataImp >::writeStep ( ) const
inlineinherited

return write step

◆ writeStructuredGrid()

template<int dimension>
static void Dune::Fem::IOInterface::writeStructuredGrid ( const std::string &  filename,
std::ostream &  out,
const FieldVector< double, dimension > &  origin,
const FieldVector< double, dimension > &  lang,
const FieldVector< int, dimension > &  anz 
)
inlinestaticprotectedinherited

write structured grid as DGF file

◆ writeToStream()

template<int dimension>
static void Dune::Fem::IOInterface::writeToStream ( std::ostream &  file,
const FieldVector< double, dimension > &  origin,
const FieldVector< double, dimension > &  lang,
const FieldVector< int, dimension > &  anz 
)
inlinestaticprotectedinherited

Member Data Documentation

◆ conformingOutput_

template<class GridImp , class DataImp >
bool Dune::Fem::DataOutput< GridImp, DataImp >::conformingOutput_
protectedinherited

◆ data_

template<class GridImp , class DataImp >
OutPutDataType Dune::Fem::DataOutput< GridImp, DataImp >::data_
protectedinherited

◆ datapref_

template<class GridImp , class DataImp >
std::string Dune::Fem::DataOutput< GridImp, DataImp >::datapref_
protectedinherited

◆ grapeDisplay_

template<class GridImp , class DataImp >
bool Dune::Fem::DataOutput< GridImp, DataImp >::grapeDisplay_
protectedinherited

◆ grid_

template<class GridImp , class DataImp >
const GridType& Dune::Fem::DataOutput< GridImp, DataImp >::grid_
protectedinherited

type of this class

◆ macroGrid_

template<class GridImp , class DataImp >
std::stringstream Dune::Fem::DataWriter< GridImp, DataImp >::macroGrid_
mutableprotected

◆ outputFormat_

template<class GridImp , class DataImp >
OutputFormat Dune::Fem::DataOutput< GridImp, DataImp >::outputFormat_
protectedinherited

◆ param_

template<class GridImp , class DataImp >
std::unique_ptr< const DataOutputParameters > Dune::Fem::DataOutput< GridImp, DataImp >::param_
protectedinherited

◆ path_

template<class GridImp , class DataImp >
std::string Dune::Fem::DataOutput< GridImp, DataImp >::path_
protectedinherited

◆ pvd_

template<class GridImp , class DataImp >
std::unique_ptr< PVDWriter > Dune::Fem::DataOutput< GridImp, DataImp >::pvd_
protectedinherited

◆ saveCount_

template<class GridImp , class DataImp >
int Dune::Fem::DataOutput< GridImp, DataImp >::saveCount_
protectedinherited

◆ saveStep_

template<class GridImp , class DataImp >
double Dune::Fem::DataOutput< GridImp, DataImp >::saveStep_
protectedinherited

◆ saveTime_

template<class GridImp , class DataImp >
double Dune::Fem::DataOutput< GridImp, DataImp >::saveTime_
mutableprotectedinherited

◆ separateRankPath_

template<class GridImp , class DataImp >
const bool Dune::Fem::DataWriter< GridImp, DataImp >::separateRankPath_
protected

◆ sequence_

template<class GridImp , class DataImp >
std::unique_ptr< FileWriter > Dune::Fem::DataOutput< GridImp, DataImp >::sequence_
protectedinherited

◆ writeCalls_

template<class GridImp , class DataImp >
int Dune::Fem::DataOutput< GridImp, DataImp >::writeCalls_
mutableprotectedinherited

◆ writeStep_

template<class GridImp , class DataImp >
int Dune::Fem::DataOutput< GridImp, DataImp >::writeStep_
mutableprotectedinherited

The documentation for this class was generated from the following file: