Usage of Impact

Impact - Impact can be run in two distincly different modes. There is a complete GUI based environment avaliable where a solution can be run from model to analysis. It is also possible to run the solver isolated from command line.

GUI Modules

The GUI is divided into separate modules which are described as follows

Pre Processor

Pre Processor is the starting point for the user. It is used for: Pre Processor operates on a full 3D view which can be zoomed and rotated using the third mouse button either alone or in combination with CTRL and/or SHIFT key.

On the left hand side is a tree structure of the elements in the model. Elements can be selected here or in the 3D view directly.

By double clicking on a element, the properties of that element will be displayed and can be updated in the lower left corner.

There are also a range of commands: On the top left side is a selection menu of the Graphics mode. Several options are available such as Surface which displays a shaded model. Wireframe is faster since no shading occurs. Solid is used for completely shaded view.

Modelling principles

The preprocessor works with two types of graphical objects: Geometry and Mesh. The geometry is CAD geometry but with build in mesh attributes. A curve for example can have a mesh attached to it. It can also have a material and a thickness which is automatically transferred to the mesh.

To generate a model, the user should start with points and then create curves based on these points. Finally, surfaces should be created based on the curves. If a point is later moved, the curve based on this points will change and finally the surface when the users presses the rebuild model button.

By double clicking on a geometry, the attributes of that geometry will appear on the edit field in the lower left corner. The user can change any attribute and press update to modify the model. The mesh of a surface is automatically based on the mesh of the curves which created the surface. If the mesh is modified on a curve, the mesh on the surface is also changed.

To create geometry there is a Draw tab available containing the following commands:

Curve defining commands

Surface defining commands
Point and Curve generating commands
Finite element direct generating commands
A second tab, Modify, contains all the commande for modifying one or several objects.

Processor

Processor The processor is where the calculation is made. It consists of a prompt window where the solver printout is shown, an editor where the indata file can be modified and a model viewer where the model described by the .in file can be seen and rotated.

The starting point is a .in file which has been saved from the preprocessor (or one written by hand).  This must be loaded into the processor by the open model button. The solution process is then started by the start/stop button.

The results will automatically be written to a .flavia.res file which can be loaded into the postprocessor.

The view of the three dimensional model can be adjusted with these commands:

Post Processor

Post Processor is used to view the results from the solver. These are saved in a file ending with .flavia.res and consists of multiple time steps which can be selected on the left hand side of the viewer. This is also where you can decide what should be viewed.
To the left of the view, there is a menu to control what is to be shown

Show - This menu contains the following commands:
Result - This is where the type of element results are selected. The user can select element stresses or strains of various types.
Time step - Just on click on the time step to be shown. Try holding down the mouse button and move up/down for animation.

Graph

Graph The grapher is used to view the results from trackers or directly from elements as curves.

Help

This is the tab to use for documentation.

 

Solving problems with impact:

The solution process is made in three stages:

  1. Creation of a model using a Pre Processor or direct writing of the Fembic indata file
  2. Solution using the Impact program
  3. Presentation of the results using a Post Processor and the result files from the solution

It is simplest to run Impact and the built in Pre/Post Processors from the GUI. To do that, just run the ImpactGUI.bat file in this directory if you are a Windows user or make the ImpactGUI.sh runnable (chmod 777 ImpactGUI.sh) and run that with ./ImpactGUI if you are a Linux/Unix/Mac user. Alternatively, just write bash ImpactGUI.sh to start.

Preparation of model

Impact supports a range of Pre/Post Processors. The GUI actually contains a fully functional Post Processors with a Pre Processor under construction. To design models, you have two additional choises. Gmsh, which is completely free and unlimited; GID which is commersial but can be run for free under a limited academic license.

Should you want to try GID, you will need to download a version later than 6.2 since Impact uses features that are currently being implemented. You can download GID from http://gid.cimne.upc.es

This is how you should set up and use GID for Pre Processing:

  1. Run the installation file for GID and install the program.
  2. If you haven't installed Impact, proceed to do this.
  3. Look in the GID directory for a subdirectory called problemtypes and go there
  4. Make a new subdirectory called Impact
  5. Now copy the directory Impact.gid from where you installed Impact, making sure all files come with it (you will find this directory under the Interfaces directory)
  6. The directory structure should now be GiD/problemtypes/Impact/Impact.gid/some files
  7. If you now start GiD, you should find Impact as an option under the DATA menu.
  8. Start by selecting Impact as your solver by Data->Problemtype->Impact->Impact
  9. Fill in the problem datas under Data->Problem Data->...
  10. Create a model and mesh it (read the GiD manual for how to do this)
  11. Set materials on all elements using Data->Materials
  12. Set boundary conditions on the nodes using Data->Conditions
  13. GiD can now export indata files to Impact via the File->Export->CalculationFile menu

This is how you should set up and use Gmsh for Preprocessing:

  1. Download Gmsh from http://www.geuz.org/gmsh and install.
  2. If you haven't installed Impact, proceed to do this.
  3. Create models in Gmsh and save them in format 1.0 of gmsh mesh format
  4. Import the .msh file into the Impact processor editor. It will then be translated.

Solving of model

