35#ifndef vtkhdf5exportmodule_h
36#define vtkhdf5exportmodule_h
51 #define NULL_DEVICE "NUL:"
53 #define NULL_DEVICE "/dev/null"
64#ifndef H5_NO_NAMESPACE
70#define _IFT_VTKHDF5ExportModule_Name "vtkhdf5"
71#define _IFT_VTKHDF5ExportModule_cellvars "cellvars"
72#define _IFT_VTKHDF5ExportModule_vars "vars"
73#define _IFT_VTKHDF5ExportModule_primvars "primvars"
74#define _IFT_VTKHDF5ExportModule_externalForces "externalforces"
75#define _IFT_VTKHDF5ExportModule_ipvars "ipvars"
76#define _IFT_VTKHDF5ExportModule_stype "stype"
129 const char *
giveClassName()
const override {
return "VTKHDF5ExportModule"; }
142 vtkSmartPointer< vtkUnstructuredGrid >fileStream;
143 vtkSmartPointer< vtkPoints >nodes;
144 vtkSmartPointer< vtkIdList >elemNodeArray;
146 vtkSmartPointer< vtkDoubleArray >intVarArray;
147 vtkSmartPointer< vtkDoubleArray >primVarArray;
150 std::string fileName;
152 H5::Group *topGroup, *pointDataGroup, *cellDataGroup, *stepsGroup;
153 unsigned int pointCounter, cellCounter, connCounter, offsetCounter;
183 bool writeVTKPieceProlog(
ExportRegion &vtkPiece,
TimeStep *tStep,
unsigned int& pointCount,
unsigned int &cellCounter,
unsigned int &connCounter,
unsigned int& offsetCounter,
184 unsigned int& stepPointCounter,
unsigned int& stepCellCounter,
unsigned int& stepConnCounter,
185 H5::DataSet& points, H5::DataSet& conn, H5::DataSet &typeDSet, H5::DataSet& types);
194 void updateDataSet (H5::DataSet&,
int rank, hsize_t* dim, hsize_t* offset, H5::DataType,
const void* data);
198 void writeVTKPointData(
const char *name, vtkSmartPointer< vtkDoubleArray >varArray);
204 void writeVTKCellData(
const char *name, vtkSmartPointer< vtkDoubleArray >varArray);
Stores all neccessary data (of a region) in a VTKPiece so it can be exported later.
VTKBaseExportModule(int n, EngngModel *e)
Constructor. Creates empty Output Manager. By default all components are selected.
const char * giveClassName() const override
Returns class name of the receiver.
VTKHDF5ExportModule(int n, EngngModel *e)
Constructor. Creates empty Output Manager. By default all components are selected.
void terminate() override
std::unique_ptr< NodalRecoveryModel > primVarSmoother
Smoother for primary variables.
std::unique_ptr< NodalRecoveryModel > smoother
Smoother.
void exportCompositeElement(ExportRegion &vtkPiece, Element *el, TimeStep *tStep)
void writeVTKCellData(FloatArray &valueArray)
void initialize() override
IntArray primaryVarsToExport
List of primary unknowns to export.
NodalRecoveryModel::NodalRecoveryModelType stype
Smoother type.
ExportRegion & getExportRegions()
IntArray cellVarsToExport
List of cell data to export.
void doOutput(TimeStep *tStep, bool forcedOutput=false) override
std::vector< ExportRegion > defaultVTKPieces
IntArray ipInternalVarsToExport
List of internal variables to export directly in Integration Points (no smoothing to nodes).
ExportRegion defaultVTKPiece
void writeVTKPointData(FloatArray &valueArray)
IntArray externalForcesToExport
List of primary unknowns to export.
IntArray internalVarsToExport
List of InternalStateType values, identifying the selected vars for export.
void exportCompositeElement(std::vector< ExportRegion > &vtkPieces, Element *el, TimeStep *tStep)
void initializeFrom(InputRecord &ir) override
Initializes receiver according to object description stored in input record.