Am Anfang steht natürlich immer ein Modell, das in einem CAD-Programm erstellt werden muß. Ein hier an der FAN verwendetes Programm zu diesem Zweck heißt ProEngineer. Das Besondere daran ist, daß bei vielen CAD-Programmen oder Grafikprogrammen beispielsweise eine Linie dort plaziert wird, wo man sie mit der Maus hingesetzt hat und so lang ist, wie man sie eben gezogen hat. Beim ProEngineer ist eine Linie so lange, wie man daran schreibt, daß sie lang sein soll.
Werkstücke, bzw. Teile der Werkstücke werden erst einmal skizziert, das heißt ungenau gezeichnet. Deshalb ist es wichtig, danach jedes Element der Zeichnung korrekt zu bemaßen, das heißt die Länge bzw. den Winkel oder andere Maße anzugeben, damit das Programm die Form des Werkstücks erkennen kann. Es ist nicht möglich, die Bearbeitung einer Skizze zu beenden, bevor das nicht zur Zufriedenheit des Programms geschehen ist.
Hat man das jedoch erst einmal getan, so ist es ganz einfach möglich, die Zeichnung zu verändern, indem die Werte der Bemaßung geändert werden. Dann kann man einfach durch den Befehl "Regenerieren" dafür sorgen, daß sich das Programm die Zeichnung eben so "zurechtzieht", daß die Maße stimmen.
Nach der Erstellung des Werkstücks bzw. eines ersten Werkstück-Versuchs, der auf seine Tauglichkeit getestet werden soll, folgt die Übernahme in das FE-Programm, hier Marc bzw. Mentat. Mentat stellt die Oberfläche zur Verfügung und übernimmt einfachere Vorarbeiten. Marc ist hauptsächlich für die eigentliche Berechnung der Verformung, der Temperaturverteilung oder anderer Simulationsdaten zuständig, die für das jeweilige Modell interessant sind. Dazu später. Es wird am Einfachsten von Mentat aus gestartet und läuft im Hintergrund ab.
Als Ausgangspunkt in Mentat steht nun ein geometrisches Objekt zur Verfügung, das aus Punkten, Kurven und Oberflächen besteht. Zur FE-Berechnung muß es in Finite Elemente zerlegt werden. Wichtig ist außerdem der Begriff des Knotens, grob gesagt eine Ecke eines finiten Elements.
Die Vernetzung kann nun entweder "per Hand" oder automatisch geschehen. Die manuelle Methode erfordert viel Erfahrung und ist für dieses Seminar natürlich auch nicht sehr interessant.
Die "automatische" Vernetzung geht in drei Schritten vor sich, das Netz wächst dabei sozusagen immer um eine Dimension:
Im ersten Schritt werden die Kurven durch Knoten in Abschnitte unterteilt. Man hat dabei die Wahl, die Anzahl der Abschnitte pro Kurve vorzugeben oder den durchschnittlichen Abstand der Knoten zueinander. Die Anzahl der Wahlmöglichkeiten ist hier noch überschaubar und einfach verständlich.
Bereits hier sollte man sich jedoch genau überlegen, welche Wahl man trifft und welche Werte angemessen sind. Die hier gesetzten Knoten steuern später, wie der Vernetzungs-Algorithmus arbeiten wird und damit die Anzahl und Größe der einzelnen Elemente, zumindest beim Tetraeder-Netz.
Werden hier zu viele Knoten gesetzt, so entsteht später ein zu dichtes Netz, das unnötig viel Rechenzeit benötigt. Umgekehrt wird die Qualität des Ergebnisses durch zu wenige Knoten natürlich verschlechtert.
Auch hier ist Erfahrung wiederum das Beste. Ansonsten kann es passieren, daß man erst im 3. Schritt bemerkt, daß es ein Problem mit der im 1. Schritt gewählten Knotenzahl gegeben hat.
(In diesem Beispiel habe ich einfach fünf Abschnitte je Kurve verwendet. Besser ist natürlich, sich die einzelnen Kanten anzusehen und die Werte jeweils passend zu wählen.)
(Bei diesem Vorgang werden die Kurven einzeln nacheinander betrachtet und bearbeitet. Meist ist es aber besser, wenn bei gegenüberliegenden Kurven die Knoten auch einander gegenüber liegen. Dafür ist der Punkt "Match curve divisions" gedacht, der genau so eine Knotenausrichtung vornimmt.)
Im zweiten Schritt geht es um die Vernetzung der Oberflächen. Hier hat man die Wahl zwischen zwei Algorithmen für Dreiecke, zweien für Vierecke und einem gemischten Algorithmus. Der Overlay-Algorithmus benötigt die zuvor erzeugten Knoten nicht. Alle anderen orientieren sich daran. Für 3-dimensionale Vernetzung kommen nur die Dreiecks-Algorithmen in Frage. Für das Beispiel verwende ich den "Delaunay"-Algorithmus, der später noch einmal genauer besprochen wird.
(Bereits die Oberflächenvernetzung bei einem so einfachen Modell mit wenigen Knoten braucht etwa ??10?? Sekunden, deswegen kann man das schlecht live machen.)
Bevor nun der Körper vernetzt werden kann, müssen einige "Reparaturen" durchgeführt werden. Bei der Oberflächenvernetzung entstehen viele neue, teilweise nutzlose Knoten, die eng beieinander liegen. Mit dem "sweep"-Befehl lassen sich Knoten, deren Abstand zueinander kleiner oder gleich einem vorgegebenen Wert ist zusammenfassen.
Als nächstes gilt es, die outline-edge-length zu betrachten. Sie gibt darüber Auskunft, wie lange diejenigen Kanten insgesamt sind, die die Knoten verbinden, die Probleme verursachen. Diese Kanten lassen sich auch im Modell darstellen. Ohne die outline-edge-length auf Null zu setzen, ist es nicht möglich, eine Körpervernetzung durchzuführen.
Das Problem, das das Programm hat, hängt damit zusammen, daß das Werkstück nicht als ein Körper angesehen wird, sondern als Sammlung einzelner Oberflächen. Das Programm weiß somit nicht, welche Seite einer Fläche nun außen oder innen ist.
Ist die outline-edge-length bei 0 angekommen, kommt endlich der dritte Schritt, die Vernetzung des Körpers.
Hier stehen wiederum zwei Algorithmen zur Verfügung: Tet-Mesh zur Erzeugung von Tetraedern und Hex-Mesh zur Erzeugung von Hexaedern. Später mehr zu Hex-Mesh. Tet-Mesh benötigt naturgemäß dreieckige Oberflächenelemente, da viereckige keine Grundfläche eines Tetraeders darstellen können.
Wird Tet-Mesh benutzt, kann man erst jetzt beurteilen, ob die im ersten Schritt gewählten Knotenabstände richtig waren. Wenn das Programm nun beginnt, 10 Minuten lang an dem Netz für ein so einfaches Objekt herumzurechnen, kann man davon ausgehen, daß die Knoten zu dicht gesetzt waren.
Ist die Körpervernetzung dagegen geglückt, kann man anfangen, die eigentliche Simulation durchzuführen.
Das Marc-System beherrscht vielfältige Möglichkeiten der Simulation, darunter auch Schalldruck, Temperaturverteilungen und natürlich dynamische Abläufe, wie bei Crash-Tests.
Je nach Art der Simulation werden verschiedene Informationen über das Material/die Materialien gebraucht, aus dem das Werkstück besteht: Z. B. Wärmeleitfähigkeit, Masse, Bruchfestigkeit.
Das Beispiel hier wird nur eine statische Simulation benutzt, bei der das Werkstück an einer Seite gehalten wird und an einer Kante gezogen wird Für die Berechnung werden deshalb hier nur zwei Werte gebraucht: Youngs modulus (E-Modul) und die Poisson ratio.
Grob gesagt gibt der E-Modul an, welche Kraft F für eine Längenänderung (Streckung) delta-l erforderlich ist. Am einfachsten erinnert man sich dabei an die Federkonstante aus der Schulphysik.
Die Poisson ratio gibt bei einer Streckung des Objekts das Verhältnis zwischen Längenverkürzung quer zur Kraftrichtung und der Verlängerung längs Kraftrichtung an.
Diese Materialdaten werden dann den FE zugewiesen. Dabei können natürlich auch mehrere Materialien für unterschiedliche Bereiche verwendet werden.
Der nächste Punkt sind die zu stellenden Randbedingungen, hier konkret die von außen einwirkenden Verschiebungen des Werkstücks. Im Beispiel wird das Werkstück auf einer Seite festgehalten, mathematisch: Eine Verschiebung der Knoten auf der Oberfläche von 0 entlang aller Achsen. An einer Kante wird eine Kraft von 70 000 N, grob 70 Tonnen angelegt, also in positiver Z-Richtung.
Abschließend noch einstellen, welche Daten im Ergebnis enthalten sein sollen und überprüfen, ob die Randbedingungen aktiviert sind.
Damit ist alles definiert, was das Programm wissen muß und die Berechnungen können gestartet werden.
Nachdem die Berechnungen beendet sind (in Wahrheit hat das nur ein paar Sekunden gedauert), kann man zur Auswertung kommen.
Interessant bei diesem Modell sind natürlich vor allem die Verschiebungen des Werkstücks.
Näher untersucht habe ich hier nur den Maximalwert in Z-Richtung und den Maximal und Minimalwert in Y-Richtung.
Was bei der Tetra-Tabelle auffällt, ist, daß der Z-Max-Wert und der Y-Durchschnitt immer größer werden. Das liegt daran, daß bei einer Verformung dieser Art die Länge des Balkens kubisch eingeht. Das kann durch lineare Funktionen nur sehr schlecht angenähert werden. Die Annäherung bessert sich natürlich, wenn die Anzahl der Abschnitte steigt.
Von vorneherein besser ist die Annäherung bei quadratischem Ansatz.
Dennoch lag der mit einem anderen Verfahren berechnete Referenzwert für Z-Max bei 0,2581, für Y-Durchschnitt: 2,0385E-02
Um diese Werte zu erreichen, müßte man selbst bei quadratischem Ansatz mit sehr hohen Knoten- und Elementzahlen rechnen. Dabei hat die Tri Adv Berechnung mit 10 Segmenten bei quadratischem Ansatz bereits fast 4,7 Stunden gedauert, Tri Delaunay gut 6 Stunden
Neben den Tetraedern bietet Marc aber auch ein Mesh-Programm mit Hexaedern an.
Ein solches Hexaeder-Netz besteht hauptsächlich aus kleinen Würfelchen oder Quaderchen, deren Kantenlänge vorher eingestellt wurde. Wie die Ränder verarbeitet werden sollen, ist das größte Problem.
Zwei Fragen bleiben bei diesen Hexaedern allerdings offen:
Zunächst einmal benötigt das Programm irgendein fertiges Oberflächennetz als Input. Dieses Netz benutzt es dann aber nur als Beschreibung der Geometrie des Objekts. Vorherige Einstellungen wie z. B. die Anzahl der Abschnitte sind fast nebensächlich. Warum nicht einfach die vorhandene Geometrie benutzt wird, ist Frage Nummer 1.
Ebenfalls nicht ganz klar ist, warum Hexaeder viel besser funktionieren als Tetraeder, selbst wenn Knotenzahl und Elementzahl wesentlich geringer sind. Sie tun es allerdings wirklich, wie gleich zu sehen sein wird.
Die Berechnungen am unteren Ende der Hexaeder-Tabelle wurden als Referenzwerte benutzt.