preCICE v3.2.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
precice::io::ExportXML Class Referenceabstract

Common class to generate the VTK XML-based formats. More...

#include <ExportXML.hpp>

Inheritance diagram for precice::io::ExportXML:
[legend]
Collaboration diagram for precice::io::ExportXML:
[legend]

Public Member Functions

 ExportXML (std::string_view participantName, std::string_view location, const mesh::Mesh &mesh, ExportKind kind, int frequency, int rank, int size)
 
void doExport (int index, double time) final override
 Export the mesh and writes files.
 
void exportSeries () const final override
 
- Public Member Functions inherited from precice::io::Export
virtual ~Export ()=default
 
 Export (std::string_view participantName, std::string_view location, const mesh::Mesh &mesh, ExportKind kind, int frequency, int rank, int size)
 
 Export (const Export &)=delete
 
 Export (Export &&)=delete
 
Exportoperator= (const Export &)=delete
 
Exportoperator= (Export &&)=delete
 

Static Public Member Functions

static void writeVertex (const Eigen::VectorXd &position, std::ostream &outFile)
 
static void writeLine (const mesh::Edge &edge, std::ostream &outFile)
 
static void writeTriangle (const mesh::Triangle &triangle, std::ostream &outFile)
 
static void writeTetrahedron (const mesh::Tetrahedron &tetra, std::ostream &outFile)
 

Private Member Functions

virtual std::string getVTKFormat () const =0
 
virtual std::string getParallelExtension () const =0
 
virtual std::string getPieceExtension () const =0
 
virtual std::string getPieceAttributes (const mesh::Mesh &mesh) const =0
 
void processDataNamesAndDimensions (const mesh::Mesh &mesh)
 Stores scalar and vector data names in string vectors Needed for writing primary file and sub files.
 
void writeParallelFile (int index, double time)
 Writes the primary file (called only by the primary rank)
 
virtual void writeParallelCells (std::ostream &out) const =0
 
void writeParallelData (std::ostream &out) const
 
void writeSubFile (int index, double time)
 Writes the sub file for each rank.
 
void exportPoints (std::ostream &outFile, const mesh::Mesh &mesh) const
 
virtual void exportConnectivity (std::ostream &outFile, const mesh::Mesh &mesh) const =0
 
void exportData (std::ostream &outFile, const mesh::Mesh &mesh) const
 
void exportGradient (const mesh::PtrData data, const int dataDim, std::ostream &outFile) const
 
std::string parallelPieceFilenameFor (int index, int rank) const
 
std::string serialPieceFilename (int index) const
 

Private Attributes

logging::Logger _log {"io::ExportXML"}
 
std::vector< std::string_scalarDataNames
 List of names of all scalar data on mesh.
 
std::vector< std::string_vectorDataNames
 List of names of all vector data on mesh.
 

Additional Inherited Members

- Public Types inherited from precice::io::Export
enum struct  ExportKind : bool { TimeWindows , Iterations }
 
- Protected Member Functions inherited from precice::io::Export
bool isParallel () const
 
std::string formatIndex (int index) const
 
bool keepExport (int index) const
 
void writeSeriesFile (std::string_view filename) const
 
void recordExport (std::string filename, double time)
 
- Protected Attributes inherited from precice::io::Export
std::string _participantName
 
std::string _location
 
const mesh::Mesh *const _mesh
 
ExportKind _kind
 
int _frequency
 
int _rank
 
int _size
 
std::vector< Record_records
 

Detailed Description

Common class to generate the VTK XML-based formats.

Definition at line 21 of file ExportXML.hpp.

Constructor & Destructor Documentation

◆ ExportXML()

precice::io::ExportXML::ExportXML ( std::string_view participantName,
std::string_view location,
const mesh::Mesh & mesh,
ExportKind kind,
int frequency,
int rank,
int size )

Definition at line 23 of file ExportXML.cpp.

Member Function Documentation

◆ doExport()

void precice::io::ExportXML::doExport ( int index,
double time )
finaloverridevirtual

Export the mesh and writes files.

Parameters
[in]indexthe index of this iteration or time window
[in]timethe associated time of this time window

Implements precice::io::Export.

Definition at line 33 of file ExportXML.cpp.

Here is the call graph for this function:

◆ exportConnectivity()

virtual void precice::io::ExportXML::exportConnectivity ( std::ostream & outFile,
const mesh::Mesh & mesh ) const
privatepure virtual

