dune-fem  2.4.1-rc
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 I/O for discrete functions. More...

#include </local/tomalk/somewhere/tmp/dune-fem/dune/fem/io/file/datawriter.hh>

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

Public Member Functions

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

Static Public Member Functions

static std::string defaultGridKey (int dimension, bool check=true)
 return FEM key for macro grid reading More...
 
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 More...
 
static void createPath (const std::string &path)
 create given path in combination with rank More...
 
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 More...
 
static std::string readPath ()
 
template<class CommunicatorType >
static void createGlobalPath (const CommunicatorType &comm, const std::string &path)
 create global path for data output More...
 
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 More...
 
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 More...
 

Protected Types

typedef GridImp GridType
 type of grid used More...
 
typedef DataImp OutPutDataType
 type of data tuple More...
 
typedef DataWriter< GridImp, DataImp > ThisType
 type of this class More...
 
typedef DataOutput< GridImp, DataImp > BaseType
 
enum  OutputFormat {
  vtk = 0, vtkvtx = 1, subvtk = 2, binary = 3,
  gnuplot = 4, none = 5
}
 

Protected Member Functions

virtual const char * myClassName () const
 print class name More...
 
virtual void writeBinaryData (const double sequenceStamp) const
 write binary data More...
 
template<class OutputTuple >
std::string writeMyBinaryData (const double sequenceStamp, const int step, OutputTuple &data) const
 
void init (const DataOutputParameters &parameter)
 initialize data writer More...
 
std::string writeVTKOutput () const
 
std::string writeGnuPlotOutput () const
 
virtual void display () const
 display data with grape More...
 
template<class OutputTupleType >
void grapeDisplay (OutputTupleType &data) const
 display data with grape More...
 

Static Protected Member Functions

static std::string strRank (const int rank)
 create string containing rank More...
 
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 More...
 
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 More...
 

Protected Attributes

std::stringstream macroGrid_
 
const bool separateRankPath_
 
const GridTypegrid_
 type of this class More...
 
OutPutDataTypedata_
 
std::string path_
 
std::string datapref_
 
bool grapeDisplay_
 
int writeStep_
 
int writeCalls_
 
double saveTime_
 
double saveStep_
 
int saveCount_
 
OutputFormat outputFormat_
 
bool conformingOutput_
 
std::ofstream sequence_
 
std::ofstream pvd_
 
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 I/O for discrete functions.

Member Typedef Documentation

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

type of grid used

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

type of data tuple

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

type of this class

Member Enumeration Documentation

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

Constructor & Destructor Documentation

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
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
template<class GridImp , class DataImp >
virtual Dune::Fem::DataWriter< GridImp, DataImp >::~DataWriter ( )
inlinevirtual

destructor

Member Function Documentation

template<class GridImp , class DataImp >
void Dune::Fem::DataOutput< GridImp, DataImp >::consistentSaveStep ( const TimeProviderBase tp) const
inlineinherited
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

References Dune::Fem::Parameter::verbose().

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

create given path in combination with rank

References Dune::Fem::createDirectory().

Referenced by Dune::Fem::DataWriter< GridImp, DataImp >::writeMyBinaryData().

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
static std::string Dune::Fem::IOInterface::createPathName ( const std::string &  pathPref,
int  rank 
)
inlinestaticinherited

create given path in combination with rank

References path.

Referenced by Dune::Fem::IOInterface::createPath(), and Dune::Fem::IOInterface::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
static std::string Dune::Fem::IOInterface::defaultGridKey ( int  dimension,
bool  check = true 
)
inlinestaticinherited
static std::string Dune::Fem::IOInterface::defaultGridKey ( int  dimension,
const ParameterReader parameter,
bool  check = true 
)
inlinestaticinherited
static std::string Dune::Fem::IOInterface::defaultGridKey ( std::string  base,
int  dimension,
bool  check = true 
)
inlinestaticinherited
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

References Dune::Fem::BasicParameterReader< Parameter >::exists().

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

display data with grape

template<class GridImp , class DataImp >
template<class OutputTupleType >
void Dune::Fem::DataOutput< GridImp, DataImp >::grapeDisplay ( OutputTupleType &  data) const
inlineprotectedinherited
template<class GridImp , class DataImp >
void Dune::Fem::DataOutput< GridImp, DataImp >::init ( const DataOutputParameters parameter)
inlineprotectedinherited
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, DataImp >.

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

