# Z88 (Software)

Z88 ist ein Softwarepaket für die Finite-Elemente-Methode (FEM) und die Topologieoptimierung in der Struktur- und Kontinuumsmechanik. Die Software wird von einem Team unter der Leitung von Frank Rieg an der Universität Bayreuth seit 1985 entwickelt und von einer Reihe von Universitäten in Lehre und Forschung sowie mehreren kleinen und mittleren Unternehmen in der Produktentwicklung eingesetzt. Z88 kann sowohl zwei- als auch dreidimensionale Elemententypen mit linearem, quadratischem oder teilweise auch kubischem Ansatz berechnen. Zur Software gehören mehrere Solver und zwei Post-Prozessoren. Z88 läuft plattformunabhängig und ist in der SUSE-Linux-Distribution enthalten. 2007 ergaben Benchmark-Vergleiche des Solvers eine Leistung, die der kommerzieller Programme nicht nachstand.

## Geschichte und Funktionen
### Überblick

Die Software wurde von Frank Rieg, einem Universitätsprofessor für Konstruktionslehre und CAD an der Universität Bayreuth, entwickelt. Die ursprünglichen Quellen wurden in Fortran 77 geschrieben. In den frühen 1990er Jahren wurde das Programm in die Programmiersprache C portiert. Es existieren zwei Programme zur Finite-Elemente-Analyse:
* Z88OS (aktuelle Version seit Juli 2017: V15.0) ist unter den Bedingungen der GNU-GPL als freie Software mit Quelltext verfügbar. Durch die modulare Struktur des Programms und die Verfügbarkeit des Source Codes können eigene Erweiterungen eingearbeitet und verwendet werden. So wurden mehrere 2D- und 3D-Kontinuumselemente für Spezialfälle (zum Beispiel anisotropes Schalenelement) von Anwendern entwickelt.
* Z88Aurora (aktuelle Version seit April 2019: V5) bezeichnete ursprünglich die grafische Benutzeroberfläche für das Finite-Elemente-Analyse-Programm Z88. Durch diverse Weiterentwicklungen hat Z88Aurora mittlerweile einen deutlich größeren Funktionsumfang als Z88OS. Die Software ist Freeware, der Quelltext ist allerdings nicht offengelegt.
Zusätzlich gibt es seit 2014 zwei Apps für Android-Endgeräte:
* Z88Tina ist ein Freeware-FEA-Programm für Android-Smartphones oder -Tablets. Mit Z88Tina können zum einen Stäbe und Balken, zum anderen auch Kontinuumselemente wie Scheiben, Platten oder Tori berechnet werden.
* Z88Mobile ist wie alle Z88-Produkte kostenlos. Diese App bietet zwei verschiedene Modi (Basic und Advanced) an und ist über Touch-Steuerung zu bedienen.
Seit 2016 ergänzt ein Programm für die Topologieoptimierung die Z88 Produktfamilie:
* Z88Arion (aktuelle Version seit April 2021: V3) ist ein kostenloses Programm für die Topologieoptimierung und verfügt über drei zur Auswahl stehende Optimierungsalgorithmen (OC: Optimality Criteria, SKO: Soft Kill Option, TOSS: Topology Optimization for Stiffness and Stress).

### Funktionen von Z88Aurora

