VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
vtkPLSDynaReader Class Reference

Read LS-Dyna databases (d3plot) in parallel. More...

#include <vtkPLSDynaReader.h>

Inheritance diagram for vtkPLSDynaReader:
[legend]
Collaboration diagram for vtkPLSDynaReader:
[legend]

Public Types

typedef vtkLSDynaReader Superclass
 
- Public Types inherited from vtkLSDynaReader
typedef vtkMultiBlockDataSetAlgorithm Superclass
 
- Public Types inherited from vtkMultiBlockDataSetAlgorithm
typedef vtkAlgorithm Superclass
 
- Public Types inherited from vtkAlgorithm
typedef vtkObject Superclass
 
enum  DesiredOutputPrecision { SINGLE_PRECISION, DOUBLE_PRECISION, DEFAULT_PRECISION }
 
- Public Types inherited from vtkObject
typedef vtkObjectBase Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 
vtkPLSDynaReaderNewInstance () const
 
virtual void PrintSelf (ostream &os, vtkIndent indent)
 
virtual int CanReadFile (const char *fname)
 
void SetController (vtkMultiProcessController *c)
 
virtual vtkMultiProcessControllerGetController ()
 
- Public Member Functions inherited from vtkLSDynaReader
vtkLSDynaReaderNewInstance () const
 
void Dump (ostream &os)
 
void DebugDump ()
 
char * GetTitle ()
 
int GetDimensionality ()
 
vtkIdType GetNumberOfNodes ()
 
vtkIdType GetNumberOfCells ()
 
vtkIdType GetNumberOfContinuumCells ()
 
vtkIdType GetNumberOfSolidCells ()
 
vtkIdType GetNumberOfThickShellCells ()
 
vtkIdType GetNumberOfShellCells ()
 
vtkIdType GetNumberOfRigidBodyCells ()
 
vtkIdType GetNumberOfRoadSurfaceCells ()
 
vtkIdType GetNumberOfBeamCells ()
 
vtkIdType GetNumberOfParticleCells ()
 
int GetNumberOfComponentsInSolidArray (int a)
 
int GetNumberOfComponentsInSolidArray (const char *arrName)
 
int GetNumberOfComponentsInThickShellArray (int a)
 
int GetNumberOfComponentsInThickShellArray (const char *arrName)
 
int GetNumberOfComponentsInShellArray (int a)
 
int GetNumberOfComponentsInShellArray (const char *arrName)
 
int GetNumberOfComponentsInRigidBodyArray (int a)
 
int GetNumberOfComponentsInRigidBodyArray (const char *arrName)
 
int GetNumberOfComponentsInRoadSurfaceArray (int a)
 
int GetNumberOfComponentsInRoadSurfaceArray (const char *arrName)
 
int GetNumberOfComponentsInBeamArray (int a)
 
int GetNumberOfComponentsInBeamArray (const char *arrName)
 
int GetNumberOfComponentsInParticleArray (int a)
 
int GetNumberOfComponentsInParticleArray (const char *arrName)
 
virtual void SetDatabaseDirectory (const char *)
 
const char * GetDatabaseDirectory ()
 
int IsDatabaseValid ()
 
virtual void SetFileName (const char *)
 
const char * GetFileName ()
 
vtkIdType GetNumberOfTimeSteps ()
 
virtual void SetTimeStep (vtkIdType)
 
vtkIdType GetTimeStep ()
 
double GetTimeValue (vtkIdType)
 
virtual intGetTimeStepRange ()
 
virtual void GetTimeStepRange (int &, int &)
 
virtual void GetTimeStepRange (int[2])
 
virtual void SetTimeStepRange (int, int)
 
void SetTimeStepRange (int[2])
 
int GetNumberOfPointArrays ()
 
const char * GetPointArrayName (int)
 
virtual void SetPointArrayStatus (int arr, int status)
 
virtual void SetPointArrayStatus (const char *arrName, int status)
 
int GetPointArrayStatus (int arr)
 
int GetPointArrayStatus (const char *arrName)
 
int GetNumberOfComponentsInPointArray (int arr)
 
int GetNumberOfComponentsInPointArray (const char *arrName)
 
int GetNumberOfCellArrays (int cellType)
 
const char * GetCellArrayName (int cellType, int arr)
 
virtual void SetCellArrayStatus (int cellType, int arr, int status)
 
virtual void SetCellArrayStatus (int cellType, const char *arrName, int status)
 
