### Introduction Welcome to the Impact Finite Element Program. This program was designed to be a free and SIMPLE alternative to the advanced commercial Finite Element codes available today. The guideline during the development of the program has been to keep things clear and simple in design. Impact has been designed to be easily extendible and modular to enable programmers a way to easy add features to the program without having to enter other parts of the code. Impact has been written in Java. This choice of language may seem strange at first, but with the recent development of Java engines, speed penalty is not that significant. On the other hand, the Object Oriented features and the high portability of Java is a clear advantage for the future. Impact is a Finite Element Code which is based on an Explicit Time stepping algorithm. These kind of codes are used to simulate dynamic phenomena such as car crashes and similar, usually involving large deformations. There are quite few explicit codes around which might seem strange since the other cousin (implicit finite element) are quite common. The implicit codes are used to simulate static loads in structures. Something that explicit codes does not manage very well. |

Impact is written in Java

Impact is written in Java for two reasons:
1. Java is an Object Oriented language and that suits Finite Element Programming perfectly
2. Java is clean, simple and extremely portable.

On the other hand, Java might seem like a strange choice since this is a high performance number crunching type of software and Java is not known to be competitive to ex. Fortran or C++ in this area. True, it is slower but with the new interpreters from IBM and Sun, the built in runtime compiling actually gets the speed up quite a bit so this is not such an issue after all.

Contributors to Impact

Jonas Forssell | - | Development
Yuriy Mikhaylovskiy | - | Development
Nikolay Skiba | - | Development
Galina Golovko | - | Development
Bernhard Haumacher | - | Parallellisation
Claus Wonnemann | - | Parallellisation
Ruediger Heim | - | Interface development 1:st generation
Waluyo Adi Siswanto | - | GiD Interface development
Kjell Mattisson | - | Scientific advisor

### Application

At the moment, Impact can only handle dynamic INCOMPRESSIBLE problems. Examples of problems with this kind of limitation is basically most real world dynamic problems. The following is a list of problems that Impact will be able to solve in the future.

- Collisions of any type
- Forming operations
- Dynamic events such as chassis movement etc.

### Theoretical base

The explicit code is based on the simple formula of F=M*A where F represents a force, M is the mass of a body and A is the resulting acceleration of that body.

All the code does is to calculate the acceleration for the body, use a small step in time to translate this acceleration into a little displacement of the body. This displacement is then used to calculate a responding force since the body is elastic and can be stretched (thus creating a reaction force). This force is then used to calculate an acceleration and then the process is repeated again from the beginning.

As long as the timestep is sufficiently small, the results are accurate.

### Literature of Interest

There are a large number of books available on Finite Element Theory. Most of them describe Finite Element from a static point of view and is therefore of limited interest to the potential Impact programmer.

On the other hand, the theory of element formulation is often usable to a large extent and having that in mind, here are a few proposals:

- Concepts And Applications Of Finite Element Analysis, Third edition - Robert D. Cook, David S. Malkus, Michael E. Plesha, ISBN 0-471-84788-7
- The Finite Element Method - Linear Static and Dynamic Finite Element Analysis - Thomas J. R. Hughes, ISBN 0-484-41181-8
- Nonlinear Finite Elements for Continua and Structures - Ted Belytschko, Wing Kam Liu, Brian Moran. ISBN 0-471-98773-5

The first book is recommended to beginners and engineers in general since it deals with most issues from a linear algebra perspective. This makes the code writing quite close to the Impact format. It is also a very good book and the one I have had best feedback from.

Ted Belytschko's book is the "bible" in this field. The man behind explicit codes have finally written a compendium on the theory and some principle algorithms are also shown. However, for an engineers perspective, this book is quite deep in its places and is more suitable as a reference than as a learning book for beginners.

There are also some papers written which are of interest:

- Explicit Algorithms For The Nonlinear Dynamics Of Shells - Ted Belytchko, Jerry I. Lin, Chen-Shyh Tsay, Computer methods in applied mechanics and engineering 42 (1984), page 225-251
- An Explicit Formulation For An Efficient Triangular Plate-Bending Element - Jean-Louis Batoz, International journal for numerical methods in engineering, Vol. 18, page 1077-1089 (1982)

These papers form the basis of coming shell element extension to Impact.

To understand the concept behind object orientation, inheritance etc, the following book is a pleasure to read:

- Thinking in Java - Burce Eckel, ISBN 0-13-027363-5; The book is also available for free download at: http://www.bruceeckel.com

### Installation

Impact is a Java program which means that there is no compilation of sourcecode or similar to be done. However, there are some programs you need to install to be able to run Impact and to see the results.

Start by downloading the program files of impact from http://sourceforge.net/projects/impact

The file is a Impact-XXXX.zip file and must be untarred using the command tar -xvf Impact-XXXX.zip if you are running Linux. For Windows users the Winzip program will handle the expansion.

Prerequisites

To get Impact working you need:

1. A Java engine - Java SE Runtime Environment (JRE) or Java SE Development Kit(JDK) http://java.sun.com/javase/downloads/index.jsp
2. A Java3D https://java3d.dev.java.net/binary-builds.html
3. After installation for program start the package file ImpactGUI_OGL_XXXXX.bat (.sh), where instead of XXXXX choose a file which corresponds to your operating system is used.

A good Java engine is the Sun version which can be found at http://java.sun.com/javase/downloads/index.jsp. You can take either the Runtime environment or the Software Development Kit.

There are several alternative Java engines.

After installation, you can run the solver by going to the processor tab (assuming you have started impact GUI and then loading in one of the examples from the examples directory. Solution is then started by pressing the play button.

Impact will now create two outdatafiles:

- xxxxx.in.flavia.res
- xxxxx.in.flavia.msh

These files can be read by the internal postprocessor or alternatively by GID preprocessor and postprocessor. Make sure to always select the .res file when viewing the results.