VTK
9.3.20240328
IO
LSDyna
LSDynaMetaData.h
Go to the documentation of this file.
1
// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2
// SPDX-FileCopyrightText: Copyright (c) Sandia Corporation
3
// SPDX-License-Identifier: BSD-3-Clause
4
5
// .NAME LSDynaMetaData - Read LS-Dyna databases (d3plot)
6
// .SECTION Description
7
// A class to hold metadata about a particular file (such as time steps,
8
// the start of state information for each time step, the number of
9
// adaptive remeshes, and the large collection of constants that determine
10
// the available attributes). It contains an LSDynaFamily instance.
11
12
#ifndef __LSDynaMetaData_h
13
#define __LSDynaMetaData_h
14
15
#include "
LSDynaFamily.h
"
16
17
#include <map>
18
#include <set>
19
#include <string>
20
#include <vector>
21
22
VTK_ABI_NAMESPACE_BEGIN
23
class
LSDynaMetaData
24
{
25
public
:
26
LSDynaMetaData
();
27
28
bool
AddPointArray
(
const
std::string
&
name
,
int
numComponents,
int
status);
29
30
bool
AddCellArray
(
int
cellType,
const
std::string
&
name
,
int
numComponents,
int
status);
31
32
vtkIdType
GetTotalMaterialCount
();
33
34
void
Reset
();
35
43
enum
LSDYNA_TYPES
44
{
45
PARTICLE
= 0,
46
BEAM
= 1,
47
SHELL
= 2,
48
THICK_SHELL
= 3,
49
SOLID
= 4,
50
RIGID_BODY
= 5,
51
ROAD_SURFACE
= 6,
52
NUM_CELL_TYPES
53
};
54
55
// If this is 0, the rest of the members have undefined
56
// values (although "derived-value" arrays will be
57
// initialized to nullptr)
58
int
FileIsValid
;
59
int
FileSizeFactor
;
// scale factor used to compute MaxFileLength
60
vtkIdType
MaxFileLength
;
// Maximum size of any file (data too big is split into multiple files)
61
62
LSDynaFamily
Fam
;
// file family I/O aggregator
63
64
char
Title
[41];
65
char
ReleaseNumber
[16];
66
float
CodeVersion
;
67
int
Dimensionality
;
68
vtkIdType
CurrentState
;
// time step
69
vtkIdType
NumberOfNodes
;
70
vtkIdType
NumberOfCells
[
LSDynaMetaData::NUM_CELL_TYPES
];
71
int
ReadRigidRoadMvmt
;
// Are some of the quads rigid? (eliminating a lot of state)
72
int
ConnectivityUnpacked
;
// Is the connectivity packed, 3 to a word?
73
std::map<std::string, vtkIdType>
Dict
;
74
77
std::set<int>
RigidMaterials
;
80
std::set<int>
FluidMaterials
;
81
82
std::vector<std::string>
PointArrayNames
;
83
std::vector<int>
PointArrayComponents
;
84
std::vector<int>
PointArrayStatus
;
85
86
std::map<int, std::vector<std::string>>
CellArrayNames
;
87
std::map<int, std::vector<int>>
CellArrayComponents
;
88
std::map<int, std::vector<int>>
CellArrayStatus
;
89
90
std::vector<std::string>
PartNames
;
91
std::vector<int>
PartIds
;
92
std::vector<int>
PartMaterials
;
93
std::vector<int>
PartStatus
;
94
95
std::vector<int>
MaterialsOrdered
;
96
std::vector<int>
MaterialsUnordered
;
97
std::vector<int>
MaterialsLookup
;
98
99
std::vector<vtkIdType>
RigidSurfaceSegmentSizes
;
100
std::vector<double>
TimeValues
;
101
102
// For the current time value, what file contains this state (0=d3plot,1=d3plot01, ...)
103
vtkIdType
FileNumberThisState
;
104
// For the current time value, what is the byte offset of the state in file FileNumberThisState?
105
vtkIdType
FileOffsetThisState
;
106
// Size of all data that appears before first state
107
vtkIdType
PreStateSize
;
108
// Number of bytes required to store a single timestep
109
vtkIdType
StateSize
;
110
111
// Number of words into the state that the element deletion starts at
112
vtkIdType
ElementDeletionOffset
;
113
114
// Number of words into the state that the SPH state data starts at
115
vtkIdType
SPHStateOffset
;
116
};
117
118
VTK_ABI_NAMESPACE_END
119
#endif
// __LSDynaMetaData_h
LSDynaFamily.h
LSDynaFamily
Definition:
LSDynaFamily.h:57
LSDynaMetaData
Definition:
LSDynaMetaData.h:24
LSDynaMetaData::RigidSurfaceSegmentSizes
std::vector< vtkIdType > RigidSurfaceSegmentSizes
Definition:
LSDynaMetaData.h:99
LSDynaMetaData::MaterialsUnordered
std::vector< int > MaterialsUnordered
Definition:
LSDynaMetaData.h:96
LSDynaMetaData::LSDynaMetaData
LSDynaMetaData()
LSDynaMetaData::PreStateSize
vtkIdType PreStateSize
Definition:
LSDynaMetaData.h:107
LSDynaMetaData::PartStatus
std::vector< int > PartStatus
Definition:
LSDynaMetaData.h:93
LSDynaMetaData::PointArrayNames
std::vector< std::string > PointArrayNames
Definition:
LSDynaMetaData.h:82
LSDynaMetaData::CurrentState
vtkIdType CurrentState
Definition:
LSDynaMetaData.h:68
LSDynaMetaData::SPHStateOffset
vtkIdType SPHStateOffset
Definition:
LSDynaMetaData.h:115
LSDynaMetaData::PartMaterials
std::vector< int > PartMaterials
Definition:
LSDynaMetaData.h:92
LSDynaMetaData::AddCellArray
bool AddCellArray(int cellType, const std::string &name, int numComponents, int status)
LSDynaMetaData::MaterialsOrdered
std::vector< int > MaterialsOrdered
Definition:
LSDynaMetaData.h:95
LSDynaMetaData::MaterialsLookup
std::vector< int > MaterialsLookup
Definition:
LSDynaMetaData.h:97
LSDynaMetaData::Title
char Title[41]
Definition:
LSDynaMetaData.h:64
LSDynaMetaData::StateSize
vtkIdType StateSize
Definition:
LSDynaMetaData.h:109
LSDynaMetaData::PointArrayStatus
std::vector< int > PointArrayStatus
Definition:
LSDynaMetaData.h:84
LSDynaMetaData::TimeValues
std::vector< double > TimeValues
Definition:
LSDynaMetaData.h:100
LSDynaMetaData::CellArrayComponents
std::map< int, std::vector< int > > CellArrayComponents
Definition:
LSDynaMetaData.h:87
LSDynaMetaData::ReadRigidRoadMvmt
int ReadRigidRoadMvmt
Definition:
LSDynaMetaData.h:71
LSDynaMetaData::GetTotalMaterialCount
vtkIdType GetTotalMaterialCount()
LSDynaMetaData::ElementDeletionOffset
vtkIdType ElementDeletionOffset
Definition:
LSDynaMetaData.h:112
LSDynaMetaData::CellArrayStatus
std::map< int, std::vector< int > > CellArrayStatus
Definition:
LSDynaMetaData.h:88
LSDynaMetaData::LSDYNA_TYPES
LSDYNA_TYPES
LS-Dyna cell types.
Definition:
LSDynaMetaData.h:44
LSDynaMetaData::BEAM
@ BEAM
Definition:
LSDynaMetaData.h:46
LSDynaMetaData::SHELL
@ SHELL
Definition:
LSDynaMetaData.h:47
LSDynaMetaData::RIGID_BODY
@ RIGID_BODY
Definition:
LSDynaMetaData.h:50
LSDynaMetaData::SOLID
@ SOLID
Definition:
LSDynaMetaData.h:49
LSDynaMetaData::ROAD_SURFACE
@ ROAD_SURFACE
Definition:
LSDynaMetaData.h:51
LSDynaMetaData::THICK_SHELL
@ THICK_SHELL
Definition:
LSDynaMetaData.h:48
LSDynaMetaData::PARTICLE
@ PARTICLE
Definition:
LSDynaMetaData.h:45
LSDynaMetaData::NUM_CELL_TYPES
@ NUM_CELL_TYPES
Definition:
LSDynaMetaData.h:52
LSDynaMetaData::FileNumberThisState
vtkIdType FileNumberThisState
Definition:
LSDynaMetaData.h:103
LSDynaMetaData::Dict
std::map< std::string, vtkIdType > Dict
Definition:
LSDynaMetaData.h:73
LSDynaMetaData::FileOffsetThisState
vtkIdType FileOffsetThisState
Definition:
LSDynaMetaData.h:105
LSDynaMetaData::Fam
LSDynaFamily Fam
Definition:
LSDynaMetaData.h:62
LSDynaMetaData::Reset
void Reset()
LSDynaMetaData::FileSizeFactor
int FileSizeFactor
Definition:
LSDynaMetaData.h:59
LSDynaMetaData::CodeVersion
float CodeVersion
Definition:
LSDynaMetaData.h:66
LSDynaMetaData::PartIds
std::vector< int > PartIds
Definition:
LSDynaMetaData.h:91
LSDynaMetaData::PointArrayComponents
std::vector< int > PointArrayComponents
Definition:
LSDynaMetaData.h:83
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:80
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:77
LSDynaMetaData::ReleaseNumber
char ReleaseNumber[16]
Definition:
LSDynaMetaData.h:65
LSDynaMetaData::PartNames
std::vector< std::string > PartNames
Definition:
LSDynaMetaData.h:90
LSDynaMetaData::MaxFileLength
vtkIdType MaxFileLength
Definition:
LSDynaMetaData.h:60
LSDynaMetaData::Dimensionality
int Dimensionality
Definition:
LSDynaMetaData.h:67
LSDynaMetaData::ConnectivityUnpacked
int ConnectivityUnpacked
Definition:
LSDynaMetaData.h:72
LSDynaMetaData::FileIsValid
int FileIsValid
Definition:
LSDynaMetaData.h:58
LSDynaMetaData::AddPointArray
bool AddPointArray(const std::string &name, int numComponents, int status)
LSDynaMetaData::CellArrayNames
std::map< int, std::vector< std::string > > CellArrayNames
Definition:
LSDynaMetaData.h:86
LSDynaMetaData::NumberOfCells
vtkIdType NumberOfCells[LSDynaMetaData::NUM_CELL_TYPES]
Definition:
LSDynaMetaData.h:70
LSDynaMetaData::NumberOfNodes
vtkIdType NumberOfNodes
Definition:
LSDynaMetaData.h:69
vtkX3D::name
@ name
Definition:
vtkX3D.h:219
vtkX3D::string
@ string
Definition:
vtkX3D.h:490
vtkIdType
int vtkIdType
Definition:
vtkType.h:315
Generated on Thu Mar 28 2024 15:51:12 for VTK by
1.9.1