int GetCellArrayStatus (int cellType, int arr)
 
int GetCellArrayStatus (int cellType, const char *arrName)
 
int GetNumberOfComponentsInCellArray (int cellType, int arr)
 
int GetNumberOfComponentsInCellArray (int cellType, const char *arrName)
 
int GetNumberOfSolidArrays ()
 
const char * GetSolidArrayName (int)
 
virtual void SetSolidArrayStatus (int arr, int status)
 
virtual void SetSolidArrayStatus (const char *arrName, int status)
 
int GetSolidArrayStatus (int arr)
 
int GetSolidArrayStatus (const char *arrName)
 
int GetNumberOfThickShellArrays ()
 
const char * GetThickShellArrayName (int)
 
virtual void SetThickShellArrayStatus (int arr, int status)
 
virtual void SetThickShellArrayStatus (const char *arrName, int status)
 
int GetThickShellArrayStatus (int arr)
 
int GetThickShellArrayStatus (const char *arrName)
 
int GetNumberOfShellArrays ()
 
const char * GetShellArrayName (int)
 
virtual void SetShellArrayStatus (int arr, int status)
 
virtual void SetShellArrayStatus (const char *arrName, int status)
 
int GetShellArrayStatus (int arr)
 
int GetShellArrayStatus (const char *arrName)
 
int GetNumberOfRigidBodyArrays ()
 
const char * GetRigidBodyArrayName (int)
 
virtual void SetRigidBodyArrayStatus (int arr, int status)
 
virtual void SetRigidBodyArrayStatus (const char *arrName, int status)
 
int GetRigidBodyArrayStatus (int arr)
 
int GetRigidBodyArrayStatus (const char *arrName)
 
int GetNumberOfRoadSurfaceArrays ()
 
const char * GetRoadSurfaceArrayName (int)
 
virtual void SetRoadSurfaceArrayStatus (int arr, int status)
 
virtual void SetRoadSurfaceArrayStatus (const char *arrName, int status)
 
int GetRoadSurfaceArrayStatus (int arr)
 
int GetRoadSurfaceArrayStatus (const char *arrName)
 
int GetNumberOfBeamArrays ()
 
const char * GetBeamArrayName (int)
 
virtual void SetBeamArrayStatus (int arr, int status)
 
virtual void SetBeamArrayStatus (const char *arrName, int status)
 
int GetBeamArrayStatus (int arr)
 
int GetBeamArrayStatus (const char *arrName)
 
int GetNumberOfParticleArrays ()
 
const char * GetParticleArrayName (int)
 
virtual void SetParticleArrayStatus (int arr, int status)
 
virtual void SetParticleArrayStatus (const char *arrName, int status)
 
int GetParticleArrayStatus (int arr)
 
int GetParticleArrayStatus (const char *arrName)
 
void SetDeformedMesh (int)
 
virtual int GetDeformedMesh ()
 
virtual void DeformedMeshOn ()
 
virtual void DeformedMeshOff ()
 
virtual void SetRemoveDeletedCells (int)
 
virtual int GetRemoveDeletedCells ()
 
virtual void RemoveDeletedCellsOn ()
 
virtual void RemoveDeletedCellsOff ()
 
virtual void SetDeletedCellsAsGhostArray (int)
 
virtual int GetDeletedCellsAsGhostArray ()
 
virtual void DeletedCellsAsGhostArrayOn ()
 
virtual void DeletedCellsAsGhostArrayOff ()
 
virtual void SetInputDeck (const char *)
 
virtual char * GetInputDeck ()
 
int GetNumberOfPartArrays ()
 
const char * GetPartArrayName (int)
 
virtual void SetPartArrayStatus (int arr, int status)
 
virtual void SetPartArrayStatus (const char *partName, int status)
 
int GetPartArrayStatus (int arr)
 
int GetPartArrayStatus (const char *partName)
 
- Public Member Functions inherited from vtkMultiBlockDataSetAlgorithm
vtkMultiBlockDataSetAlgorithmNewInstance () const
 
vtkMultiBlockDataSetGetOutput ()
 
vtkMultiBlockDataSetGetOutput (int)
 
void SetInputData (vtkDataObject *)
 
void SetInputData (int, vtkDataObject *)
 