return output path name

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

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

References Dune::Fem::Parameter::commonOutputPath().

Referenced by Dune::Fem::CheckPointer< GridImp, DataImp >::restoreGrid().

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
template<class GridImp , class DataImp >
double Dune::Fem::DataOutput< GridImp, DataImp >::saveTime ( ) const
inlineinherited

return save time

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

create string containing rank

Referenced by Dune::Fem::IOInterface::saveCartesianGrid().

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, DataImp >.

References Dune::Fem::TimeProviderBase::time().

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

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

References Dune::Fem::DataOutputParameters::willWrite().

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.

References Dune::Fem::DataOutputParameters::willWrite().

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

References Dune::Fem::TimeProviderBase::time(), and Dune::Fem::DataOutputParameters::willWrite().

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.

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, DataImp >.

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

return write calls

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

References Dune::Fem::Parameter::verbose().

Referenced by Dune::Fem::DataOutput< GridImp, DataImp >::init().

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.

template<class GridImp , class DataImp >
std::string Dune::Fem::DataOutput< GridImp, DataImp >::writeGnuPlotOutput ( ) const
inlineprotectedinherited
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

References Dune::Fem::IOInterface::saveCartesianGrid().

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
template<class GridImp , class DataImp >
int Dune::Fem::DataOutput< GridImp, DataImp >::writeStep ( ) const
inlineinherited

return write step

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

References Dune::Fem::IOInterface::writeToStream().

Referenced by Dune::Fem::IOInterface::saveCartesianGrid().

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
template<class GridImp , class DataImp >
std::string Dune::Fem::DataOutput< GridImp, DataImp >::writeVTKOutput ( ) const
inlineprotectedinherited

Member Data Documentation

template<class GridImp , class DataImp >
bool Dune::Fem::DataOutput< GridImp, DataImp >::conformingOutput_
protectedinherited
template<class GridImp , class DataImp >
OutPutDataType& Dune::Fem::DataOutput< GridImp, DataImp >::data_
protectedinherited
template<class GridImp , class DataImp >
std::string Dune::Fem::DataOutput< GridImp, DataImp >::datapref_
protectedinherited
template<class GridImp , class DataImp >
bool Dune::Fem::DataOutput< GridImp, DataImp >::grapeDisplay_
protectedinherited
template<class GridImp , class DataImp >
const GridType& Dune::Fem::DataOutput< GridImp, DataImp >::grid_
protectedinherited

type of this class

template<class GridImp , class DataImp >
std::stringstream Dune::Fem::DataWriter< GridImp, DataImp >::macroGrid_
mutableprotected
template<class GridImp , class DataImp >
OutputFormat Dune::Fem::DataOutput< GridImp, DataImp >::outputFormat_
protectedinherited
template<class GridImp , class DataImp >
const DataOutputParameters* Dune::Fem::DataOutput< GridImp, DataImp >::param_
protectedinherited
template<class GridImp , class DataImp >
std::string Dune::Fem::DataOutput< GridImp, DataImp >::path_
protectedinherited
template<class GridImp , class DataImp >
std::ofstream Dune::Fem::DataOutput< GridImp, DataImp >::pvd_
mutableprotectedinherited
template<class GridImp , class DataImp >
int Dune::Fem::DataOutput< GridImp, DataImp >::saveCount_
protectedinherited
template<class GridImp , class DataImp >
double Dune::Fem::DataOutput< GridImp, DataImp >::saveStep_
protectedinherited
template<class GridImp , class DataImp >
double Dune::Fem::DataOutput< GridImp, DataImp >::saveTime_
mutableprotectedinherited
template<class GridImp , class DataImp >
const bool Dune::Fem::DataWriter< GridImp, DataImp >::separateRankPath_
protected
template<class GridImp , class DataImp >
std::ofstream Dune::Fem::DataOutput< GridImp, DataImp >::sequence_
mutableprotectedinherited
template<class GridImp , class DataImp >
int Dune::Fem::DataOutput< GridImp, DataImp >::writeCalls_
mutableprotectedinherited
template<class GridImp , class DataImp >
int Dune::Fem::DataOutput< GridImp, DataImp >::writeStep_
mutableprotectedinherited

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