1. 1 | P a g e
A REPORT
ON
HYPERCRASH AUTOMATION
BY
RAHUL ROCHLANI 2011A4PS289H
AT
Altair Engineering India Pvt. Ltd., Bangalore
A Practice School-II station of
BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, PILANI
(May-July, 2013)
2. 2 | P a g e
ACKNOWLEDGEMENT
Through this report, I would like to express my heartiest thanks to the all
those who have contributed in the materialization of the project. I would
like to thank our university B.I.T.S, Pilani for giving me the opportunity
to help me carry out our training at Altair Engineering India Pvt. Ltd,
Bangalore. I am grateful to Dr. P B Venkataraman who has constantly
supported and encouraged me to pursue this project work actively,
suggesting areas of improvement.
A special note of thanks to Mr. Ravi Chinthapalli, my team manager,
who has given me an extremely resourceful opportunity of working on
this challenging project. This project is entirely an outcome of his ideas.
I would always be grateful for all that he has taught me in the past three
months. This project work would not have been possible without his
guidance and patience with me.
Finally, my heartiest gratitude to all my friends in the company with
whom I have had many long enlightening discussions.
3. 3 | P a g e
Table of Contents:
Acknowledgement………..……….2
Abstract……………………..…..…4
Introduction…………………….....5
Computer Aided Engineering…......6
HyperCrash Introduction……...…..8
HyperCrash Automation..………..11
CONCLUSION..…………………17
BIBLIOGRAPH.…………………18
4. 4 | P a g e
ABSTRACT
Altair’s HyperCrash product provides support to various CAE solver
interfaces grouped under different applications. This is mainly to cater to
variety of target customer’s needs. In the Crash simulation category,
Altair currently provides support to RADIOSS and LS-Dyna solvers.
This project majorly deals with automation of HyperCrash through batch
mode, i.e., invoking HyperCrash without the graphical user interface,
creating and modifying HyperCrash entities. The basic purpose of the
training aims at building code to take input in the form of an XML file,
parse the input, perform the tasks specified by running HyperCrash in
batch-mode and generate an output file. Invoking HyperCrash through
batch mode is not common as of now but a few years down the line it is
going to become prominent as it is a more efficient way of invoking
crash models.
5. 5 | P a g e
Introduction
Crash simulations are used by all Computer Aided Engineering (CAE)
users during their analysis for crashworthiness in the Computer-aided
design (CAD) process of modelling new components. Most automobile
and aircraft makers utilize different solvers for performing Crash
simulation on their vehicle designs to ensure the safety of its vehicle
passengers during a crash. Commonly used solvers are RADIOSS, LS-
Dyna, Pamcrash etc. RADIOSS and Pamcrash are generally used by
automakers while LS-Dyna is used by many Aircraft makers.
Hyperworks provides an interfacing to all such solvers for pre & post
processing of the CAD models.
HyperCrash is a robust pre-processing environment specifically
designed to automate the creation of high-fidelity models for crash
analysis and safety evaluation. It supports various solvers out of which
most important are LS-Dyna and RADIOSS.
6. 6 | P a g e
Computer Aided Engineering
Computer-aided engineering (CAE) is the broad usage of computer
software to aid in engineering analysis tasks. It includes Finite Element
Analysis (FEA), Computational Fluid Dynamics (CFD), Multibody
dynamics (MBD), and optimization.
CAE tools are very widely used in the automotive industry. In fact, their
use has enabled the automakers to reduce product development cost and
time while improving the safety, comfort, and durability of the vehicles
they produce. The predictive capability of CAE tools has progressed to
the point where much of the design verification is now done using
computer simulations rather than physical prototype testing. CAE
dependability is based upon all proper assumptions as inputs and must
identify critical inputs (BJ). Even though there have been many
advances in CAE, and it is widely used in the engineering field, physical
testing is still used as a final confirmation for subsystems due to the fact
that CAE cannot predict all variables in complex assemblies (i.e. metal
stretch, thinning).
CAE Process:
A typical CAE process comprises of pre-processing, solving, and post-
processing steps. In the pre-processing phase, engineers model the
geometry and the physical properties of the design, as well as the
environment in the form of applied loads or constraints. Next, the model
is solved using an appropriate mathematical formulation of the
underlying physics. In the post-processing phase, the results are
presented to the engineer for review.
7. 7 | P a g e
Preprocessing:
This step comprises input of required data in the CAE software.
The required data comprises of the following
Geometry: The computational domain is specified (drawn)
for the software.
Governing Equations: The set of mathematical equations
used to solve the problems are defined.
Boundary conditions: The appropriate boundary conditions
correspond to each governing equation being solved.
Initial conditions: These include velocity, acceleration and
other initial properties.
Properties: The material properties (such as thermal
conductivity, density, etc) needed for the problem are
specified.
Meshing: In this step the model is divided into small simple
shapes called elements.
Time steps: For time dependent problems the time step
increment and time over which problem needs to be solved
are defined for the solver.
Approach for solving algebraic equations: Out of the
available equations which one to choose is defined in this
step.
Tolerances: This is set to control the error in the output.
Analysis: This step is typically automated and performed based
on input provided in preprocessing. The governing equations are
transformed into algebraic equations and solved for unknown
variables.
Postprocessing: This step involves visualization of the results
obtained by analysis.
8. 8 | P a g e
HyperCrash Introduction
Preprocessing for RADIOSS Crash Analysis
HyperCrash is a pre-process for RADIOSS which is tailored to meet
the needs of automotive crash users. HyperCrash enables the users to
build the highest quality model, with significant decrease in modeling
time, and with highest level of homogeneity. Also, HyperCrash has
an Automotive Safety module which consists of the following tools:
Dummy Positioner, Seatbelt Generator, Airbag Folder and Seat
Deformer. HyperCrash has various quality checks, including it most
powerful intersection/penetration checking and fixing routine, which
enables the users to setup a model that is perfectly consistent with the
RADIOSS solver. HyperCrash has built-in automated routines that
allow the users to significantly reduce the modeling time. Also, it
allows the users in a specific group to build a homogeneous model by
allowing these users to access the same databases like materials,
properties, spot-weld connections, dummies, barriers, same checks
and etc.
Various Entities supported in Hypercrash
The Hypercrash GUI(Graphical User Interface) is designed to support
all the entities that should be defined for RADIOSS and LS-DYNA
solvers. These include the following:
Node: A node is a coordinate location in space where the
degrees of freedom (DOFs) are defined. The DOFs for this point
represent the possible movement of this point due to the loading
of the structure. The DOFs also represent which forces and
moments are transferred from one element to the next. The
9. 9 | P a g e
results of a finite element analysis, (deflections and stresses),
are usually given at the nodes.
Elements: An element is the basic building block of finite
element analysis. There are several basic types of elements.
Which type of element for finite elements analysis that is used
depends on the type of object that is to be modeled for finite
element analysis and the type of analysis that is going to be
performed.
Parts: Many elements combined with nodes form a part.
Assembly: An assembly is a collection of parts which have
some contacts and relative motion.
Contact: A contact is a connection defined between two two
parts one of which is master and other of which is slave.
Materials: A material is the substance of which the part is
made. Materials have different properties.
Initial velocity: This is the initial velocity of the part or
assembly to which it is applied.
Control cards: These are the various cards which control the
outcome of the result.
Time history: This entity contains the behavior of different
entities like nodes and elements at different time steps.
These entities have certain properties which are called attributes. Every
time an entity is created its properties need to be defined. Various
properties have their type defined for example Poisson ratio has a type
float so the block containing Poisson ratio value is set to throw an error
when any other type of value such as string is defined in it.
10. 10 | P a g e
Entities are defined in deck
Here entities have various attributes i.e. properties like material
defined in the first deck has MID, RHO, E, PR, VP.
11. 11 | P a g e
HyperCrash Automation
Hypercrash automation means calling hypercrash in batch mode by
using a batch file, taking an input using an XML file, performing
tasks specified on a model file and giving an output file.
Automation means coding to run the tasks automatically and reduce
the human effort to repeatedly perform same task on different models.
By hypercrash automation for reading and executing the code, same
XML input file can be used for different model files and the user will
not have to repeat the same tasks in GUI for those models.
12. 12 | P a g e
Input XML file
In the xml file above there are various tasks specified. Every task has
a title and an ID which can be used to refer to that task. Apart from
title and id every task has an action. An action is the command i.e.
what has to be done. There are currently four actions defined in the
code:
13. 13 | P a g e
1. Create: This action as implied by its name is used to create
entities. While creating entities the user has to give ID, Title and
type as the input. Id can be given as “-1” then the program will
assign the next available Id to the created entity. Type means
fulltype of the entity which has to be created.
For instance for a LS-DYNA material 24 the fulltype will be :
/MAT/MAT_024.
<TASK Title=”TASK1” ID=”-1” Action=”Create”>
<Entity Title=”Automation_Entity” ID=”-1”
Type=”/MAT/MAT_024”>
<TASK>
2. Edit: This action is used to modify the entities which were
already there or even the entity which is created in the same
XML. While editing an entity, user has to give entitybytype or
entitybytitle which decides the search method for the
entity,setattrib, and skeyword. If there is entitybyid and id is
given as current then the modification will be done in the entity
created in current XML.
<SetAttrib Value=”2.32” Skeyword=”AREA”/>
<SetTabAttrib Value=”2.32” Skeyword=”AREA”/>
<SetTabAttribValue Value=”2.32” Skeyword=”AREA”/>
SetAttrib is used for single values of properties. SetTabAttrib is
used for dynamic arrays of attributes which take input in terms
of values. And finally SetTabAttribIndex is used for static
arrays which have fixed index numbers.
Static arrays have a fix number of members and their size
cannot be modified, while dynamic arrays are the ones which
are flexible and have a variable size.
Skeyword is the variable name for the property to which the
modification has to be applied.
14. 14 | P a g e
Value is the value of the property to which the modification has
to be applied.
The SetTabAttrib instruction will allow to fill fully an array
attribute : so the values will given as an enumeration in CDATA
block : 0.,1.,2.,…,5. The dots … mean that the value will
increase by one given up to last value. For instance in the
enumeration 0.,1.,2.,….,5. used for filling an array of 10
elements : 0. 1. 2. 3. 4. 5. 0. 0.
SetTabAttribIndex instruction will enable to fill value at
selected index(es) array. Index={indexes} will give the indices
to fill :
it may be an enumeration,
a rangenumeration of ranges.
Enumeration : 0,1,5, 9
Range : 0-3,4,5-6,7-9
The values will be filled accordingly to the specification of the
indexes.
3. Delete: These instructions will allow deleting entities, including
Parts, elements, node and groups. When HC will execute them,
it will call Remove_MCDS functions.
<TASK Title=”TASK1” ID=”-1” Action=”Delete”>
<EntitybyTitle>< Title=”Automation_Entity” ID=”-1”
Type=”/MAT/MAT_024”> <EntitybyTitle>
<TASK>
For deletion user has to give task action as delete, entitybyid or
entitybytitle same as in edit and title and type. The type that has to be
input here needs to be just the basic type and not the full type.
15. 15 | P a g e
Batch file used
The figure shows the batch file for LS Dyna solver. The last line of the batch
file is the command line arguments where nowindow means without opening
the HC window after -file is the path of the model on which the checks are to
be performed and after exec-file is the path of the XML file and after odyn is
the path of the exported file.
Now, we can compare the new exported model to the previous ones so as to
check whether the new entities are created or not. Fig 15 in the next page
clearly shows the difference between the models. A few new entities have
been created like data base history nodes , materials etc. .The values for
different attributes have also been assigned.
17. 17 | P a g e
Conclusion
Crash simulations have been an important part of CAE analysis,
performed by most of the CAE users to ensure crashworthiness of its
vehicles. Almost all automakers and aircraft manufacturers perform a
destructive crash test using different CAE solvers like RADIOSS, LS-
dyna, Pamcrash etc. in order to examine the level of safety of their
vehicles and its occupants during a crash.
Automation is a growing area and more and more companies are
adopting automation to do their work faster and more efficiently. In this
project software automation is used but there can be automation of
various other physical processes. The basic advantage of automation is
that it can increase the efficiency by reducing the time and effort
required for the task and also by reducing the possibility of error.
Automated tasks can be performed by less skilled workers also as just
pressing the button is much easier than doing the whole process.
18. 18 | P a g e
Bibliography
Wikipedia- “Altair Engineering”,
http://en.wikipedia.org/wiki/Altair_Engineeing
Wikipedia- “Computer Aided Engineering”
LS-DYNA manual
Hypercrash-Introduction manual