Altair Anwendertreffen 26.11.2010 p. 1 Einsatz von HyperMesh in der Lehre mit dem Fokus der Netzgenerierung für Fluent Kontakt Dr.-Ing. Iris Pantle Dozentin Duale Hochschule BW in Karlsruhe Vorlesung: Simulationstechnik E-mail: baka-iris@pantles.de
Altair Anwendertreffen 26.11.2010 p. 2 Überblick 1. VL Strömungstechnik an der DHBW KA? 2. Prinzipien der Netzgenerierung 3. Approximationsprinzip 4. Strömungslöser 5. Netze selbst generieren 6. Anwendung von HyperMesh 7. Check in Fluent 8. Konfiguration weiterer Strömungsfälle 9. Ende
VL Simulationstechnik? Inhalt? Schwerpunkt CFD (!): Grundlagen der Strömungssimulation Prinzipien der CFD-Netzgenerierung Handhabung von gängigen kommerziellen Werkzeugen Rahmenbedingungen? 22 LE á 45 min. für das 6. Semester, Studiengang Technik/Maschinenbau/Produktionstechnik Hard- und Software-Ausstattung der DHBW CFD-Software Fluent Netzgeneratoren Gambit und HyperMesh Warum HyperMesh? Anfangs Verwendung von Gambit Gambit erwies sich als ergonomisch veraltet, wird nicht weiterentwickelt HyperMesh wirkt komfortabler Frage: Ist die Netzgenerierung mit HyperMesh für CFD mit Fluent Lehre-tauglich? 1. VL Simulationstechnik an der DHBW KA? Altair Anwendertreffen 26.11.2010 p. 3
VL Simulationstechnik? Strömung um einen zylindrischen Stab - Strömung von links unten nach rechts oben (X-Richtung) - hinter Zylinder die entwickelte, sog. von Kármán sche Wirbelstraße - dargestellt: Komponente v (entlang Y-Richtung) des Geschwindigkeitsvektors u im kartesischen XYZ-Koordinatensystem (Z-Richtung Zylinderachse) u = u v w. 1. VL Simulationstechnik an der DHBW KA? Altair Anwendertreffen 26.11.2010 p. 4
Netzgenerierung Überlegungen zur CFD-Netzgenerierung, die den Studenten vermittelt werden sollen: Aubau und Form des Netzes bestimmen Güte der Simulation! Was ist ein gutes Netz? Wie beeinflussen die Netzweiten, die Netzränder und die Wahl der Randbedingungen dort meine Simulation? Wo wird hohe Auflösung benötigt, wo nicht? Wo treten große Gradienten auf? Wo können überhaupt sinnvolle Randbediungen gesetzt werden? Welche Informationen brauche ich dazu im voraus? Auf welcher Basis konfiguriere ich meine Randbedingungen und das Netz? Auf den folgenden Folien wird die Netzgenerierung am Beispiel der laminaren Überströmung einer ebenen Platte dargestellt, wie sie im Rahmen der Vorlesung als Einstieg in das Thema mit den Studenten erarbeitet wird. Im Anschluss werden Screenshots der wichtigsten Schritte mit Hyper- Mesh und Fluent präsentiert! 2. Prinzipien der Netzgenerierung Altair Anwendertreffen 26.11.2010 p. 5
Netzgenerierung 3 Schritte Geometrie- Netz- Solverfromat erzeugung erzeugung schreiben per Hand/ unstrukt./ spezifisch/ per CAD blockstrukt. standardisiert z.b. CGNS In unserem Fall: direkt in Gambit in Gambit in *.msh oder *.cas oder in HyperMesh, oder in HyperMesh (Fluent-Formate) oder aus CAD- schreiben Software (CATIA, ProE) 2. Prinzipien der Netzgenerierung Altair Anwendertreffen 26.11.2010 p. 6
Netzgenerierung Nomenklatur Geometrie gemischte Systeme Netz Point Node Vertex Curve Line Edge Surface Surface Mesh Face (Body) Volume Mesh Block Netz-Objekte werden auf Geometrie-Objekte assoziiert/projiziert Projektionsgenauigkeit wichtig (abhängig vom Softwarepaket für Netzgenerierung): Was optisch verbunden aussieht, kann numerisch eine Lücke aufweisen, aufgrund der endlichen Rechnergenauigkeit! Punkteverteilung auf Edges = Netzknoten (Nodes) und -zellen/-elemente (Cells/Elements) = Netz (Mesh, Grid) Anmerkung: Nomenklatur abhängig von Netzgenerator-Software manchmal abweichend, manchmal Geometrie- und Netzbegriffe verschmelzend, z.b. Node statt Point und/oder Vertex 2. Prinzipien der Netzgenerierung Altair Anwendertreffen 26.11.2010 p. 7
Approximationsprinzip Simulationen ökonomisch gestalten! Geometrische Approximationen 3D = 2D Eliminieren von Geomtrie-Elementen, die in ihrer Größenordnung auf die Simulationsfragestellung vernächlässigbar sind, aber den Vernetzungs- und Simulationsaufwand erhöhen würden: Glätten von Sicken, Nuten Idealisieren, zb. spitzes Zulaufen von Kanten mit in Realität endlichen Abrundungen Berücksichtigen von Symmetrieeigenschaften: Spiegelsymmetrie, Rotationssymmetrie Berücksichtigen von Periodizitäten: Schaufelkanäle eines Strömungsrotors 3. Approximationsprinzip Altair Anwendertreffen 26.11.2010 p. 8
Solver Fluent (ANSYS) Bildquelle: http://www.fluent.com/software/fluent/fluent63.htm HyperMesh (Altair) Bildquelle: Screenshot 4. Strömungslöser Altair Anwendertreffen 26.11.2010 p. 9
Netze selbst generieren Generieren Sie ein erstes, einfaches Netz mit selbstgewählten Abmessungen im Kontext einer laminaren Strömung über eine ebene Platte: Staupunkt Geschwindigkeitsprofil auf der Platte Nachlauf 5. Netze selbst generieren Altair Anwendertreffen 26.11.2010 p. 10
Netze selbst generieren Ebene Platte - Fragestellung: Wie entwickelt sich das laminare Geschwindigkeitsprofil über der Platte (u-geschwindigkeitskomponente im Verlauf von der Platte nach oben)? Verwenden Sie folgende Approximationen, die schon Auswirkungen auf die Netzgenerierung haben: 1. 2D-Strömung = 2D-Netz 2. Unendlich dünne Platte = Platte bildet Symmetrieebene, d.h. die Spiegelebene muss nicht vernetzt werden, sondern kann durch Symmetriebedingungen festgelegt werden Erzeugen Sie zunächst passende Geometrie-Objekte, erzeugen Sie danach eine Blockstruktur, die Sie an die Geometrie hängen. Achten Sie auf eine angepasste Punkte-/Zellverteilung! Definieren Sie grob Randbedingungen, indem Sie den Rändern schon jetzt eindeutige Namen zuweisen. Notieren Sie Ihre Erfahrungen und Probleme! 5. Netze selbst generieren Altair Anwendertreffen 26.11.2010 p. 11
Netze selbst generieren Vorschlag/Diskussion zur geometrischen Approximation: Ausgangssituation: Staupunkt Geschwindigkeitsprofil auf der Platte Nachlauf Geometrievorschlag: Einlass Offener Rand, div. Varianten: Druck, konst. Geschwindigkeit etc. Segmentierung Segmentierung oder Auslass Symmetrie Platte Symmetrie Auslass 5. Netze selbst generieren Altair Anwendertreffen 26.11.2010 p. 12
Netze selbst generieren Verwenden Sie folgende Eckdaten, um den Fall zu konfigurieren: Verwenden Sie Luft als Strömungsmedium (Dichte ρ = 1,25 kg m 3 ). Die Strömung soll über die gesamte Plattenlänge laminar bleiben, d.h. überall entlang der Platte gilt: Re 5 10 5. Das Fluid soll annähernd inkompressibel bleiben, d.h. es gilt Ma 0,1 (c0 343 m s ). Die dynamische Viskosität der Luft liegt bei µ = 1,81 10 5 kg (Anm.: ν = µ stellt die m s ρ kinematische Viskosität dar). Die Dicke der Wandgrenzschicht, bei der 99% der Anströmgeschwindigkeit (u = 0,99U ) erreicht sind, ist abhängig von der Position x entlang der Platte und berechnet sich bei der laminaren Plattenumströmung wie folgt: δ 99 5 νx U. Was wird am Ende gesucht? Stellt man das Geschwindigkeitsprofil in dimensionslosen Koordinaten dar, ergibt sich unabhängig von der Position x entlang der Platte dasselbe Profil, das sog. Blasius-Profil (vgl. H. Schlichting, Grenzschichttheorie, Verlag G. Braun, Karlsruhe 1958). 5. Netze selbst generieren Altair Anwendertreffen 26.11.2010 p. 13
Netze selbst generieren Darstellung in dimensionslosen Koordinaten bedeutet die Überführung des Wandabstands y in den dimensionslosen Wandabstand η und der lokalen Geschwindigkeit u in die dimensionslose u, wobei U η = y U νx. Blasius-Profil η 9 8 7 6 5 4 3 2 1 0 Blasius 0 0.2 0.4 0.6 0.8 1 u/u 5. Netze selbst generieren Altair Anwendertreffen 26.11.2010 p. 14
Netze selbst generieren Das Netz könnte am Ende annähernd folgende Gestalt haben: Gesamtplattenlänge sei L; Abstand vor (und ggf. hinter) der Platte: ca. 0,5 L; Abstand über der Platte: ca. 20...30 δ99. 5. Netze selbst generieren Altair Anwendertreffen 26.11.2010 p. 15
Netze selbst generieren Zur Erinnerung: Ebene Platte 1. Netz generieren: rein 2D, diverse geometrische Abstraktionen/Vereinfachungen; 2. Segmentierung: Zur besseren Überwachung der Punkt-/Zellverteilung; 3. Zellverteilung: verdichtet, wo große Gradienten zu erwarten sind; 4. Daumenregel: in Grenzschichten möglichst Zellen des Typs quad verwenden (in 3D Typ hexa); 5. Daumenregel: in Grenzschichten mind. 20, besser 30 Zellen, es sei denn, es wird ein Wandmodell verwendet; 6. Daumenregel: in Gebieten großer Gradienten Zellwachstum maximal 1,2 (20%); 7. Seitenlängenverhältnis bei modernen Strömungscodes kann durchaus 1:100 betragen: Zellen sparen in best. Richtungen, wo keine Gradienten erwartet werden; 8. Laminare Simulation lässt sich gut mit empirisch-analytischer Blasius-Lösung vergleichen = eignet sich hervorragend, um in neue Software eizusteigen (Netzgenerator, CFD-Software); 9. Zum Vergleich mit Blasius: neue Variablen η und u U 0 definieren und aus Simulationsergebnis berechnen lassen, dann entlang zur Wandoberfläche senkrechter Linien die neuen Variablen extrahieren und mit Blasius-Lösung in einer XY-Graphik übereinander plotten. 5. Netze selbst generieren Altair Anwendertreffen 26.11.2010 p. 16
HyperMesh Schritt 1: Toleranzen setzen (SI Einheit: m) Menü wird aktiviert über das Drop-Down Menü Preferences oben 6. Anwendung von HyperMesh Altair Anwendertreffen 26.11.2010 p. 17
HyperMesh Schritt 2: Nodes erzeugen 6. Anwendung von HyperMesh Altair Anwendertreffen 26.11.2010 p. 18
HyperMesh Schritt 3: Lines zwischen Nodes erzeugen 6. Anwendung von HyperMesh Altair Anwendertreffen 26.11.2010 p. 19
HyperMesh Schritt 4: Surfaces erzeugen: z.b. ruled zwischen 2 Lines oder 4 Nodes 6. Anwendung von HyperMesh Altair Anwendertreffen 26.11.2010 p. 20
HyperMesh Schritt 5: Collectors erzeugen und... 6. Anwendung von HyperMesh Altair Anwendertreffen 26.11.2010 p. 21
HyperMesh Schritt 6: Geometrie-Teile (Lines und Surfaces) den Collectors zuordnen 6. Anwendung von HyperMesh Altair Anwendertreffen 26.11.2010 p. 22
HyperMesh Schritt 7: Ein Surface Netz mit der automesh-funktion erzeugen 6. Anwendung von HyperMesh Altair Anwendertreffen 26.11.2010 p. 23
HyperMesh Schritt 8: Ein reines quad-netz erzeugen 6. Anwendung von HyperMesh Altair Anwendertreffen 26.11.2010 p. 24
HyperMesh Schritt 9: Benutzerdefinierte Zellverteilungen auf den Lines einstellen 6. Anwendung von HyperMesh Altair Anwendertreffen 26.11.2010 p. 25
HyperMesh Schritt 10a: Edges (= 1D Elemente fuer Definition der RB in Fluent!) erzeugen 6. Anwendung von HyperMesh Altair Anwendertreffen 26.11.2010 p. 26
HyperMesh Schritt 10b: Edges (= 1D Elemente fuer Definition der RB in Fluent!) erzeugen 6. Anwendung von HyperMesh Altair Anwendertreffen 26.11.2010 p. 27
HyperMesh Schritt 11a: Edges den Collectors (= den späteren Fluent RB) zuweisen 6. Anwendung von HyperMesh Altair Anwendertreffen 26.11.2010 p. 28
HyperMesh Schritt 11b: Edges den Collectors (= den späteren Fluent RB) zuweisen 6. Anwendung von HyperMesh Altair Anwendertreffen 26.11.2010 p. 29
HyperMesh Schritt 11c: Edges den Collectors (= den späteren Fluent RB) zuweisen 6. Anwendung von HyperMesh Altair Anwendertreffen 26.11.2010 p. 30
HyperMesh Schritt 12: Ordnung der Elemente auf 1 setzen - HM in V10 nimmt an, dass Fluent nur Elemente 1. Ordnung verarbeitet (z.b. quad4 statt quad8) 6. Anwendung von HyperMesh Altair Anwendertreffen 26.11.2010 p. 31
HyperMesh Schritt 13: Im Register Utility CFD I/O auswählen 6. Anwendung von HyperMesh Altair Anwendertreffen 26.11.2010 p. 32
HyperMesh Schritt 14a: Netz für Fluent cas/msh mit write -Funktion schreiben - und alle Warnungen ignorieren! Antwort hier: Ja. 6. Anwendung von HyperMesh Altair Anwendertreffen 26.11.2010 p. 33
HyperMesh Schritt 14b: Netz für Fluent cas/msh mit write -Funktion schreiben - und alle Warnungen ignorieren! Antwort hier: Nein. 6. Anwendung von HyperMesh Altair Anwendertreffen 26.11.2010 p. 34
HyperMesh Schritt 14c: Netz für Fluent cas/msh mit write -Funktion schreiben - und alle Warnungen ignorieren! Antwort hier: Ja. 6. Anwendung von HyperMesh Altair Anwendertreffen 26.11.2010 p. 35
HyperMesh Schritt 14d: Netz für Fluent cas/msh mit write -Funktion schreiben - und alle Warnungen ignorieren! Antwort hier: OK. 6. Anwendung von HyperMesh Altair Anwendertreffen 26.11.2010 p. 36
Fluent Schritt 15: Fall (EP1.cas) direkt nach Einlesen in Fluent 7. Check in Fluent Altair Anwendertreffen 26.11.2010 p. 37
Fluent Schritt 16: Erkennen verschiedener Aussenränder, Zuordnung zu numerischen RB in Fluent 7. Check in Fluent Altair Anwendertreffen 26.11.2010 p. 38
Fluent Schritt 17a: Optischer Check des Netzes in Fluent 7. Check in Fluent Altair Anwendertreffen 26.11.2010 p. 39
Fluent Schritt 17b: Optischer Check des Netzes in Fluent 7. Check in Fluent Altair Anwendertreffen 26.11.2010 p. 40
Strömungsfälle L 8. Konfiguration weiterer Strömungsfälle Altair Anwendertreffen 26.11.2010 p. 41
Strömungsfälle 8. Konfiguration weiterer Strömungsfälle Einlesen einer Punktewolke mit Utility -Register, dann CFDMesh + Surfaces + Spline - Bound Nodes File Altair Anwendertreffen 26.11.2010 p. 42
Fluent Punktewolke in Text Dateien (*.txt): Anzahl der Nodes N=140, dann N*(x,y,z)-Werte 8. Konfiguration weiterer Strömungsfälle Altair Anwendertreffen 26.11.2010 p. 43
Ende Zusammenfassung: Besondere Anforderung bei Grundlagen-Lehre Erfolgreicher Einsatz von HyperMesh für diese Zweck Einige kleinere???, die mir als lernendem Test-User das Handling erschwert haben und sich mir nicht ganz erschlossen haben: Sind Präferenzen in einem User-Profil speicherbar? Ab und zu seltsame Interpolationseffekte im Netzinneren bei unterschiedlichen exponentiellen Punkteverteilungen auf gegenüberliegenden Edges/Lines desselben Surfaces? 9. Ende Altair Anwendertreffen 26.11.2010 p. 44
Ende Danke für Ihre Aufmerksamkeit! 9. Ende Altair Anwendertreffen 26.11.2010 p. 45
Ende Buchtipps für CFD, teilweise mit Beispielnetzen C. Hirsch: Numerical Computation of Internal and External Flows; J. Wiley and Sons; 2 Bände J.H. Ferziger, M. Perić: Computational Methods for Fluid Dynamics; Springer Berlin; FORTRAN-CODE herunterladbar M. Griebel, Th. Dornseifer, T. Neunhoeffer: Numerische Simulation in der Strömungsmechanik C.A.J. Fletcher: Computational Techniques for Fluid Dynamics; Springer Berlin; 2 Bände 9. Ende Altair Anwendertreffen 26.11.2010 p. 46