29 #ifndef NEMOSYS_PROTEUSHDF5_H_ 30 #define NEMOSYS_PROTEUSHDF5_H_ 55 std::vector<std::vector<std::vector<double>>>
vertices;
74 std::vector<std::vector<double>>
76 std::vector<double> xCrd, yCrd,
80 std::vector<std::vector<int>>
94 std::vector<std::map<int, std::vector<int>>>
100 std::vector<std::vector<double>>
102 std::vector<std::vector<double>>
120 proteusHdf5(std::string fname, std::string outputFname,
121 std::string edgeSidesetName, std::string exoMeshFName,
122 bool lowOrder =
false,
bool bndryConst =
true);
131 void getVectorNames(std::string name, std::vector<std::string> &stringVector,
150 void getBlockGlobalID(Group &group,
proteusBlock &myBlock);
156 void getBlockElementData(Group &group,
proteusBlock &myBlock);
162 void getBlockVertexData(Group &group,
proteusBlock &myBlock);
168 int getNumBlocks()
const;
173 int getNumDimensions()
const;
178 int getNumVertexVectors()
const;
183 int getNumElementVectors()
const;
188 int getCharStringLength()
const;
200 void getBoundaryEdgePts(vtkSmartPointer<vtkPoints> startPts,
201 vtkSmartPointer<vtkPoints> endPts);
212 void getBoundarySideSets(
meshBase *myMeshBase,
213 vtkSmartPointer<vtkPoints> startPts,
214 vtkSmartPointer<vtkPoints> endPts,
215 vtkSmartPointer<vtkIdList> sidesetElementIdList,
216 vtkSmartPointer<vtkIdList> sidesetSideIdList);
223 bool get2dCellNodeOrder(
meshBase *myMeshBase);
232 void getControlInformation();
252 std::vector<std::string>
254 std::vector<std::string>
260 std::vector<proteusBlock>
264 #endif // NEMOSYS_PROTEUSHDF5_H_ int numElementVectors
number of element vector fields in Proteus file
bool lowOrder
Boolean converting high order cells to low order (useful for visualization)
std::vector< std::vector< double > > coordinates
coordinates[vertex id][dim] = coordinate
std::vector< std::vector< double > > elementData
elementData[field no][element id] = data
int originalVtkElementType
original VTK element type.
std::vector< int > elementTypes
stores information for each superblock of Proteus data
std::vector< int > originalElementTypesList
list of original element types, ordered by type according to elements vector
std::vector< std::string > elementVectorNames
vector containing names of element vectors
A brief description of meshBase.
std::vector< std::vector< double > > elementData
element field data
int vtkElementType
VTK element type.
std::vector< double > zCrd
coordinates separated out into x,y,z coordinates
std::vector< std::vector< double > > vertexData
vertex field data
proteusSuperBlock mySuperBlock
global block structure for entire Proteus mesh
std::string blockName
block name
int numVerticesPerElement
number of vertices per element (only one element type allowed per block)
int numDimensions
number of spatial dimensions
int numElements
global number of elements
int numBlocks
number of Proteus blocks
std::vector< proteusBlock > proteusBlocks
vector of all individual Proteus-style blocks
std::vector< int > loc2Glob
map between local and global IDs
int numElements
number of elements in block
int numVertexVectors
number of vertex vector fields in Proteus file
int maxNumVerticesPerElement
maximum number of vertices for all element types
std::vector< std::vector< std::vector< double > > > vertices
vertices
Class to store HDF5 data from Proteus files.
int numVertices
global number of vertices
std::vector< std::vector< double > > vertexData
cellData[field no][vertex id] = data
std::vector< std::map< int, std::vector< int > > > vtkConnectivity
connectivity array for all element types by VTK convention, vtkConnectivity[element type][global elem...
std::vector< std::string > vertexVectorNames
vector containing names of vertex vectors
Class for reading data from HDF5 files.
std::vector< int > elementTypesList
list of element types, ordered by type according to elements vector
std::vector< std::vector< int > > elements
connectivity info, elements[id][vertex no] = vertex id
stores information for each block of Proteus data
int charStringLength
string length of each Proteus variable name