virtual int ProcessRequest (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
 
- Public Member Functions inherited from vtkAlgorithm
vtkAlgorithmNewInstance () const
 
int HasExecutive ()
 
vtkExecutiveGetExecutive ()
 
virtual void SetExecutive (vtkExecutive *executive)
 
virtual int ModifyRequest (vtkInformation *request, int when)
 
vtkInformationGetInputPortInformation (int port)
 
vtkInformationGetOutputPortInformation (int port)
 
int GetNumberOfInputPorts ()
 
int GetNumberOfOutputPorts ()
 
void UpdateProgress (double amount)
 
vtkInformationGetInputArrayInformation (int idx)
 
void RemoveAllInputs ()
 
vtkDataObjectGetOutputDataObject (int port)
 
virtual void RemoveInputConnection (int port, vtkAlgorithmOutput *input)
 
virtual void RemoveInputConnection (int port, int idx)
 
virtual void RemoveAllInputConnections (int port)
 
int GetNumberOfInputConnections (int port)
 
int GetTotalNumberOfInputConnections ()
 
vtkAlgorithmOutputGetInputConnection (int port, int index)
 
vtkAlgorithmGetInputAlgorithm (int port, int index, int &algPort)
 
vtkAlgorithmGetInputAlgorithm (int port, int index)
 
vtkExecutiveGetInputExecutive (int port, int index)
 
vtkInformationGetInputInformation (int port, int index)
 
vtkInformationGetOutputInformation (int port)
 
virtual void UpdateInformation ()
 
virtual void UpdateDataObject ()
 
virtual void PropagateUpdateExtent ()
 
virtual void UpdateWholeExtent ()
 
void ConvertTotalInputToPortConnection (int ind, int &port, int &conn)
 
int SetUpdateExtentToWholeExtent (int port)
 
int SetUpdateExtentToWholeExtent ()
 
void SetUpdateExtent (int port, int extent[6])
 
int ProcessRequest (vtkInformation *request, vtkCollection *inInfo, vtkInformationVector *outInfo)
 
virtual int ComputePipelineMTime (vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec, int requestFromOutputPort, unsigned long *mtime)
 
virtual vtkInformationGetInformation ()
 
virtual void SetInformation (vtkInformation *)
 
virtual void Register (vtkObjectBase *o)
 
virtual void UnRegister (vtkObjectBase *o)
 
virtual void SetAbortExecute (int)
 
virtual int GetAbortExecute ()
 
virtual void AbortExecuteOn ()
 
virtual void AbortExecuteOff ()
 
virtual void SetProgress (double)
 
virtual double GetProgress ()
 
void SetProgressText (const char *ptext)
 
virtual char * GetProgressText ()
 
virtual unsigned long GetErrorCode ()
 
virtual void SetInputArrayToProcess (int idx, int port, int connection, int fieldAssociation, const char *name)
 
virtual void SetInputArrayToProcess (int idx, int port, int connection, int fieldAssociation, int fieldAttributeType)
 
virtual void SetInputArrayToProcess (int idx, vtkInformation *info)
 
virtual void SetInputArrayToProcess (int idx, int port, int connection, const char *fieldAssociation, const char *attributeTypeorName)
 
vtkDataObjectGetInputDataObject (int port, int connection)
 
virtual void SetInputConnection (int port, vtkAlgorithmOutput *input)
 
virtual void SetInputConnection (vtkAlgorithmOutput *input)
 
virtual void AddInputConnection (int port, vtkAlgorithmOutput *input)
 
virtual void AddInputConnection (vtkAlgorithmOutput *input)
 
virtual void SetInputDataObject (int port, vtkDataObject *data)
 
virtual void SetInputDataObject (vtkDataObject *data)
 
virtual void AddInputDataObject (int port, vtkDataObject *data)
 
virtual void AddInputDataObject (vtkDataObject *data)
 
vtkAlgorithmOutputGetOutputPort (int index)
 
vtkAlgorithmOutputGetOutputPort ()
 
vtkAlgorithmGetInputAlgorithm ()
 
vtkExecutiveGetInputExecutive ()
 
vtkInformationGetInputInformation ()
 
virtual void Update (int port)
 
virtual void Update ()
 
virtual void SetReleaseDataFlag (int)
 
virtual int GetReleaseDataFlag ()
 
void ReleaseDataFlagOn ()
 
void ReleaseDataFlagOff ()
 
int UpdateExtentIsEmpty (vtkInformation *pinfo, vtkDataObject *output)
 
int UpdateExtentIsEmpty (vtkInformation *pinfo, int extentType)
 
void SetUpdateExtent (int port, int piece, int numPieces, int ghostLevel)
 
void SetUpdateExtent (int piece, int numPieces, int ghostLevel)
 
void SetUpdateExtent (int extent[6])
 
intGetUpdateExtent ()
 
intGetUpdateExtent (int port)
 
void GetUpdateExtent (int &x0, int &x1, int &y0, int &y1, int &z0, int &z1)
 
void GetUpdateExtent (int port, int &x0, int &x1, int &y0, int &y1, int &z0, int &z1)
 
void GetUpdateExtent (int extent[6])
 
void GetUpdateExtent (int port, int extent[6])
 
int GetUpdatePiece ()
 
int GetUpdatePiece (int port)
 
int GetUpdateNumberOfPieces ()
 
int GetUpdateNumberOfPieces (int port)
 
int GetUpdateGhostLevel ()
 
int GetUpdateGhostLevel (int port)
 
void SetProgressObserver (vtkProgressObserver *)
 
virtual vtkProgressObserverGetProgressObserver ()
 
- Public Member Functions inherited from vtkObject
vtkObjectNewInstance () const
 
virtual void DebugOn ()
 
virtual void DebugOff ()
 
bool GetDebug ()
 
void SetDebug (bool debugFlag)
 
virtual void Modified ()
 
virtual unsigned long GetMTime ()
 
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 
vtkCommandGetCommand (unsigned long tag)
 
void RemoveObserver (vtkCommand *)
 
void RemoveObservers (unsigned long event, vtkCommand *)
 
void RemoveObservers (const char *event, vtkCommand *)
 
int HasObserver (unsigned long event, vtkCommand *)
 
int HasObserver (const char *event, vtkCommand *)
 
void RemoveObserver (unsigned long tag)
 
void RemoveObservers (unsigned long event)
 
void RemoveObservers (const char *event)
 
void RemoveAllObservers ()
 
int HasObserver (unsigned long event)
 
int HasObserver (const char *event)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 
int InvokeEvent (unsigned long event, void *callData)
 
int InvokeEvent (const char *event, void *callData)
 
int InvokeEvent (unsigned long event)
 
int InvokeEvent (const char *event)
 
- Public Member Functions inherited from vtkObjectBase
const char * GetClassName () const
 
virtual void Delete ()
 
virtual void FastDelete ()
 
void Print (ostream &os)
 
void SetReferenceCount (int)
 
void PrintRevisions (ostream &)
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 
int GetReferenceCount ()
 

Static Public Member Functions

static int IsTypeOf (const char *type)
 
static vtkPLSDynaReaderSafeDownCast (vtkObjectBase *o)
 
static vtkPLSDynaReaderNew ()
 
- Static Public Member Functions inherited from vtkLSDynaReader
static int IsTypeOf (const char *type)
 
static vtkLSDynaReaderSafeDownCast (vtkObjectBase *o)
 
static vtkLSDynaReaderNew ()
 
- Static Public Member Functions inherited from vtkMultiBlockDataSetAlgorithm
static vtkMultiBlockDataSetAlgorithmNew ()
 
static int IsTypeOf (const char *type)
 
static vtkMultiBlockDataSetAlgorithmSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkAlgorithm
static vtkAlgorithmNew ()
 
static int IsTypeOf (const char *type)
 
static vtkAlgorithmSafeDownCast (vtkObjectBase *o)
 
static vtkInformationIntegerKeyINPUT_IS_OPTIONAL ()
 
static vtkInformationIntegerKeyINPUT_IS_REPEATABLE ()
 
static vtkInformationInformationVectorKeyINPUT_REQUIRED_FIELDS ()
 
static vtkInformationStringVectorKeyINPUT_REQUIRED_DATA_TYPE ()
 
static vtkInformationInformationVectorKeyINPUT_ARRAYS_TO_PROCESS ()
 
static vtkInformationIntegerKeyINPUT_PORT ()
 
static vtkInformationIntegerKeyINPUT_CONNECTION ()
 
static vtkInformationIntegerKeyCAN_PRODUCE_SUB_EXTENT ()
 
static vtkInformationIntegerKeyCAN_HANDLE_PIECE_REQUEST ()
 
static void SetDefaultExecutivePrototype (vtkExecutive *proto)
 
- Static Public Member Functions inherited from vtkObject
static int IsTypeOf (const char *type)
 
static vtkObjectSafeDownCast (vtkObjectBase *o)
 
static vtkObjectNew ()
 
static void BreakOnError ()
 
static void SetGlobalWarningDisplay (int val)
 
static void GlobalWarningDisplayOn ()
 
static void GlobalWarningDisplayOff ()
 
static int GetGlobalWarningDisplay ()
 
- Static Public Member Functions inherited from vtkObjectBase
static int IsTypeOf (const char *name)
 
static vtkObjectBaseNew ()
 

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkPLSDynaReader ()
 
virtual ~vtkPLSDynaReader ()
 
virtual int RequestInformation (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
 
virtual int RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
 
virtual int ReadTopology ()
 
- Protected Member Functions inherited from vtkLSDynaReader
 vtkLSDynaReader ()
 
virtual ~vtkLSDynaReader ()
 
int ReadHeaderInformation (int currentAdaptLevel)
 
int ScanDatabaseTimeSteps ()
 
virtual void ResetPartInfo ()
 
virtual int ReadInputDeck ()
 
virtual int ReadPartTitlesFromRootFile ()
 
virtual int ReadUserMaterialIds ()
 
int WriteInputDeckSummary (const char *fname)
 
virtual void ReadDeletionArray (vtkUnsignedCharArray *arr, const int &pos, const int &size)
 
virtual void ReadCellProperties (const int &type, const int &numTuples)
 
void ResetPartsCache ()
 
virtual int ReadNodes ()
 
virtual int ReadPartSizes ()
 
virtual int ReadConnectivityAndMaterial ()
 
virtual int ReadUserIds ()
 
virtual int ReadState (vtkIdType)
 
virtual int ReadNodeStateInfo (vtkIdType)
 
virtual int ReadCellStateInfo (vtkIdType)
 
virtual int ReadDeletion ()
 
virtual int ReadSPHState (vtkIdType)
 
int ReadInputDeckXML (ifstream &deck)
 
int ReadInputDeckKeywords (ifstream &deck)
 
- Protected Member Functions inherited from vtkMultiBlockDataSetAlgorithm
 vtkMultiBlockDataSetAlgorithm ()
 
 ~vtkMultiBlockDataSetAlgorithm ()
 
virtual vtkExecutiveCreateDefaultExecutive ()
 
virtual int FillOutputPortInformation (int port, vtkInformation *info)
 
virtual int FillInputPortInformation (int port, vtkInformation *info)
 
vtkDataObjectGetInput (int port)
 
virtual int RequestDataObject (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
 
virtual int RequestUpdateExtent (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
 
- Protected Member Functions inherited from vtkAlgorithm
 vtkAlgorithm ()
 
 ~vtkAlgorithm ()
 
virtual void SetNumberOfInputPorts (int n)
 
virtual void SetNumberOfOutputPorts (int n)
 
int InputPortIndexInRange (int index, const char *action)
 
int OutputPortIndexInRange (int index, const char *action)
 
int GetInputArrayAssociation (int idx, vtkInformationVector **inputVector)
 
virtual void ReportReferences (vtkGarbageCollector *)
 
virtual void SetNumberOfInputConnections (int port, int n)
 
int GetInputArrayAssociation (int idx, int connection, vtkInformationVector **inputVector)
 
int GetInputArrayAssociation (int idx, vtkDataObject *input)
 
vtkDataArrayGetInputArrayToProcess (int idx, vtkInformationVector **inputVector)
 
vtkDataArrayGetInputArrayToProcess (int idx, vtkInformationVector **inputVector, int &association)
 
vtkDataArrayGetInputArrayToProcess (int idx, int connection, vtkInformationVector **inputVector)
 
vtkDataArrayGetInputArrayToProcess (int idx, int connection, vtkInformationVector **inputVector, int &association)
 
vtkDataArrayGetInputArrayToProcess (int idx, vtkDataObject *input)
 
vtkDataArrayGetInputArrayToProcess (int idx, vtkDataObject *input, int &association)
 
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, vtkInformationVector **inputVector)
 
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, vtkInformationVector **inputVector, int &association)
 
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, int connection, vtkInformationVector **inputVector)
 
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, int connection, vtkInformationVector **inputVector, int &association)
 
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, vtkDataObject *input)
 
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, vtkDataObject *input, int &association)
 