The solution of the problem is initiated from the GUI by loading the file into the editor and pressing the play button. You can also write java -Xmx500m run.Impact file at the command prompt, where file is the name of the indata file and 500m represents allocation of 500 Megabytes of memory. If you have less you can reduce this amount with the risk of getting out of memory errors for large models. In the case of loading a Fembic file, make sure it ends with .in because otherwise Impact will not recognise the format. It is also important that you are placed in the impact directory at the time of execution.

If you are running some of the example problems supplied, you need to add the path to the examples directory. The syntax then becomes: java run.Impact -Xmx500m examples/file where file applies as above.

If all goes well, you should now see the indata file being parsed by impact and the solution process initiated. Each time results are written, a notice will be written to the screen and you will see that execution is in progress. A solution can take considerable time, so be patient.


Visualization of results of calculation

The results are printed to the flavia.res and flavia.msh files. They will end up in the same directory as your sourcefile. These are tailor made for the internal Post Processor, but are also readable from the GID Post Processor

If you want to view the results with the internal Post Processor, just swith to the Post Processor tab and load the .flavia.res file. The model should now show up on the screen. Rotation, moving and zooming is done by holding down any of the mouse buttons while moving the mouse.

If you want to use GiD as a viewer, start by firing up GID and switch to Post Processing mode. Next read in the result file flavia.res. The mesh (flavia.msh) file will be read automatically. You should now see the model on the screen.

Press ctrl-d to set the timestep for deformation. Go from the top of the menu, starting by selecting deformation and then time analysis. Select timestep 0, magnification factor 1.0 and then press apply.

Next press ctrl-v and select the results , time analysis and contour fill. Finally, select gausspointstress and apply.

Finally, press ctrl-m. You should now see the results as an animation. There are plenty of ways to view your results, but I refer to the GID users manual for that.

Summary of how you should use GiD for Post Processing (looking at the results)

  1. Fire up GID and switch to Post Processing mode.
  2. Open the xxxxx.in.flavia.res file. If all goes well, you should be able to see your model.
  3. Press ctrl-d to set the timestep for deformation.
  4. Go from the top of the menu, starting by selecting deformation and then time analysis.
  5. Select timestep 0, magnification factor 1.0 and then press apply.
  6. Next press ctrl-v and select the results , time analysis and contour fill.
  7. Finally, select gausspointstress and apply.
  8. Next press ctrl-m to get a nice animation!

Impact Cluster Implementation

As of version 0.5.3, Impact supports calculations performed across a networked set of clients often referred to as a cluster. This allows Impact to split up a model into smaller parts and distribute them over the network, letting a client calculate only a unique section of the model and thereby speeding up the calculation. There is no need to have a special type of network although a capacity of 100Mbit or greater is preferrable. This is standard today on most PC:s.

The network communication and synchronisation is a complex topic. Therefore, Impact uses a special software to handle all this, called JavaParty. Developed by the University of Karlsruhe this software is 100%PC% java in itself which means no further dependencies. Furthermore, JavaParty assumes there is a way to connect from one client to another without a password. Default setup uses ssh (secure shell) login and how to set this up correctly is explained at the JavaParty webpage. A link to JavaParty as well as downloads is avalilable on the Impact webpage

Impact assumes that your directory is shared across the clients in the network. This is the most common setup on a LAN and is accomplished by NFS or similar. If this is not the case, you have to arrange this with the system administrator. Reason for this assumption is that the printout of the results become significantly simpler to implement since all the clients can access the same file.

For more details on the cluster implementation, see the programmers manual


Contact handling in Impact

Contacts in impact are handled by two element types:

The CT is used to sense contact between nodes and surfaces and the CL senses contact against other CL elements. Together, these two elements can be used to enable contact detection for most cases and models. Both of them are classified as elements which means that they can directly be part of a model mesh as all elements. The user can for example model a wall or a complex rigid contact surface with them.

Since they only have the sole purpose of sensing contact, the have no stiffness at all. This means that if they are used on their own in the model, the nodes connecting them should be fixed by constraints to prevent them from drifting when in contact. It also means that the user can use them in combination with ordinary elements to provide contact sensing where this is not default.

One example where this is useful is when a body has been meshed using solid elements, for example an engine block in a car. This body can then be "dressed" on the outside with a second mesh of contact elements to provide the contact sensitivity against other elements in the car. Any contact sensing inside the engine block is not needed and valuable calculation time can then be saved with this approach.

Some elements have contact sensing as default. Examples of these are:

When any of these elements is created, one or several contact elements are created by default. These are embedded inside the element and share the element nodes. The rod and beam elements use the Contact_Line element to sense contact. The Shell elements use the Contact_Triangle element to sense contact against the surface and optionally Contact_Line elements at the edges to sense contact against other edges.

The contact elements drain quite a bit of computing resources and as the number of elements increase, so does the amount of computing power since the increase is more than linear. Therefore, some of the elements have options to reduce the contact resolution. This means that the contact sensing will be less accurate during large deformation of the elements, but the solution will run faster. For this reason, contact sensing has also not been implemented in the solid elements since the user can best minimise the amount of calculations needed, by distributing the contact element where they are needed.

The details of how contact sensing is implemented is explained in the programming manual.