Die aktuelle Version von Z88Aurora beinhaltet folgende Berechnungsmodule:
* Bei linear statischen Analysen wird davon ausgegangen, dass das Ergebnis proportional zu den aufgebrachten Lasten ist.
* Nichtlineare Analysen kommen bei geometrischen Nichtlinearitäten oder Materialnichtlinearitäten zum Einsatz.
* Mit thermischen und thermomechanischen Analysen können neben Ergebnissen wie Temperatur oder Wärmestrom, auch thermomechanische Verschiebungen oder Spannungen ermittelt werden. Seit Z88Aurora V5 ist zudem Konvektion als thermische Randbedingung implementiert.
* Durch Eigenschwingungsberechnungen (Modalanalysen) können die Eigenfrequenzen des Systems ermittelt werden.
* Mit Hilfe des Kontaktmoduls können interagierende Bauteile bzw. Baugruppen simuliert werden. Ein integriertes Bauteilverwaltungstool ermöglicht eine effektive Handhabung der Baugruppen. Es gibt die Möglichkeit verklebten oder reibungsfreien Kontakt abzubilden. Weiterhin können über die Kontakteinstellungen die Art des Kontakts (Knoten-Flächen- oder Flächen-Flächen-Kontakt), die mathematische Methode (Lagrange-, gestörtes Lagrange- oder Penalty-Verfahren) und die Richtung der Kontaktsteifigkeit (in tangentialer und normaler Richtung) gesteuert werden. Bei diesem Modul können nur lineare und quadratische Tetraeder und Hexaeder als Elementtyp verwendet werden. Weiterhin steht das Kontaktmodul nur für lineare, mechanische Festigkeitsanalysen zur Verfügung.
Unabhängig vom gewählten Modul kann die Finite-Elemente-Analyse mit Z88Aurora in drei Bereiche gegliedert werden: Präprozessor, Solver (Prozessor) und Postprozessor.
Im Präprozessor wird das FE-Modell aufgebaut. Die zu berechnende Struktur kann direkt in Z88Aurora aus Strukturelementen wie Balken und Stäben erstellt oder in verschiedenen Formaten importiert werden. Geometrien können in Form von STEP-Dateien (*.STP), STL-Dateien im ASCII- und Binär-Format (*.STL) oder Autocad-Dateien (*.DXF) eingelesen werden. Für FE-Strukturdaten ist der Import von NASTRAN- (*.NAS), ABAQUS- (*.INP), ANSYS- (*.ANS) oder COSMOS-Dateien (*.COS) möglich. Z88Aurora beinhaltet insgesamt 25 verschiedene Element-Typen, darunter 2D-Elemente (Stab, Balken, Scheibe, Welle, Torus) und 3D-Elemente (Stab, Balken, lineare und quadratische Tetraeder und Hexaeder). Die Vernetzung erfolgt über zwei Freeware Tetraedervernetzer (TetGen von Dr. Hang Si (WIAS Berlin) und NETGEN von Prof. Joachim Schöberl (TU Wien)). Weiterhin dienen ein Tetraederverfeinerer für bestehende Tetraedervernetzungen (linear und quadratisch), ein Mapped-Mesher für Superelementstrukturen (Hexaeder, Schalen usw.), ein Schalenaufdicker, welcher aus 2D Schalen Volumenschalen produziert und eine Trimmfunktion um ebene Schnitte aus 3D-Bauteilen zu erzeugen (Modellreduktion) zur Verfeinerung des Modells. Das Setmanagement ermöglicht eine einfache Selektion von Flächen, Knoten und Elemente, um diese mit Randbedingungen, Materialien etc. zu verknüpfen. die Materialbdatenbank enthält 52 vordefinierte Werkstoffe und ist vom Benutzer editier- und erweiterbar. Verschiedene Randbedingungen wie Kräfte, Verschiebungen, Drucklasten oder thermische Randbedingungen können über das Graphische User Interface aufgegeben werden.
Der Solver berechnet je nach aktivem Berechnungsmodul Verschiebungen, Spannungen, Temperaturen und Knotenkräfte. Für die lineare Finite-Elemente-Analyse bietet Z88Aurora vier numerische Gleichungslöser: ein direkter Cholesky-Gleichungslöser mit Jenningsspeicherung für kleine Balken und Stab-Strukturen, zwei unterschiedlich präkonditionierte, iterative Gleichungslöser mit Sparse-Speicherung für große Finite-Elemente-Strukturen und einen mehrprozessorfähigen Sparse-Solver für mittelgroße Finite-Elemente-Strukturen. Für stationär thermische bzw. thermomechanische Berechnungen werden die iterativen Gleichungslöser und der direkte Multicore-Gleichungslöser verwendet. Für nichtlineare Berechnungen steht ein iterativer Solver zur Verfügung. Der Gleichungslöser zur Eigenschwingungsberechnung verwendet das Lanczos-Verfahren.
Im Postprozessor werden die Ergebnisse aus den Solvern visualisiert. Hierbei ist eine Filterung der Ergebnisse und Clipping des Bauteils möglich. Zudem können verschiedene Darstellungen und Elemente ein- und ausgeblendet werden. Einzelne Ergebnisse können im Text- bzw. CSV-Format exportiert werden und durch die Analysefunktion ist es möglich, Werte einzelner Knoten auszugeben. Zudem kann die verformte Strukturen im STL-Format ausgegeben werden und so in anderen Programmen weiterverarbeitet werden. Für eine vereinfachte Dokumentation ist zudem ein Bildexport der aktuellen Modellansicht möglich.
Die Software hat eine Windows-Bedienoberfläche mit kontextsensitiver Online-Hilfe. Handbücher zeigen den Umgang mit Z88 und Z88Aurora an Beispielen. Die Freeware ist verfügbar für Windows, Linux und OS X.

### Funktionen von Z88Arion