vtkInformationGetInputArrayFieldInformation (int idx, vtkInformationVector **inputVector)
 
virtual void SetNthInputConnection (int port, int index, vtkAlgorithmOutput *input)
 
void SetInputDataInternal (int port, vtkDataObject *input)
 
void AddInputDataInternal (int port, vtkDataObject *input)
 
virtual void SetErrorCode (unsigned long)
 
- Protected Member Functions inherited from vtkObject
 vtkObject ()
 
virtual ~vtkObject ()
 
virtual void RegisterInternal (vtkObjectBase *, int check)
 
virtual void UnRegisterInternal (vtkObjectBase *, int check)
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL)
 
void InternalReleaseFocus ()
 
- Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
 
virtual ~vtkObjectBase ()
 
virtual void CollectRevisions (ostream &)
 
 vtkObjectBase (const vtkObjectBase &)
 
void operator= (const vtkObjectBase &)
 

Additional Inherited Members

- Public Attributes inherited from vtkAlgorithm
int AbortExecute
 
- Static Protected Member Functions inherited from vtkAlgorithm
static vtkInformationIntegerKeyPORT_REQUIREMENTS_FILLED ()
 
- Protected Attributes inherited from vtkLSDynaReader
vtkLSDynaPartCollectionParts
 
int DeformedMesh
 
