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

Implementation of the Dune::Fem::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/dataoutput.hh>

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

Public Types

enum  OutputFormat {
  vtk = 0 , vtkvtx = 1 , subvtk = 2 , binary = 3 ,
  gnuplot = 4 , none = 5
}
 
typedef GridImp GridType
 type of grid used
 
typedef DataImp OutPutDataType
 type of data tuple
 

Public Member Functions

 DataOutput (const GridType &grid, OutPutDataType &data, std::unique_ptr< const DataOutputParameters > parameters)
 Constructor creating data output class.
 
 DataOutput (const GridType &grid, OutPutDataType &data, const DataOutputParameters &parameter)
 Constructor creating data output class.
 
 DataOutput (const GridType &grid, OutPutDataType &data, const ParameterReader &parameter=Parameter::container())
 
 DataOutput (const GridType &grid, OutPutDataType &data, const TimeProviderBase &tp, std::unique_ptr< const DataOutputParameters > parameters)
 Constructor creating data writer.
 
 DataOutput (const GridType &grid, OutPutDataType &data, const TimeProviderBase &tp, const DataOutputParameters &parameter)
 Constructor creating data writer.
 
 DataOutput (const GridType &grid, OutPutDataType &data, const TimeProviderBase &tp, const ParameterReader &parameter=Parameter::container())
 
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
 
virtual const char * myClassName () const
 print class name
 
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 Member Functions

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 writeBinaryData (const double) const
 write binary data
 
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

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::DataOutput< GridImp, DataImp >

Implementation of the Dune::Fem::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

◆ GridType

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

type of grid used

◆ OutPutDataType

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

type of data tuple

Member Enumeration Documentation

◆ OutputFormat

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

Constructor & Destructor Documentation

◆ DataOutput() [1/6]

template<class GridImp , class DataImp >
Dune::Fem::DataOutput< GridImp, DataImp >::DataOutput ( const GridType grid,
OutPutDataType data,
std::unique_ptr< const DataOutputParameters parameters 
)
inline

Constructor creating data output class.

Parameters
gridcorresponding grid
dataTuple containing discrete functions to write
parametersstructure for tuning the behavior of the Dune::DataOutput defaults to Dune::DataOutputParameters

◆ DataOutput() [2/6]

template<class GridImp , class DataImp >
Dune::Fem::DataOutput< GridImp, DataImp >::DataOutput ( const GridType grid,
OutPutDataType data,
const DataOutputParameters parameter 
)
inline

Constructor creating data output class.

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

◆ DataOutput() [3/6]

template<class GridImp , class DataImp >
Dune::Fem::DataOutput< GridImp, DataImp >::DataOutput ( const GridType grid,
OutPutDataType data,
const ParameterReader parameter = Parameter::container() 
)
inline

◆ DataOutput() [4/6]

template<class GridImp , class DataImp >
Dune::Fem::DataOutput< GridImp, DataImp >::DataOutput ( const GridType grid,
OutPutDataType data,
const TimeProviderBase tp,
std::unique_ptr< const DataOutputParameters parameters 
)
inline

Constructor creating data writer.

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

◆ DataOutput() [5/6]

template<class GridImp , class DataImp >
Dune::Fem::DataOutput< GridImp, DataImp >::DataOutput ( const GridType grid,
OutPutDataType data,
const TimeProviderBase tp,
const DataOutputParameters parameter 
)
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::DataOutput defaults to Dune::DataOutputParameters

◆ DataOutput() [6/6]

template<class GridImp , class DataImp >
Dune::Fem::DataOutput< GridImp, DataImp >::DataOutput ( const GridType grid,
OutPutDataType data,
const TimeProviderBase tp,
const ParameterReader parameter = Parameter::container() 
)
inline

Member Function Documentation

◆ consistentSaveStep()

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

◆ 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
inlineprotectedvirtual

display data with grape

◆ getGridPart() [1/3]

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

◆ getGridPart() [2/3]

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

◆ getGridPart() [3/3]

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

◆ grapeDisplay()

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

display data with grape

◆ myClassName()

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

◆ path()

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

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
inline

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
inlinevirtual

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
inlinevirtual

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
inlinevirtual

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
inline

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
inlinevirtual

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
inline

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::DataOutput< GridImp, DataImp >::writeBinaryData ( const double  ) const
inlineprotectedvirtual

◆ writeCalls()

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

return write calls

◆ writeData() [1/2]

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

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
inline

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
inlineprotected

◆ 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

◆ writeStep()

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

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_
protected

◆ data_

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

◆ datapref_

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

◆ grapeDisplay_

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

◆ grid_

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

type of this class

◆ outputFormat_

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

◆ param_

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

◆ path_

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

◆ pvd_

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

◆ saveCount_

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

◆ saveStep_

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

◆ saveTime_

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

◆ sequence_

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

◆ writeCalls_

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

◆ writeStep_

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

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