Bei der Topologieoptimierung wird eine vorhandene Struktur im Hinblick auf eine vorgegebene Zielfunktion durch Veränderung der Topologieklasse in einem definierten Bauraum optimiert. So soll durch das Entfernen von Material an geeigneten Stellen eine optimale Struktur erzeugt werden. Ziel der Topologieoptimierung ist die automatische Erzeugung einer optimalen Struktur unter definierten Lasten im virtuellen Produktentwicklungsprozess zu ermöglichen. Basis stellt ein Ausgangsentwurf dar. Eine Strukturanalyse liefert Systemantworten wie beispielsweise Verformungen, Spannungen oder Eigenfrequenzen, die vom Optimierungsmodell ausgewertet werden. An dieser Stelle werden das Modell und die Designvariablen zur Optimierung definiert. Es werden nicht nur die Zielfunktion, sondern auch Nebenbedingungen und Restriktionen festgelegt. Das Optimierungsproblem wird über einen Algorithmus, welcher die Eigenschaften der Designvariablen variiert, gelöst. Am Ende steht ein verbesserter Entwurf, welcher die Schleife solange durchläuft bis ein optimaler Entwurf, der sogenannte Designvorschlag, erreicht ist.
Bei Z88Arion kann der Benutzer je nach Ziel der Topologieoptimierung zwischen den folgenden Verfahren wählen:
* Optimality Criteria (OC)
* Soft Kill Option (SKO)
* Topology Optimization for Stiffness and Stress (TOSS)
Das OC-Verfahren erzeugt einen Designvorschlag, der eine minimale Nachgiebigkeit bzw. maximale Steifigkeit in Bezug auf ein vorher festgelegtes relatives Volumen aufweist. Beim SKO-Verfahren findet eine Optimierung auf maximale Festigkeit statt. Der eigens vom Lehrstuhl entwickelte TOSS-Algorithmus stellt eine Kombination beider Methoden dar. Dieses Hybridverfahren aus OC und SKO bezieht sich auf die optimale, steife Struktur des OC-Verfahrens und generiert daraus einen spannungsoptimierten Designvorschlag. Dabei wird Material an überbelasteten Stellen wieder angelagert und an unterbelasteten Stellen entfernt.
Im Postprozessor wird der ermittelte Designvorschlag angezeigt. Der Benutzer kann hier z. B. verschiedene Iterationen zu betrachten und die Darstellungsgrenzen zu variieren. Zudem ist es seit Z88Arion V2 möglich, die entstandene Struktur zu glätten und als STL zu exportieren, um so eine direkte Weiterverwendung des optimierten Bauteils in anderen Programmen zu gewährleisten. Weiterhin existiert eine direkte Schnittstelle zu Z88Aurora.

## Einsatz
### Einsatz in Forschung und Lehre

Seit 1998 dient Z88 im Rahmen der Vorlesung an der Universität Bayreuth der Ausbildung von Ingenieurstudenten. Durch die mögliche manuelle Eingabe der Struktur- und Randbedingungsdaten sowie der Lastsätze veranschaulicht es den Studierenden die Funktionsweise eines Finite-Elemente-Programms. Auf Grund der offenen Dateiquellen kann die Software für Forschungszwecke im FE-Bereich eingesetzt und entsprechend modifiziert werden.
Unter anderem wird Z88 im Rahmen von Lehre und Forschung an der HS Ravensburg-Weingarten, der Universität Ioannina, der Penn State University, der Universidad de Buenos Aires, der Universität Cagliari, der Universität Maribor, und an der Zonguldak Karaelmas Üniversitesi eingesetzt. Im Rahmen von Diplom- und Seminararbeiten wurde Z88 bisher unter anderem an den Hochschulen Darmstadt, Hamburg-Harburg, München, Karlsruhe, Bern und Peking verwendet.
Zusätzlich zu Präsenz-Lehrveranstaltungen findet Z88 in zwei Lehrbüchern des Maschinenbaus Einsatz. Das Buch Finite Elemente Analyse für Ingenieure: Eine leicht verständliche Einführung wurde bisher über 6.000 mal verkauft. Dieses Fachbuch wendet sich an den Einsteiger in die Finite-Elemente-Analyse und benutzt Z88, damit der Leser alle im Buch angeführten Beispiele am eigenen Rechner nachvollziehen kann. Im Lehrbuch Maschinenelemente – Funktion, Gestaltung und Berechnung von Decker (bisher 19 Auflagen) wird anhand praktischer Anwendungen mit Z88 die Berechnung von Maschinenelementen mit der Finiten-Elemente-Analyse gelehrt.

### Einsatz in der Industrie

Durch den Open-Source Ansatz greifen viele Anwendungen auf Z88-Solver, Plotausgaben und ähnliches zurück. Unter anderem wurde Z88 für ein Programm zur Berechnung von punkt- und linienförmigen Lasten auf Glasplatten im Hochbaubereich erweitert. Für die Bestimmung von Elastizitätsmoduln und Biegefestigkeiten von Holz wurden Routinen implementiert und ein Unterprogramm in Z88 zur Berechnung von Druckbehältern entwickelt. Z88 wird unter anderem von
* Boeing: Missile Defense Systems (USA),
* Teledyne Brown Engineering (USA),
* Winimac Coil Spring Inc. (USA),
* Double D Design Ltd. (Neuseeland),
* RINGSPANN GmbH (Deutschland),
* KTR Kupplungstechnik GmbH (Deutschland) und
* Neuson Hydrotec GmbH (Österreich)
verwendet.
Durch die Verfügbarkeit des Programmcodes und somit der Nachvollziehbarkeit der verwendeten Algorithmen und Materialmodelle diente Z88 wiederholt als Vergleichsberechnungsprogramm für kommerzielle Tools wie Nastran und ABAQUS.