int TimeStepRange [2]
 
char * InputDeck
 
LSDynaMetaData * P
 
int RemoveDeletedCells
 
int DeletedCellsAsGhostArray
 
- Protected Attributes inherited from vtkAlgorithm
vtkInformationInformation
 
double Progress
 
char * ProgressText
 
vtkProgressObserverProgressObserver
 
unsigned long ErrorCode
 
- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
- Protected Attributes inherited from vtkObjectBase
vtkAtomicInt32 ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 
- Static Protected Attributes inherited from vtkAlgorithm
static vtkExecutiveDefaultExecutivePrototype
 

Detailed Description

Read LS-Dyna databases (d3plot) in parallel.

This filter reads LS-Dyna databases in parallel.

The Set/GetFileName() routines are actually wrappers around the Set/GetDatabaseDirectory() members; the actual filename you choose is irrelevant – only the directory name is used. This is done in order to accommodate ParaView.

Attention
LSDyna files contain 3 different types of sections: control, data, and state. Control sections contain constants that describe the type of simulation data in a file or group of files. Data sections contain simulation information that is invariant across individual time steps (but can vary when a mesh adaptation occurs). This information includes material, connectivity, and undeformed geometry. Finally, state data is information that varies with each time step. Unless a mesh adaptation occurs, there will be a single control and data section, and they will be located at the start of the database (the first file).
In their infinite wisdom, LSDyna developers decided to split simulation data into multiple files, each no larger than some predetermined limit. Each file can contain one section, a partial section (if it would not fit into a single file), or multiple sections. Files are padded with zeros so that their lengths will be multiples of 512*512. The size of each section is determined by constants in the control and data sections, which means that these must be parsed carefully in order to correctly locate desired information. Unfortunately, the constants are not terribly well-documented and in some cases the documentation is in error.
Open Issues
: The LS-Dyna file format document leaves a good bit open to interpretation. In addition to the "documentation vs. files in the wild" issues there are also implementation problems.
Open Issues
:
  • Where exactly may breaks to a new file occur in the pre-state information? At each section?
  • Will state data sections (node/cell data, element deletion, sph data, rigid body motion) be moved to the beginning of a new file if their data will be too large for a given file, or are all the sections counted together as a single state (makes more sense for keeping time word at start of every file). The questions above arise because the docs (p. 3) state "There are 3 sections in this database." but then call many smaller pieces of data "sections". Should they be subsections? The docs are quiet about whether the second section (of 3) is ever split across multiple files and, if so, whether it is done at (sub)section boundaries when possible or just wherever it needs to occur.
  • How many components does Eddy Viscosity have? It's shown as 7 bits in NCFDV1 which makes no sense at all.
  • Why is NARBS larger than 10+NUMNP+NEL8+NEL2+NEL4+NELT (which is the value specified by the documentation)? Obviously, NARBS is definitive, but what are the extra numbers at the end?
  • Is there a difference between rigid body elements NUMRBE and rigid road surfaces? It appears that the nodes and connectivity of the road surface are given separately (p.13) while on p.7 the Material Type Data subsection says that shells in a rigid body will just have a certain material ID but be interspersed among deformable shell elements.
  • Word 37 of the control section serves two possible purposes... it can mean NMSPH or EDLOPT. I assume that different versions of the code use that word differently. How do we know the difference?
  • It's unclear how much state isn't stored when a shell element is marked as rigid. Specifically, is element deletion data stored for rigid shells? Page 21 of the spec is mute on this.
  • The loop to read cell User IDs won't work if Rigid Body and Shell elements are interleaved (which I now believe they are).
