17.09.2008 1
10. Bayreuther 3D-Konstrukteurstag am 24. September 2008
Speicherallokation und
Solveralgorithmen im Rahmen der Finite-Elemente-Analyse (FEA)
- mit Praxisvorführung
(Z88V13-Forschungsversion) -
Dipl.-Ing. Bernd Roith
Dipl.-Ing. Martin Zimmermann
Prof. Dr.-Ing. Frank Rieg
Dipl.-Ing. Bernd Roith, Dipl.-Ing. Martin Zimmermann
17.09.2008 2
1. Grundlagen der Finiten Elemente Analyse
1.1 Aufgabenstellung
1.2 Finite Elemente Theorie
1.3 Was heißt das für die Softwarelösung ?
2. Finite Elemente Programm Z88
2.1 Aufbau und Module 2.2 Funktionsumfang 2.3 Praxisbeispiel
3. Sparsebuilder
3.1 Theorie und Implementierung in Z88 3.2 Praxistests
3.3 Praxisbeispiel
4. Finite Elemente Solver
4.1 Theorie und Implementierung in Z88 4.2 Praxistests
4.3 Praxisbeispiel
4.4 Einfluss der Diskretisierung bei Finite Element Modellen
5. Zusammenfassung
Gliederung
17.09.2008 3
Aufgabenstellung
Moderner Entwicklungsprozess Verbesserungen an der Simulation
Methoden- entwicklung
Grundlagen- entwicklung
Prozesssimulation
Geschwindigkeit (Performance)
Andere Methodenansätze
Verbesserung der Algorithmen
Verlässlichkeit (Kontrolle)
FEA-Methoden
Numerische Methoden
Residuum 1E-9
Residuum 1E-9 Residuum 1E-10Residuum 1E-10
Numerische Methoden
Aus BMBF-Projekt INSOFT
Dipl.-Ing. Bernd Roith, Dipl.-Ing. Martin Zimmermann
17.09.2008 4
Grundlagen der Finiten Elemente Analyse
Finite Elemente Theorie
1. physikalisches ProblemKraft F
2. Diskretisierung der Geometrie
Vernetzung der Geometrie:
Kontinuumselement Hexaeder
linear, h-Methode
8 Knoten je 3 Freiheiten
quadratisch, h-Methode Kontinuumselement Tetraeder
10 Knoten je 3 Freiheiten
Balken
Angabe von Geometriewerten nötig (z.B. Randfaserabstand,…)
2 Knoten je 6 Freiheiten
2. Diskretisierung der Geometrie 3. Einzelelementbeschreibung
F u
K
Hooksches Gesetz
r Kraftvekto F
ngsvektor Verschiebu
u
trix figkeitsma Gesamtstei
K
F u
dV B C B
E V
T
E
t r s
J t
r s C B t r s
B
i j k i j k i j ki j
T k
k j i
n n nr s k
, , det
, , ,
,
1 1 1
r s
t
Integrationsordnung 2 Anzahl Gaußpkt: 23
2. Diskretisierung der Geometrie 3. Einzelelementbeschreibung 4. Gesamtsteifigkeitsmatrix
F u
K
Hooksches Gesetz
r Kraftvekto F
ngsvektor Verschiebu
u
trix figkeitsma Gesamtstei
K
F u
dV B C B
E V
T
E
2. Diskretisierung der Geometrie 3. Einzelelementbeschreibung 4. Gesamtsteifigkeitsmatrix 5. Randbedingungen
F u
K
Hooksches Gesetz
Kraft F
Kraft F = 100 N
1 5 7
y x z
FKnoten 1z = -25 FKnoten 5z = -50 FKnoten 7z = -25
n n
F F
F
F
1 2 1
0
2
24
uKnoten 2x = 0 uKnoten 2y = 0 uKnoten 2z = 0
Spalte KKnoten 2x,y,z = 0 Zeile KKnoten 2x,y,z = 0 Diagonale KKnoten 2x,y,z = 1
2. Diskretisierung der Geometrie 3. Einzelelementbeschreibung 4. Gesamtsteifigkeitsmatrix 5. Randbedingungen
6. mathematischer Gleichungslöser
F u
K
Hooksches Gesetz
y x z
b x A
Direkter Solver
Iterativer Solver
u B C
u
Spannungen
Verschiebungen
2. Diskretisierung der Geometrie 3. Einzelelementbeschreibung 4. Gesamtsteifigkeitsmatrix 5. Randbedingungen
6. mathematischer Gleichungslöser 7. Ergebnisse
y x z
Undeformiertes Ausgangsmodel
deformiertes Model
17.09.2008 5
Ansatz für die Softwarelösung
Prozessablauf der Softwarelösung
Erstellung des phys. Modells
mathematisches Problem
ASCII-Darstellung Z88-Darstellung
Memory-Darstellung
physikalisch/optische Darstellung
Quelle: Dissertation Martin Zimmermann, Universität Bayreuth, 2008
Dipl.-Ing. Bernd Roith, Dipl.-Ing. Martin Zimmermann
17.09.2008 6
Finite Elemente Programm Z88
Aufbau und Module
Schnittstellenkonverter:
- Cosmos
- Nastran (bdf) - Abaqus (inp)
Sparsebuilder (für „Nicht-Null-Speicherung“ der Matrix K)
Finite Element Analyse Solver (rot: Iterativ, blau: direkt)
Spannungs- und Knotenkraftprozessor
Grafische Darstellung/Auswertung (opengl)
Steuerdatei (Speicherverwaltung für die einzelnen Module) Verfügbarkeit (32-64-Bit)
Win32 Win64 LINUX 32
LINUX 64
SGI64, SUN64
Pointer 4 8 4 8 8
FR_XINT 4 4 4 4 8
FR_XLONG 4 4 4 8 8
FR_XLOLO 4 8 8 8 8
FR_XDOUB 8 8 8 8 8
FR_XQUAD 8 8 / 16 12 / 16 12 / 16 16
17.09.2008 7
Finite Elemente Programm Z88
Funktionsumfang
Schnittstellenkonverter: MSC.Patran, MSC.Mentat, UGS NX 4.0, PTC Pro/ENGINEER Wildfire, Simufact, Abaqus CAE 6.3
Mapped Mesher mit Hilfe von Superelementen
Sparse-Solver sowohl Direkt als auch Iterative (CG mit SOR- Präkonditionierung und CG mit unvollständiger Choleskyzerlegung)
- Elementtypen: Stäbe, Balken, Kontinuumselemente (Tetraeder, Hexaeder (linear & quadratisch)), Platten, Schalen
- Randbedingungen: Kräfte, Verschiebungen, homogene
Randbedingungen, Drücke, plastische und elastische Initaldehnungen Spannungsprozessor (Gestaltänderungsenergiehypothese,
Schubspannungshypothese, Normalspannungshypothese) Knotenkraftprozessor
Opengl Darstellungsmodul: verformt, unverformt, FE-Netz, Verschiebungen, Spannungen (Gauß-Punkten), Randbedingungen
Dipl.-Ing. Bernd Roith, Dipl.-Ing. Martin Zimmermann
17.09.2008 8
Finite Elemente Programm Z88
Praxisbeispiel
Z88V13
Einführung und Gesamtpräsentation
Lagerung (Fixierung)
Kraft in Z-Richtung aus Pro/ENGINEER Wildfire 3.0 NASTRAN-Format
Randbedingungen
17.09.2008 9
Sparsebuilder 1
-Theorie 1-
- symmetrisch - dünn besetzt - Problem:
- Feststellung der Stellen der dünnen Besetzung, - Abspeicherungsverfahren
der besetzten Stellen
F u
K
F u
dV B C B
E V
T
E
Symbolisches Abbild einer Steifigkeitsmatrix (Nicht-Null-Elemente gekennzeichnet)
Dipl.-Ing. Bernd Roith, Dipl.-Ing. Martin Zimmermann
17.09.2008 10
Sparsebuilder 1
-Theorie 2-
- 1. Variante: symbolische Kompilation (elementweises Vorgehen) - 2. Variante: NCP-Verfahren (Node-Cross-Prinzip)
((4,4) (4,5) (4,6) (1234,128) …)
(…(125,126) (125,125) (123,258) (123,258) (125,125) …)
((4,4) (4,5) (4,6) … (123,258) (123,258) (125,125) (125,125) (125,126) … (1234,128) …) ...
((4,4) (4,5) (4,6) … (123,258) (125,125) (125,126) (1234,128) …)
Quelle: Dissertation Martin Zimmermann, Universität Bayreuth, 2008
17.09.2008 11
Sparsebuilder 1
-Theorie 3-
- 1. Variante: symbolische Kompilation (elementweises Vorgehen)
- 2. Variante: NCP-Verfahren (Node-Cross-Prinzip) (zeilenweises Vorgehen) - Nachteil der symbolischen Kompilation ist das Ausführen der
Sortieroperationen über große Felder und das Ausführen des gesamten Kompilationsalgorithmus
- Speicher- und zeitintensiv NCP:
-zeilenweise (Freiheitsgradweise) Erzeugung der Besetzungspositionen der Matrix
-> 1-dimensionaler Charakter des Algorithmus - Sortieroperationen auf kleine Felder
1 X
2
Zeile 5 Freiheitsgrad 5
Knoten 17 Element 1
Spalte 1..17, 38..56
Freiheitsgrad 1..17, 38..56 Knoten 17…20,100…103 Element 1,2
Quelle: Dissertation Martin Zimmermann, Universität Bayreuth, 2008
Dipl.-Ing. Bernd Roith, Dipl.-Ing. Martin Zimmermann
17.09.2008 12
Sparsebuilder 2
-Praxistests-
9 11 13 15 17 19 21
1,0E+03 1,0E+04 1,0E+05 1,0E+06 1,0E+07
Anzahl Freiheitgrade Zeit des Sparse-Builder Prinzip 2 in % zu Prinzip 1
1,0E+02 1,0E+03 1,0E+04 1,0E+05 1,0E+06 1,0E+07
linear-grob quadratisch- grob
linear-auto quadratisch- auto
linear-fein quadratisch- fein Vernetzungsgrad
Knoten
Luefterrad Kurbelwelle Kolben
17.09.2008 13
Finite Elemente Programm Z88
Praxisbeispiel
Vergleich Sparsebuilder Z88V12 zu Z88V13
Z88V12 Z88V13
FE-Netz
Dipl.-Ing. Bernd Roith, Dipl.-Ing. Martin Zimmermann
17.09.2008 14
SORCG
Finite Elemente Solver 1
- Theorie und Implementierung in Z88 -
F u
K
Direkte Lösung
z.B. Solver PARDISO
Iterative Lösung z.B. SOLVER CG
F E D K
R U L Q P
K P
TP
TK P
Permutationsmatrix:
- speicher- und algorithmen-
optimiertes Zeilen-/ Spaltentauschen
Relaxationsfaktor zur
Konvergenzbeschleunigung
pivotisierende Matrizen linke und rechte Dreiecksmatrix
17.09.2008 15
Finite Elemente Solver 2
- Praxistest Beispiele -
Dipl.-Ing. Bernd Roith, Dipl.-Ing. Martin Zimmermann
17.09.2008 16
Finite Elemente Solver 3
- Praxistest Auswertung -
0 20 40 60 80 100 120 140 160
Kolben linear-grob
Kolben linear-auto
Kolben linear-fein
Kolben quadratisch-
grob
Kolben quadratisch-
auto
Kolben quadratisch-
fein Zeit des FE-Kernels in % zu Zeit des FE-Kernels mit SOR
SIC
Pardiso mit 1 Prozessor Pardiso mit 4 Prozessoren
- iterative Solver: SOR-, SIC-Verfahren und direkte Solver (Single- und Multiprozessor im Vergleich)
- Mit Parallelisierung lässt sich auf dem FE-Sektor ein Rechenvorgang beschleunigen - das Verhältnis des
Zeitbedarfs von
Iterationssolvern und direkten Solvern ist Problemabhängig
17.09.2008 17
Finite Elemente Solver 3
- Einfluss der Diskretisierung bei FE-Modellen -
0 20 40 60 80 100 120
0,1 1 10 100
relative Elementdichte [%,log]
relative Verschiebungs-/Spannungsantwort [%]
Welle (linear), Spannungen Welle (linear), Verschiebungen Luefter (linear), Spannungen Luefter (linear), Verschiebungen Welle (quadratisch), Spannungen Welle (quadratisch), Verschiebungen Luefter (quadratisch), Spannungen Luefter (quadratisch), Verschiebungen
- Diskretisierung beeinflusst maßgeblich den Raum der zur Verfügung stehenden Lösungen
- zentrales Problem in der Praxis:
1. Meist wird nur mit einer Diskretisierung gerechnet.
2. Man weiß erst mit mehreren Lösungen unterschiedlicher Diskretisierungen, wie
vertrauenswürdig ein Ergebnis ist.
Dipl.-Ing. Bernd Roith, Dipl.-Ing. Martin Zimmermann
17.09.2008 18
Finite Elemente Programm Z88
Praxisbeispiel
Finite Elemente Solver Z88V13 - Direkt (Pardiso) Z88V13
Spannungen Verschiebungen x
17.09.2008 19
Zusammenfassung
- Speicherverwaltung und Lösung großer linearer Gl.-Systeme -
- Eine effiziente Speicherverwaltung spielt für die Berechnung großer Strukturen eine entscheidende Rolle. Durch die Untersuchung und Verbesserung der damit verbundenen Algorithmen kann Zeit und Rechenspeicher gespart werden.
Simulationen als Teil des Produktentwicklungsprozesses werden damit effizienter durchführbar.
- Für große Strukturen ist die Sparse-Speichertechnik zur Realisierung entscheidend.
- Sparse-Solver ermöglichen die Berechnung der großen Gleichungssysteme. Es ist vorab nicht abzuschätzen mit welcher Solvervariante man schneller und
effektiver zum Ziel kommt.
- Sowohl iterative, als auch direkte Sparse-Solver besitzen daher eine Daseinsberechtigung.