VTK  9.0.1
LSDynaMetaData.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: LSDynaMetaData.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 /*----------------------------------------------------------------------------
16  Copyright (c) Sandia Corporation
17  See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
18 ----------------------------------------------------------------------------*/
19 
20 // .NAME LSDynaMetaData - Read LS-Dyna databases (d3plot)
21 // .SECTION Description
22 // A class to hold metadata about a particular file (such as time steps,
23 // the start of state information for each time step, the number of
24 // adaptive remeshes, and the large collection of constants that determine
25 // the available attributes). It contains an LSDynaFamily instance.
26 
27 #ifndef __LSDynaMetaData_h
28 #define __LSDynaMetaData_h
29 
30 #include "LSDynaFamily.h"
31 
32 #include <map>
33 #include <set>
34 #include <string>
35 #include <vector>
36 
38 {
39 public:
41 
42  bool AddPointArray(const std::string& name, int numComponents, int status);
43 
44  bool AddCellArray(int cellType, const std::string& name, int numComponents, int status);
45 
47 
48  void Reset();
49 
58  {
59  PARTICLE = 0,
60  BEAM = 1,
61  SHELL = 2,
63  SOLID = 4,
67  };
68 
69  // If this is 0, the rest of the members have undefined
70  // values (although "derived-value" arrays will be
71  // initialized to nullptr)
73  int FileSizeFactor; // scale factor used to compute MaxFileLength
74  vtkIdType MaxFileLength; // Maximum size of any file (data too big is split into multiple files)
75 
76  LSDynaFamily Fam; // file family I/O aggregator
77 
78  char Title[41];
79  char ReleaseNumber[16];
80  float CodeVersion;
82  vtkIdType CurrentState; // time step
85  int ReadRigidRoadMvmt; // Are some of the quads rigid? (eliminating a lot of state)
86  int ConnectivityUnpacked; // Is the connectivity packed, 3 to a word?
87  std::map<std::string, vtkIdType> Dict;
88 
91  std::set<int> RigidMaterials;
94  std::set<int> FluidMaterials;
95 
96  std::vector<std::string> PointArrayNames;
97  std::vector<int> PointArrayComponents;
98  std::vector<int> PointArrayStatus;
99 
100  std::map<int, std::vector<std::string> > CellArrayNames;
101  std::map<int, std::vector<int> > CellArrayComponents;
102  std::map<int, std::vector<int> > CellArrayStatus;
103 
104  std::vector<std::string> PartNames;
105  std::vector<int> PartIds;
106  std::vector<int> PartMaterials;
107  std::vector<int> PartStatus;
108 
109  std::vector<int> MaterialsOrdered;
110  std::vector<int> MaterialsUnordered;
111  std::vector<int> MaterialsLookup;
112 
113  std::vector<vtkIdType> RigidSurfaceSegmentSizes;
114  std::vector<double> TimeValues;
115 
116  // For the current time value, what file contains this state (0=d3plot,1=d3plot01, ...)
118  // For the current time value, what is the byte offset of the state in file FileNumberThisState?
120  // Size of all data that appears before first state
122  // Number of bytes required to store a single timestep
124 
125  // Number of words into the state that the element deletion starts at
127 
128  // Number of words into the state that the SPH state data starts at
130 };
131 
132 #endif // __LSDynaMetaData_h
LSDynaMetaData::RigidSurfaceSegmentSizes
std::vector< vtkIdType > RigidSurfaceSegmentSizes
Definition: LSDynaMetaData.h:113
LSDynaMetaData::MaterialsOrdered
std::vector< int > MaterialsOrdered
Definition: LSDynaMetaData.h:109
LSDynaMetaData::MaterialsUnordered
std::vector< int > MaterialsUnordered
Definition: LSDynaMetaData.h:110
LSDynaMetaData::ROAD_SURFACE
@ ROAD_SURFACE
Definition: LSDynaMetaData.h:65
LSDynaMetaData::PartStatus
std::vector< int > PartStatus
Definition: LSDynaMetaData.h:107
LSDynaMetaData::CodeVersion
float CodeVersion
Definition: LSDynaMetaData.h:80
vtkIdType
int vtkIdType
Definition: vtkType.h:338
LSDynaMetaData::PreStateSize
vtkIdType PreStateSize
Definition: LSDynaMetaData.h:121
LSDynaMetaData::ElementDeletionOffset
vtkIdType ElementDeletionOffset
Definition: LSDynaMetaData.h:126
LSDynaMetaData::Reset
void Reset()
LSDynaMetaData::THICK_SHELL
@ THICK_SHELL
Definition: LSDynaMetaData.h:62
LSDynaFamily.h
LSDynaMetaData::PointArrayComponents
std::vector< int > PointArrayComponents
Definition: LSDynaMetaData.h:97
LSDynaMetaData::ReadRigidRoadMvmt
int ReadRigidRoadMvmt
Definition: LSDynaMetaData.h:85
LSDynaMetaData::NumberOfNodes
vtkIdType NumberOfNodes
Definition: LSDynaMetaData.h:83
LSDynaMetaData::SHELL
@ SHELL
Definition: LSDynaMetaData.h:61
LSDynaMetaData::PARTICLE
@ PARTICLE
Definition: LSDynaMetaData.h:59
LSDynaMetaData::AddCellArray
bool AddCellArray(int cellType, const std::string &name, int numComponents, int status)
LSDynaMetaData::BEAM
@ BEAM
Definition: LSDynaMetaData.h:60
LSDynaMetaData::SPHStateOffset
vtkIdType SPHStateOffset
Definition: LSDynaMetaData.h:129
LSDynaMetaData::PartMaterials
std::vector< int > PartMaterials
Definition: LSDynaMetaData.h:106
LSDynaMetaData::FileSizeFactor
int FileSizeFactor
Definition: LSDynaMetaData.h:73
LSDynaMetaData::ConnectivityUnpacked
int ConnectivityUnpacked
Definition: LSDynaMetaData.h:86
LSDynaMetaData::CellArrayNames
std::map< int, std::vector< std::string > > CellArrayNames
Definition: LSDynaMetaData.h:100
LSDynaMetaData::NUM_CELL_TYPES
@ NUM_CELL_TYPES
Definition: LSDynaMetaData.h:66
LSDynaMetaData::FileOffsetThisState
vtkIdType FileOffsetThisState
Definition: LSDynaMetaData.h:119
LSDynaMetaData::PartNames
std::vector< std::string > PartNames
Definition: LSDynaMetaData.h:104
LSDynaMetaData::LSDynaMetaData
LSDynaMetaData()
LSDynaMetaData::RIGID_BODY
@ RIGID_BODY
Definition: LSDynaMetaData.h:64
LSDynaMetaData::Title
char Title[41]
Definition: LSDynaMetaData.h:78
LSDynaMetaData::FluidMaterials
std::set< int > FluidMaterials
List of material IDs that indicate the associated solid element represents an Eulerian or ALE fluid.
Definition: LSDynaMetaData.h:94
LSDynaMetaData::CellArrayComponents
std::map< int, std::vector< int > > CellArrayComponents
Definition: LSDynaMetaData.h:101
LSDynaMetaData::AddPointArray
bool AddPointArray(const std::string &name, int numComponents, int status)
LSDynaMetaData::SOLID
@ SOLID
Definition: LSDynaMetaData.h:63
LSDynaMetaData::CurrentState
vtkIdType CurrentState
Definition: LSDynaMetaData.h:82
LSDynaMetaData::PartIds
std::vector< int > PartIds
Definition: LSDynaMetaData.h:105
LSDynaMetaData::ReleaseNumber
char ReleaseNumber[16]
Definition: LSDynaMetaData.h:79
vtkX3D::name
@ name
Definition: vtkX3D.h:225
LSDynaMetaData::Dict
std::map< std::string, vtkIdType > Dict
Definition: LSDynaMetaData.h:87
LSDynaMetaData::CellArrayStatus
std::map< int, std::vector< int > > CellArrayStatus
Definition: LSDynaMetaData.h:102
vtkX3D::string
@ string
Definition: vtkX3D.h:496
LSDynaMetaData::LSDYNA_TYPES
LSDYNA_TYPES
LS-Dyna cell types.
Definition: LSDynaMetaData.h:57
LSDynaMetaData::Fam
LSDynaFamily Fam
Definition: LSDynaMetaData.h:76
LSDynaMetaData::GetTotalMaterialCount
vtkIdType GetTotalMaterialCount()
LSDynaMetaData::FileIsValid
int FileIsValid
Definition: LSDynaMetaData.h:72
LSDynaMetaData::Dimensionality
int Dimensionality
Definition: LSDynaMetaData.h:81
LSDynaMetaData::MaterialsLookup
std::vector< int > MaterialsLookup
Definition: LSDynaMetaData.h:111
LSDynaMetaData::NumberOfCells
vtkIdType NumberOfCells[LSDynaMetaData::NUM_CELL_TYPES]
Definition: LSDynaMetaData.h:84
LSDynaMetaData::RigidMaterials
std::set< int > RigidMaterials
List of material IDs that indicate the associated shell element is rigid (and has no state data)
Definition: LSDynaMetaData.h:91
LSDynaMetaData::PointArrayNames
std::vector< std::string > PointArrayNames
Definition: LSDynaMetaData.h:96
LSDynaMetaData::StateSize
vtkIdType StateSize
Definition: LSDynaMetaData.h:123
LSDynaFamily
Definition: LSDynaFamily.h:70
LSDynaMetaData::TimeValues
std::vector< double > TimeValues
Definition: LSDynaMetaData.h:114
LSDynaMetaData::MaxFileLength
vtkIdType MaxFileLength
Definition: LSDynaMetaData.h:74
LSDynaMetaData::FileNumberThisState
vtkIdType FileNumberThisState
Definition: LSDynaMetaData.h:117
LSDynaMetaData::PointArrayStatus
std::vector< int > PointArrayStatus
Definition: LSDynaMetaData.h:98
LSDynaMetaData
Definition: LSDynaMetaData.h:37