Open Issues
: On the VTK side of things:
  • The reader doesn't handle crack files (d3crck)
  • The reader doesn't handle interface force files (no default name)
  • The reader doesn't handle time history (abbreviated output) files (d3thdt)
  • The reader doesn't handle dynamic relaxation files (d3drfl)
  • The reader doesn't handle reduced parts (state for a subset of parts) files (d3part)
  • The reader doesn't handle mode shape files (d3eigv)
  • The reader doesn't handle equilibrium iteration files (d3iter)
  • The reader doesn't handle extra time data files (d3xtf)
  • The reader doesn't handle printer files (d3hsp)
  • The reader doesn't handle modal neutral files (d3mnf)
  • The reader doesn't handle packed connectivity.
  • The reader doesn't handle adapted element parent lists (but the 2002 specification says LSDyna doesn't implement it).
  • All the sample datasets have MATTYP = 0. Need something to test MATTYP = 1.
  • I have no test datasets with rigid body and/or road surfaces, so the implementation is half-baked.
  • It's unclear how some of the data should be presented. Although blindly tacking the numbers into a large chuck of cell data is better than nothing, some attributes (e.g., forces & moments) lend themselves to more elaborate presentation. Also, shell and thick shell elements have stresses that belong to a particular side of an element or have a finite thickness that could be rendered. Finally, beam elements have cross sections that could be rendered. Some of these operations require numerical processing of the results and so we shouldn't eliminate the ability to get at the raw simulation data. Perhaps a filter could be applied to "fancify" the geometry.
