VTK
dox
IO
LSDyna
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 "LSDynaExport.h"
31
#include "
LSDynaFamily.h
"
32
33
#include <string>
34
#include <map>
35
#include <set>
36
#include <vector>
37
38
class
LSDynaMetaData
39
{
40
public
:
41
LSDynaMetaData
();
42
43
bool
AddPointArray
(
const
std::string
&
name
,
int
numComponents,
int
status );
44
45
bool
AddCellArray
(
int
cellType,
const
std::string
&
name
,
int
numComponents,
int
status );
46
47
int
GetTotalMaterialCount
();
48
49
void
Reset
();
50
58
enum
LSDYNA_TYPES
{
59
PARTICLE
= 0,
60
BEAM
= 1,
61
SHELL
= 2,
62
THICK_SHELL
= 3,
63
SOLID
= 4,
64
RIGID_BODY
= 5,
65
ROAD_SURFACE
= 6,
66
NUM_CELL_TYPES
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)
72
int
FileIsValid
;
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
;
81
int
Dimensionality
;
82
vtkIdType
CurrentState
;
// time step
83
vtkIdType
NumberOfNodes
;
84
vtkIdType
NumberOfCells
[
LSDynaMetaData::NUM_CELL_TYPES
];
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
90
std::set<int>
RigidMaterials
;
92
std::set<int>
FluidMaterials
;
93
94
std::vector<std::string>
PointArrayNames
;
95
std::vector<int>
PointArrayComponents
;
96
std::vector<int>
PointArrayStatus
;
97
98
std::map<int, std::vector<std::string> >
CellArrayNames
;
99
std::map<int, std::vector<int> >
CellArrayComponents
;
100
std::map<int, std::vector<int> >
CellArrayStatus
;
101
102
std::vector<std::string>
PartNames
;
103
std::vector<int>
PartIds
;
104
std::vector<int>
PartMaterials
;
105
std::vector<int>
PartStatus
;
106
107
std::vector<int>
MaterialsOrdered
;
108
std::vector<int>
MaterialsUnordered
;
109
std::vector<int>
MaterialsLookup
;
110
111
std::vector<vtkIdType>
RigidSurfaceSegmentSizes
;
112
std::vector<double>
TimeValues
;
113
114
// For the current time value, what file contains this state (0=d3plot,1=d3plot01, ...)
115
vtkIdType
FileNumberThisState
;
116
// For the current time value, what is the byte offset of the state in file FileNumberThisState?
117
vtkIdType
FileOffsetThisState
;
118
// Size of all data that appears before first state
119
vtkIdType
PreStateSize
;
120
// Number of bytes required to store a single timestep
121
vtkIdType
StateSize
;
122
123
//Number of words into the state that the element deletion starts at
124
vtkIdType
ElementDeletionOffset
;
125
126
//Number of words into the state that the SPH state data starts at
127
vtkIdType
SPHStateOffset
;
128
};
129
130
#endif // __LSDynaMetaData_h
LSDynaMetaData::RigidSurfaceSegmentSizes
std::vector< vtkIdType > RigidSurfaceSegmentSizes
Definition:
LSDynaMetaData.h:111
LSDynaMetaData::Dict
std::map< std::string, vtkIdType > Dict
Definition:
LSDynaMetaData.h:87
LSDynaMetaData::MaterialsOrdered
std::vector< int > MaterialsOrdered
Definition:
LSDynaMetaData.h:107
LSDynaMetaData::MaterialsUnordered
std::vector< int > MaterialsUnordered
Definition:
LSDynaMetaData.h:108
LSDynaMetaData::ROAD_SURFACE
Definition:
LSDynaMetaData.h:65
LSDynaMetaData::PartStatus
std::vector< int > PartStatus
Definition:
LSDynaMetaData.h:105
LSDynaMetaData::CodeVersion
float CodeVersion
Definition:
LSDynaMetaData.h:80
vtkIdType
int vtkIdType
Definition:
vtkType.h:347
LSDynaMetaData::PreStateSize
vtkIdType PreStateSize
Definition:
LSDynaMetaData.h:119
LSDynaMetaData::ElementDeletionOffset
vtkIdType ElementDeletionOffset
Definition:
LSDynaMetaData.h:124
LSDynaMetaData::Reset
void Reset()
LSDynaMetaData::THICK_SHELL
Definition:
LSDynaMetaData.h:62
LSDynaFamily.h
LSDynaMetaData::PointArrayComponents
std::vector< int > PointArrayComponents
Definition:
LSDynaMetaData.h:95
LSDynaMetaData::ReadRigidRoadMvmt
int ReadRigidRoadMvmt
Definition:
LSDynaMetaData.h:85
LSDynaMetaData::NumberOfNodes
vtkIdType NumberOfNodes
Definition:
LSDynaMetaData.h:83
LSDynaMetaData::SHELL
Definition:
LSDynaMetaData.h:61
LSDynaMetaData::PARTICLE
Definition:
LSDynaMetaData.h:59
LSDynaMetaData::AddCellArray
bool AddCellArray(int cellType, const std::string &name, int numComponents, int status)
LSDynaMetaData::BEAM
Definition:
LSDynaMetaData.h:60
LSDynaMetaData::SPHStateOffset
vtkIdType SPHStateOffset
Definition:
LSDynaMetaData.h:127
LSDynaMetaData::PartMaterials
std::vector< int > PartMaterials
Definition:
LSDynaMetaData.h:104
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:98
LSDynaMetaData::NUM_CELL_TYPES
Definition:
LSDynaMetaData.h:66
LSDynaMetaData::FileOffsetThisState
vtkIdType FileOffsetThisState
Definition:
LSDynaMetaData.h:117
LSDynaMetaData::PartNames
std::vector< std::string > PartNames
Definition:
LSDynaMetaData.h:102
LSDynaMetaData::LSDynaMetaData
LSDynaMetaData()
LSDynaMetaData::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:92
LSDynaMetaData::CellArrayComponents
std::map< int, std::vector< int > > CellArrayComponents
Definition:
LSDynaMetaData.h:99
LSDynaMetaData::AddPointArray
bool AddPointArray(const std::string &name, int numComponents, int status)
LSDynaMetaData::SOLID
Definition:
LSDynaMetaData.h:63
LSDynaMetaData::CurrentState
vtkIdType CurrentState
Definition:
LSDynaMetaData.h:82
LSDynaMetaData::PartIds
std::vector< int > PartIds
Definition:
LSDynaMetaData.h:103
LSDynaMetaData::GetTotalMaterialCount
int GetTotalMaterialCount()
LSDynaMetaData::ReleaseNumber
char ReleaseNumber[16]
Definition:
LSDynaMetaData.h:79
vtkX3D::name
Definition:
vtkX3D.h:219
LSDynaMetaData::CellArrayStatus
std::map< int, std::vector< int > > CellArrayStatus
Definition:
LSDynaMetaData.h:100
vtkX3D::string
Definition:
vtkX3D.h:490
LSDynaMetaData::LSDYNA_TYPES
LSDYNA_TYPES
LS-Dyna cell types.
Definition:
LSDynaMetaData.h:58
LSDynaMetaData::Fam
LSDynaFamily Fam
Definition:
LSDynaMetaData.h:76
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:109
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:90
LSDynaMetaData::PointArrayNames
std::vector< std::string > PointArrayNames
Definition:
LSDynaMetaData.h:94
LSDynaMetaData::StateSize
vtkIdType StateSize
Definition:
LSDynaMetaData.h:121
LSDynaFamily
Definition:
LSDynaFamily.h:71
LSDynaMetaData::TimeValues
std::vector< double > TimeValues
Definition:
LSDynaMetaData.h:112
LSDynaMetaData::MaxFileLength
vtkIdType MaxFileLength
Definition:
LSDynaMetaData.h:74
LSDynaMetaData::FileNumberThisState
vtkIdType FileNumberThisState
Definition:
LSDynaMetaData.h:115
LSDynaMetaData::PointArrayStatus
std::vector< int > PointArrayStatus
Definition:
LSDynaMetaData.h:96
LSDynaMetaData
Definition:
LSDynaMetaData.h:38
Generated by
1.8.16