◆ exportData()

void precice::io::ExportXML::exportData ( std::ostream & outFile,
const mesh::Mesh & mesh ) const
private

Definition at line 228 of file ExportXML.cpp.

Here is the call graph for this function:

◆ exportGradient()

void precice::io::ExportXML::exportGradient ( const mesh::PtrData data,
const int dataDim,
std::ostream & outFile ) const
private

Definition at line 194 of file ExportXML.cpp.

◆ exportPoints()

void precice::io::ExportXML::exportPoints ( std::ostream & outFile,
const mesh::Mesh & mesh ) const
private

Definition at line 333 of file ExportXML.cpp.

Here is the call graph for this function:

◆ exportSeries()

void precice::io::ExportXML::exportSeries ( ) const
finaloverridevirtual

Implements precice::io::Export.

Definition at line 58 of file ExportXML.cpp.

Here is the call graph for this function:

◆ getParallelExtension()

virtual std::string precice::io::ExportXML::getParallelExtension ( ) const
privatepure virtual

◆ getPieceAttributes()

virtual std::string precice::io::ExportXML::getPieceAttributes ( const mesh::Mesh & mesh) const
privatepure virtual

◆ getPieceExtension()

virtual std::string precice::io::ExportXML::getPieceExtension ( ) const
privatepure virtual

◆ getVTKFormat()

virtual std::string precice::io::ExportXML::getVTKFormat ( ) const
privatepure virtual

◆ parallelPieceFilenameFor()

std::string precice::io::ExportXML::parallelPieceFilenameFor ( int index,
int rank ) const
private

Definition at line 98 of file ExportXML.cpp.

Here is the call graph for this function:

◆ processDataNamesAndDimensions()

void precice::io::ExportXML::processDataNamesAndDimensions ( const mesh::Mesh & mesh)
private

Stores scalar and vector data names in string vectors Needed for writing primary file and sub files.

Definition at line 67 of file ExportXML.cpp.

Here is the call graph for this function:

◆ serialPieceFilename()

std::string precice::io::ExportXML::serialPieceFilename ( int index) const
private

Definition at line 104 of file ExportXML.cpp.

Here is the call graph for this function:

◆ writeLine()

void precice::io::ExportXML::writeLine ( const mesh::Edge & edge,
std::ostream & outFile )
static

Definition at line 325 of file ExportXML.cpp.

Here is the call graph for this function:

◆ writeParallelCells()

virtual void precice::io::ExportXML::writeParallelCells ( std::ostream & out) const
privatepure virtual

◆ writeParallelData()

void precice::io::ExportXML::writeParallelData ( std::ostream & out) const
private

Definition at line 346 of file ExportXML.cpp.

◆ writeParallelFile()

void precice::io::ExportXML::writeParallelFile ( int index,
double time )
private

Writes the primary file (called only by the primary rank)

Definition at line 110 of file ExportXML.cpp.

Here is the call graph for this function:

◆ writeSubFile()

void precice::io::ExportXML::writeSubFile ( int index,
double time )
private

Writes the sub file for each rank.

Definition at line 154 of file ExportXML.cpp.

Here is the call graph for this function:

◆ writeTetrahedron()

void precice::io::ExportXML::writeTetrahedron ( const mesh::Tetrahedron & tetra,
std::ostream & outFile )
static

Definition at line 315 of file ExportXML.cpp.

Here is the call graph for this function:

◆ writeTriangle()

void precice::io::ExportXML::writeTriangle ( const mesh::Triangle & triangle,
std::ostream & outFile )
static

Definition at line 306 of file ExportXML.cpp.

Here is the call graph for this function:

◆ writeVertex()

void precice::io::ExportXML::writeVertex ( const Eigen::VectorXd & position,
std::ostream & outFile )
static

Definition at line 292 of file ExportXML.cpp.

Member Data Documentation

◆ _log

logging::Logger precice::io::ExportXML::_log {"io::ExportXML"}
mutableprivate

Definition at line 53 of file ExportXML.hpp.

◆ _scalarDataNames

std::vector<std::string> precice::io::ExportXML::_scalarDataNames
private

List of names of all scalar data on mesh.

Definition at line 56 of file ExportXML.hpp.

◆ _vectorDataNames

std::vector<std::string> precice::io::ExportXML::_vectorDataNames
private

List of names of all vector data on mesh.

Definition at line 59 of file ExportXML.hpp.


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