Tests:
vtkPLSDynaReader (Tests)

Definition at line 132 of file vtkPLSDynaReader.h.

Member Typedef Documentation

Definition at line 135 of file vtkPLSDynaReader.h.

Constructor & Destructor Documentation

vtkPLSDynaReader::vtkPLSDynaReader ( )
protected
virtual vtkPLSDynaReader::~vtkPLSDynaReader ( )
protectedvirtual

Member Function Documentation

static int vtkPLSDynaReader::IsTypeOf ( const char *  type)
static
virtual int vtkPLSDynaReader::IsA ( const char *  name)
virtual

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkLSDynaReader.

static vtkPLSDynaReader* vtkPLSDynaReader::SafeDownCast ( vtkObjectBase o)
static
virtual vtkObjectBase* vtkPLSDynaReader::NewInstanceInternal ( ) const
protectedvirtual

Reimplemented from vtkLSDynaReader.

vtkPLSDynaReader* vtkPLSDynaReader::NewInstance ( ) const
virtual void vtkPLSDynaReader::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
virtual

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkLSDynaReader.

static vtkPLSDynaReader* vtkPLSDynaReader::New ( )
static
virtual int vtkPLSDynaReader::CanReadFile ( const char *  fname)
virtual

Determine if the file can be readed with this reader.

Reimplemented from vtkLSDynaReader.

void vtkPLSDynaReader::SetController ( vtkMultiProcessController c)

Set/Get the communicator object. By default we use the world controller

virtual vtkMultiProcessController* vtkPLSDynaReader::GetController ( )
virtual

Set/Get the communicator object. By default we use the world controller

virtual int vtkPLSDynaReader::RequestInformation ( vtkInformation ,
vtkInformationVector **  ,
vtkInformationVector  
)
protectedvirtual

This is called by the superclass. This is the method you should override.

Reimplemented from vtkLSDynaReader.

virtual int vtkPLSDynaReader::RequestData ( vtkInformation ,
vtkInformationVector **  ,
vtkInformationVector  
)
protectedvirtual

This is called by the superclass. This is the method you should override.

Reimplemented from vtkLSDynaReader.

virtual int vtkPLSDynaReader::ReadTopology ( )
protectedvirtual

These functions read various parts of the database. The functions that take a vtkIdType argument must be passed the current timestep. Functions that do not take a timestep must have the read head positioned to the start of their data sections. These functions should only be called from within RequestData() since they require the various output meshes to exist.

Reimplemented from vtkLSDynaReader.


The documentation for this class was generated from the following file: