# Z88 FEM software

Z88 is a software package for the finite element method (FEM) and topology optimization. A team led by Frank Rieg at the University of Bayreuth started development in 1985 and now the software is used by several universities, as well as small and medium-sized enterprises. Z88 is capable of calculating two and three dimensional element types with a linear approach. The software package contains several solvers and two post-processors and is available for Microsoft Windows, Mac OS X and Unix/Linux computers in 32-bit and 64-bit versions. Benchmark tests conducted in 2007 showed a performance on par with commercial software.

## History and functionalities
### Overview

The software was developed by Frank Rieg, a professor for engineering design and CAD at the University of Bayreuth. Originally written in FORTRAN 77, the program was ported to the programming language C in the early 1990s. There are two programs for finite element analysis:
* Z88OS (current version 15.0) is available as free software including the source code under the GNU General Public License. Due to the modular structure of the program and the open availability of the source code it is possible to develop customized extensions and add-ons and several special case 2D and 3D continuum elements (e.g. anisotropic shell element) were developed by users.
* Z88Aurora (current version 5.0) originally described the user interface of the Z88 finite element analysis program. After several additions and further development it now comprises a significantly larger range of functionalities than Z88OS. Z88Aurora is freeware, however the source code is not publicly available.
Since 2014 two Android Apps are also available:
* Z88Tina is a freeware FEA program for Android smartphones and tablets. Using Z88Tina it is not only possible to compute trusses and beams, but also continuum elements like plane stress elements, plates and tori.
* Z88Mobile is free, like all Z88 products. This app offers two different modes (basic and advanced) and has a touch interface.
The product family is supported by a software for topology optimization since 2016:
* Z88Arion is a free program for topology optimization and provides three separate algorithms for computation (OC: Optimality Criteria, SKO: Soft Kill Option, TOSS: Topology Optimization for Stiffness and Stress).

### Functionalities of Z88Aurora

Z88Aurora's current version contains several computation modules:
* In the case of linear static analyses it is assumed that the result is proportional to the applied forces.
* Nonlinear analyses are used for nonlinear geometries and nonlinear materials.
* Using thermal and thermomechanical analyses it is possible to not only compute results about temperature or heat currents, but also thermomechanical displacements and stresses.
* By utilizing natural frequency simulation natural frequencies and the resulting oscillations can be determined.
* A contact module makes it possible to simulate interacting parts and assemblies. An integrated part management tool enables an effective handling of assemblies. There are options to simulate a glued connection or a friction-free connection and the contact discretization (type of contact: node-surface-, or surface-surface-contact), the mathematical imposition method (lagrange method, perturbed lagrange method or penalty method) and the direction of contact stiffness (normal or tangential direction) can be changed via the contact settings. This module only supports tetrahedrons and hexahedrons with linear or quadratic shape functions. Additionally the module is only available for linear mechanical strength analyses.
Regardless of what module was selected the finite element analysis using Z88Aurora can be divided into three areas: pre-processor, solver (processor) and post-processor.
The pre-processor builds the FE model. It is possible to either build the structure directly inside the software by using Z88Aurora's tools and using structural elements such as trusses and beams or a model can be imported from several file formats. Geometries can be imported from STEP files (*.STP), STL files in ASCII or binary format (*.STL) or Autocad files (*.DXF), while FE structure data can be imported from NASTRAN files (*.NAS), ABAQUS files (*.INP), ANSYS files (*.ANS) or COSMOS files (*.COS). Z88Aurora contains a total of 25 different element types, including 2D elements (truss, beam, plane stress elements, shaft elements, torus elements) and 3D elements (truss, beam, linear and quadratic tetrahedrons and hexahedrons). Two open source meshers (TetGen, by Dr. Hang Si (WIAS Berlin) and NETGEN, by Prof. Joachim Schöberl (TU Wien)) generate tetrahedron meshes. A tetrahedrons refiner for existing tetrahedrons meshes (linear and quadratic), a mapped mesher for superelement structures (hexahedrons, shells, etc.), a shell thickener that creates column shells from 2D shell elements and a trimming function serve to refine the model. The set management enables an easy selection of surfaces, nodes and elements to apply boundary conditions, define materials, etc. The material database contains 52 pre-defined materials and is editable and can be extended easily. Various boundary conditions such as forces, displacements, pressure and thermal conditions can be applied using the graphical user interface.
The solver computes displacements, stresses, temperatures and nodal forces depending on the selected computation module. Four numerical solvers are available for the linear finite element analysis:
* A direct Cholesky solver with so-called Jennings storage, that is useful (because fast) for small and medium structures made up of trusses and beams,
* a direct multi-CPU sparse matrix solver for medium structures and
* two differently preconditioned iterative solvers using sparse matrix storage for large FE structures.
Stationary thermal or thermomechanical calculations use the iterative solvers or the direct multicore solver.
Nonlinear calculations are done by applying a special iterative solver. The natural frequency simulation uses the Lanczos procedure.
The results are visualized using the post-processor. It is possible to filter results or clip the part to view only the relevant sections. Specific results can be exported to text or CSV format and the analysis function permits the display of results pertaining to a single node. Moreover, the deformed structure can be used in other applications by exporting it to an STL file.
The software comes with a Windows user interface with context-sensitive online help. Handbooks are available, demonstrating the use of Z88 and Z88Aurora, using examples. The Freeware is available for Windows, Linux and OS X.

### Functionalities of Z88Arion

Topology optimization is done by optimizing an existing structure towards a given target function by changing its topology class within a pre-defined space. By removing material in suitable places an optimal structure is created. The goal of topology optimization is the automatic creation of an optimal structure under defined applied forces and boundary conditions within the virtual product development process. A draft model provides the basis. Displacements, stresses and natural frequencies and oscillations are computed via a structural analysis and will be taken into consideration by the optimization process. It is at this point that the exact model and design variables for the optimization process are defined. Not only the target function but also the boundary conditions and restrictions are defined here. The optimization problem is solved by an algorithm that iterates variations of the design variables. The result is an improved draft model, that goes through the same process until an optimal draft, the so-called design suggestion is achieved.
Depending on the goal of the topology optimization two different methods can be chosen:
* Optimality Criteria (OC)
* Soft Kill Option (SKO)
* Topology Optimization for Stiffness and Stress (TOSS)
The OC method produces a design suggestion that features maximal stiffness in relation to a previously defined relative volume. The SKO process optimizes for maximum strength. The TOSS algorithm was specially developed by the development team at the University of Bayreuth and can be understood as an advancement of the OC method. It is a hybrid process of OC and a so-called SKO method (Soft Kill Option) and uses the optimal stiff structure resulting from the OC method and uses it as a basis to create a stress-optimized design suggestion. To do so material is added in overstressed areas and removed in understressed areas.
The determined design proposal is displayed in the postprocessor. For example, the user can look at different iterations and vary presentation limits. In addition, since Z88Arion V2, it is possible to smooth the resulting structure and export it as STL to ensure direct reuse of the optimized part in other programs. There is also a direct interface to Z88Aurora.

## Application
### Application in teaching and research

Z88 has been used to educate engineering students at the University of Bayreuth since 1998. The possibility of manual creation of the structure and the application of boundary conditions enables a simple visualization of the function of FEM software. Due to the open file sources the software can be used for research purposes in FE areas and can be modified to suit individualized needs.
Among others, Z88 is used for research and teaching at the University Ravensburg-Weingarten, the University of Ioannina, the Penn State University, the Universidad de Buenos Aires, the University of Cagliari, the University of Maribor, and at the Zonguldak Karaelmas Üniversitesi. Additionally Z88 has been used for degree theses at the Universities of Darmstadt, Hamburg-Harburg, Munich, Karlsruhe, Bern and Beijing (among others).
Furthermore, there are two textbooks using Z88. Finite Elemente Analyse for Ingenieure: Eine leicht verständliche Einführung has sold over 6000 copies. This textbook is designed for entry-level users of finite element analysis and useas Z88 to let the user follow the examples shown in the book on his own system. The book Maschinenelemente - Funktion, Gestaltung und Berechnung by Decker (19th edition) uses practical applications with Z88 to teach the calculation of machine elements with finite element analysis.

### Application in the industry

Due to the Open Source approach many applications use the Z88 solver, its plot output, etc. Among other things Z88 has been adapted into a program to calculate point concentrated and linear loads on glass panes in building construction. Routines have been implemented to determine the Young's modulus and flexural strength of wood and a sub-application has been developed to calculate pressure vessels. Examples of companies using Z88 are
* Boeing: Missile Defense Systems (USA),
* Teledyne Brown Engineering (USA),
* Winimac Coil Spring Inc. (USA),
* Double D Design Ltd. (New Zealand),
* RINGSPANN GmbH (Germany),
* KTR Kupplungstechnik GmbH (Germany) und
* Neuson Hydrotec GmbH (Austria).
The availability of the source code and thus the transparency of applied algorithms and material models make Z88 ideal as a reference software for commercial tools such as NASTRAN and ABAQUS.

## Literature

* Frank Rieg, Reinhard Hackenschmidt, Bettina Alber-Laukant: Finite Element Analysis for Engineers: Basics and Practical Applications with Z88Aurora. Hanser Fachbuchverlag, München / Wien 2014, 5th Edition, ISBN 978-1-56990-487-9.
* Karl-Heinz Decker: Maschinenelemente – Funktion, Gestaltung und Berechnung. Hanser Fachbuchverlag, München / Wien 2014, 19. Auflage, ISBN 978-3-446-43856-9.
* Frank Rieg: Z88 – Das kompakte Finite Elemente System.