Einführung in Computational Fluid Dynamics (CFD)

In dieser Einführung geben wir einen Überblick über Compuational Fluid Dynamics (CFD) aus der Vogelperspektive. Wir lassen das meiste "Kleingedruckte" aus und konzentrieren uns auf übergreifende Konzepte und setzten dabei wenig bis gar keine Vorkenntnisse mit Fluid-Mechanik voraus. Die Einführung ist gedacht für Personen die nicht selbst Simulationen durchführen wollen, aber dennoch ein gewisses Grundverständnis des Themas, insbesondere hinsichtlich des Einsatzes im industriellen Umfeld, benötigen. Dementsprechend ist das Zielpublikum für diesen Text CTOs, (technische) Projektleiter, Entwicklungsleiter, Personen die ähnliche Funktionen ausüben oder technik-affine Manager, die sich für die Thematik aus einer technisch-wirtschaftlichen oder Projektmanagement-Perspektive interessieren.

CFD - eine kurze Zusammenfassung

Unbeschadet von genauen Definitionen (siehe Wikipedia dafür), ist CFD eine Methode um das Verhalten von Fluiden bloß mithilfe von Berechnungen vorherzusagen. Ein Fluid in diesem Sinne kann eine Flüssigkeit, ein Gas oder auch eine Ansammlung von Partikeln sowie deren Mischungen sein. Um das Verhalten eines Fluids zu berechnen, benötigt man eine Theorie die das dynamische Verhalten beschreibt. Die zentrale Rolle dabei spielen die Navier-Stokes Gleichungen sowie eine Unmenge an weiterentwickelten Modellen auf deren Basis. Zusammen beschreiben diese mathematischen Theorien wie sich ein Fluid in bestimmten Situationen verhalten wird (beispielsweise: mechanischem Druck ausgesetzt, erwärmt, verdampft, ...). Für reale Problemstellungen müssen diese Gleichungen viele Millionen Male wiederholt gelöst werden um Ergebnisse mit vernünftiger Genauigkeit zu erhalten; hier kommt also das "Computational" zum Computational Fluid Dynamics.

Sobald man einige grundlegende Eigenschaften eines Fluids kennt (Dichte, Viskosität, ...), das mathematische Modell aufgesetzt hat, das sein Verhalten in einer dynamischen Situation beschreibt und über eine Software verfügt, die die eigentlichen Berechnungen dazu durchführen kann, hat man alle Zutaten beisammen um etwas zu simulieren. Dieses "etwas" kann im Grunde jede beliebige Vorhersage für ein System sein, in dem sich ein Fluid durch oder um Objekte herum bewegt. Einige typische Fragestellungen die man mit CFD beantworten kann sind:

  • Auftrieb und Widerstand von Luftfahrzeugen
  • Hydrodynamik von Wasserfahrzeugen
  • Verbrennung in Motoren und Turbinen
  • Strömung in Diffusoren und Kompressoren
  • Erwärmen und Kühlen mit Flüssigkeiten
  • Vermischen und Trennen von Fluiden
  • Wind- und Wasser-Einfluss auf Bauwerke
  • Strömung und Überschwemmungen von Gewässern
  • Verteilung von Schadstoffen (Fluide, Partikel)
  • Bewegung von Partikeln in Fluiden
  • Chemische Reaktionen in Fluiden
  • Heizung, Ventilation und Kühlung in Innenräumen
  • Biomechanische Strömung (zB: Blutfluss durch Stent)
  • Verdampfung und Trocknung von Flüssigkeiten
  • Mikroklima und Wohlfühlklima
  • Wettervorhersage
  • Berechnungen zum Brandschutz

 

Alleine die Breite des Anwendungsgebietes gibt einen Hinweis auf das komplexe Know-How das notwendig ist, um genaue Vorhersagen mit CFD treffen zu können. In den nachfolgenden Abschnitten gehen wir nicht spezifisch auf diese Felder ein (nennen aber entsprechende Beispiele wo sinnvoll) sondern beschäftigen uns mit der Frage unter welchen Umständen CFD (ökonomisch) Sinn macht und wie der typische Ablauf eines Projektes aussieht.

Wann man CFD einsetzen sollte - und wann nicht

Sieht man sich obige Liste an, ist man versucht anzunehmen, das praktisch jedes Problem in Bezug auf bewegte Fluide mittels CFD simuliert werden kann. Obwohl das im Prinzip richtig ist; bloß weil man ein bestimmtes Problem mittels CFD berechnen kann, heißt das noch nicht, dass man das auch tun soll. Die Frage ist eher unter welchem Umständen es effizient und effektiv ist, CFD Simulationen einzusetzen. Um diese Frage zu beantworten betrachten wir CFD Simulation als ein "virtuelles Experiment", das mit Kosten und Qualität seines realen Gegenstückes konkurriert. Hier einige Dimensionen im Vergleich:

CFD Experiment
Kosten Personal Personal, Gerät, Verbrauchsmaterial
Zeit Abhängig von Komplexität Abhängig von Gerät
Maßstab Beliebig Ausschließlich Labormaßstab
Information Vollständig Dünn
Sicherheit Gegeben Unterschiedlich
Genauigkeit Unterschiedlich Unterschiedlich

Abhängig von der genauen Problemstellung, haben entweder physische Experimente oder Simulationen klare Vorteile und Simulationen haben in sehr vielen Fällen Kostenvorteile gegenüber physischen Experimenten indem Kosten für Hardware ganz vermieden werden oder aber die Anzahl der Experimente die durchgeführt werden müssen, stark reduziert wird.

Betrachten wir die Dimensionen im Detail:

Die (Gesamt-) Kosten einer Simulation vs. dem Experiment wird in vielen Fällen ein wichtiger, bestimmender Faktor für die Entscheidung sein. CFD Simulationen waren noch vor etwa einem Jahrzehnt eine sehr teure Angelegenheit, seither haben Fortschritte in den Computerwissenschaften und der Prozessorleistung von Computern die Kosten gedrückt. Derzeit (2016) besteht der Löwenanteil der Kosten einer CFD Simulation aus Personalkosten für entsprechend ausgebildete und erfahrene Ingenieure. Dazu kommen noch Kosten für Infrastruktur, Software und Elektrizität für die Berechnungen. All das eingerechnet kann man derzeit ein Monat CFD Simulation schon um etwa 18 k EUR (20 k USD) bekommen, wobei kleine Projekte ab etwa 2 Wochen dauern. Abhängig von der benötigten Hardware, werden die Kosten für ein physisches Experiment in den meisten Fällen deutlich höher liegen.

In Bezug auf die benötigte Zeit weist die CFD Simulation eine große Bandbreite auf. In vielen Fällen wird die Projektdauer von zwei Hauptfaktoren abhängen (1) ob es sich um eine transiente (zeitabhängige) Simulation handelt und (2) wie viele Optimierungszyklen geplant bzw. notwendig sind. CFD Simulationen sind gut parallelisierbar und können auf vielen CPUs gleichzeitig laufen. In vielen Fällen können Simulationen in einigen Stunden (über Nacht) berechnet werden, aber abhängig von der Problemstellung kann die Simulation auch Tage oder sogar Wochen beanspruchen. Während dieser Zeit wird der Fortschritt der Simulation zwar beobachtet, benötigt aber oft wenig direkte Interaktion sodass der ausführende Ingenieur in der Regel frei für andere Aufgaben ist. Im Vergleich dazu benötigen physische Experiment oft mehr Zeit, insbesondere wenn der Messaufbau zunächst geplant, bestellt und aufgebaut werden muss, bevor das eigentliche Experiment gestartet werden kann.

Der (räumliche) Maßstab ist ein Gebiet auf dem die Simulation gegenüber dem Experiment klar auftrumpfen kann. Für ein virtuelles Experiment macht es wenig Unterschied, ob man die Spitze einer Injektionsnadel oder ein ganzes Stadtviertel betrachtet, während beide Fälle eine große Hürde für das physische Experiment darstellen. In vielen Fällen müssen physische Experiment auf Labormaßstab skaliert und Annahmen über Skalierungseffekte getroffen werden. Man mag durchaus in der Lage sein, den Wolkenkratzer auf Windtunnelgröße herunterzuskalieren, aber können auch die Druck-, Temperatur- und Geschwindigkeitsunterschiede der Luft über solche Distanzen entsprechend berücksichtigt werden? Bei kleinen Maßstäben können Messungen fast unmöglich werden - wie misst man das Strömungsfeld einer Injektionsnadel? Wann immer also sehr kleine oder sehr große Geometrien im Spiel sind, hat CFD gegenüber dem Experiment einen klaren Vorteil.

Auch beim Informationsgehalt gibt es große Unterschiede zwischen Experiment und Simulation. Die räumliche und zeitliche Auflösung sowie die Anzahl der betrachteten Variablen ist viel höher im Fall der Simulation. Eine dreidimensionale CFD Simulation kann leicht mehr als eine Million Zellen (sogenannte "Voxel" - kleine volumetrische Elemente in die der Simulationsraum aufgeteilt wird) aufweisen. Für jede dieser Zellen liefert die Simulation alle Werte die im mathematischen Modell inkludiert sind (Geschwindigkeit, Richtung, Temperatur, Konzentrationen, Scherkräfte, Vortizität, ...) - buchstäblich hunderte von Werte für jede Zelle bei einigen Simulationstypen. Simulationen sind auch sehr flexibel hinsichtlich der Informations-Frequenz. Man kann die Zeitschritte der Simulation entsprechend so wählen wie sich die Verhältnisse im betrachteten System ändern, wodurch es einfach wird, die Informationsdichte auf der Zeitachse anzupassen. In physischen Experimenten ist das um ein Vielfaches schwieriger, man kann nur eine begrenzte Zahl von Messpunkten abdecken, die Frequenz wird von der Geschwindigkeit der Sensoren bestimmt und kein Sensor kann so viele Variablen bestimmen wie eine Simulation auswirft. Eine CFD Simulation wird praktisch immer mehr Information über ein System liefern als ein entsprechendes Experiment.

Physische Sicherheit ist natürlich kein Thema bei Simulationen, während es in Experimenten, die den Einsatz von gefährlichen Substanzen erfordern, erhebliches Kopfzerbrechen bereiten kann. Eng verwandt damit ist das Problem der Kosten von Verbrauchssubstanzen, kein Thema bei Wasser, ein großes Thema bei - beispielsweise - Humanplasma.

Genauigkeit kann ein schwieriges Thema sein, sowohl bei Simulationen als auch bei physischen Experimenten. Auch bei schwierigen Messaufgaben, ist die Genauigkeit bei physischen Experimenten ein wenig direkter zu Handhaben als bei Simulationen. Simulationen können recht empfindlich auf Fehler reagieren; ein Fehler etwa im Setup der Randbedingungen (boundary conditions) oder beim Meshing (der Vorgang bei dem der dreidimensionale Simulationsbereich in diskrete Volumina "Voxel" aufgesplittet wird) kann Probleme in der Simulation verursachen. Viele erfahrene Simulations-Ingenieure setzen daher Techniken wie Plausibilitäts-Checks, mathematische Qualitätstests und Case-Zero Simulationen (ein existierendes System simulieren bevor Änderungen vorgenommen werden) ein um die Ergebnisse akkurat zu halten. Für viele Aufgabenstellungen ist CFD sehr genau, zum Beispiel ist die Genauigkeit bei HVAC Simulationen oft kleiner als der physische Messfehler - 0,2°C im vorne verlinkten Fall.

CFD Workflow - von der Problemstellung zum Resultat

Nachdem wir nun einen Überblick haben wofür man CFD einsetzen kann und wann es auch tatsächlich Sinn macht, gehen wir ein wenig in die Tiefe und sehen uns die Hauptphasen eines CFD Simulationsprojektes an. Insbesondere werfen wir einen Blick auf einige Punkte die man in der Praxis in den einzelnen Phasen beachten sollte.

Bevor wir in den Text eintauchen, werfen wir einen Blick auf das folgende Video (Englisch), das einige Einblicke in den realen Arbeitsablauf von CFD Projekten bietet:


 

Video herunterladen

Pre-Processing

In dieser Phase werden verschiedene Vorbereitungsarbeiten durchgeführt, bevor die eigentliche Simulation ablaufen kann. Viele der Aufgaben unter diesem Punkt verlangen eine entsprechende Ausbildung und Erfahrung des ausführenden Ingenieurs.

Die grundlegendste Aufgabe in dieser Phase ist die Bestimmung der eigentlichen Fragestellung die beantwortet werden soll. Obwohl das recht einfach klingt, kann dies durchaus ein wenig Zeit und Abstimmungsaufwand mit dem Klienten in Anspruch nehmen. Oft startet man in dieser Phase mit einer Aussage in der Art von: "Wir wollen, dass es besser funktioniert!" und endet mit einer Aufgabenstellung die etwa lauten kann: "Wir wollen eine transiente (zeitaufgelöste) Simulation inklusive Wärmeübergangseffekten mit einem einzelnen Fluid, Optimierung der Geometrie hinsichtlich Parameter X, ohne sonstige Änderungen der Eingansströmungsbedingungen.". Eine saubere Definition der eigentlichen Kernfragestellung hilft auch enorm bei der Auswahl der am besten geeigneten wissenschaftlichen Theorie für die Aufgabe, um genau die benötigte Antwort zu liefern und zwar ohne unnötige Zusatzberechnungen. Diese Auswahl hat gewichtige Auswirkungen, da sich die verschiedenen Kalkulationsmodelle um den Faktor 10 oder sogar 100 in der Rechengeschwindigkeit unterscheiden und es wohl nicht unwesentlich ist, ob die Berechnung 1 Tag dauert oder eben 100 Tage.

Sobald die Fragestellung definiert wurde, ist die nächste Aufgabenstellung den dreidimensionalen Simulationsraum zu definieren (in seltenen Fällen wird auch 2-dimensional simuliert). In der Praxis startet man dabei oft mit existierenden 3d-Zeichnungen des Kunden. Diese erfordern häufig noch gewisse manuelle Nachbearbeitungen beispielsweise um sicherzustellen, dass keine ungewollten Lücken existieren, Materialien richtig gruppiert sind, überflüssige Details entfernt und so weiter. Sind keine Zeichnungen verfügbar, werden sie entweder ganz neu erstellt oder aber auf Basis eines 3d-Laserscans aufgebaut.

Der nächste Schritt ist das sogenannte "Meshing". Um die mathematischen Modellgleichungen über die gesamte räumliche Ausdehnung der Geometrie genau genug berechnen zu können, muss der Simulationsraum in kleine, volumetrische Elemente zerteilt werden - diese nennt man "Voxels" (etwa: volumetric pixel) oder einfach Zellen. Das kann man sich ein wenig wie Minecraft oder Lego vorstellen, wobei jeder Baustein einen Teil des leeren Volumens einnimmt durch den sich dann das Fluid bewegt. Bei den meisten Simulationen müssen die Zellen nicht kubisch oder rechtwinkelig sein, sondern können kompliziertere Formen annehmen. In allen Fällen müssen die Zellen jedoch gewissen Qualitätskriterien entsprechen (zB: keine Lücken oder Überschneidungen mit anderen Zellen, Winkel nicht zu klein, ...). Diesen Vorgang händisch durchzuführen kann sehr mühselig sein, nachdem typischerweise eine Simulationsgeometrie einige hunderttausend solcher Zellen enthält. Oft wird dies daher durch hochentwickelte Software (s.g. "Mescher") erledigt, aber auch dabei ist ein gewisses Geschick gefordert, da die Verteilung der Zellen oft kritisch für die Qualität der Simulation ist. Beispielsweise sollten sich an den Stellen der Geometrie an denen sich das Fluid sehr rasch bewegt oder sich ein anderer Parameter schnell ändert, wesentlich mehr Zellen befinden. Tatsächlich ist es eine einfache Qualitätsüberprüfung durch den Auftraggeber, den CFD Ingenieur zu bitten, das Mesh zu erläutern. Ist das Mesh an Wänden, Ecken oder in Regionen mit großen zu erwartenden Änderungen von Parametern nicht deutlich dichter, kann das ein frühes Warnzeichen für die Simulationsqualität sein.

Ebenso wichtig wie das Mesching ist das Setzen der der sogenannten Randbedingungen (Boundary Conditions). Das sind die "Parametereinstellungen" für die Simulation, die als Ausgangspunkt für die Berechnungen dienen und selbst während der Simulation nicht verändert werden. Manchmal sind diese Einstellungen sehr einfach, beispielsweise kann man einem in einem Fluid eingetauchten Körper eine gewisse Wandtemperatur zuweisen. Andererseits kann das Setzen einer unrealistischen Randbedingung, völlig unrealistische Simulationsergebnisse nach sich ziehen, da der Computer so rechnet, "als ob" diese Randbedingungen zutreffen. Auch hier ist wieder einige Erfahrung nötig um Randbedingungen so zu setzen, dass die Simulation robuste, realistische Ergebnisse liefert. Will man dies als Klient eines CFD Unternehmens überprüfen kann man Fragen wie die folgenden stellen: "Ist die Wandtemperatur hier wirklich überall gleich und auch über die Zeit unveränderlich?", "Ist der Volumenstrom über den ganzen Querschnitt des Einlasses gleich?".

Simulation

Mit der Problemstellung definiert und der Simulation aufgesetzt, kann der eigentliche Berechnungsteil beginnen. Einmal gestartet benötigt dieser Prozess vergleichsweise wenig manuellen Eingriff. Simulationen laufen häufig parallelisiert: die Berechnung auf eine Anzahl von CPUs verteilt, die alle gleichzeitig arbeiten um die Rechenzeit zu verkürzen. In der Praxis werden viele Simulationen auf 8-128 CPUs gleichzeitig laufen (man kann aber auch wesentlich mehr, bis zu einigen tausend CPUs einsetzen). Leider lässt sich die Rechenzeit dadurch aber nicht beliebig verkürzen: je mehr Prozessoren eingesetzt werden, desto mehr Overhead benötigt der notwendige Datenaustausch zwischen den Prozessoren. Deswegen nimmt die Steigerung der Grenzgeschwindigkeit mit der Anzahl der Prozessoren ab. Die besten Ergebnisse lassen sich in der Praxis je nach Problem mit etwa bis zu 128 Prozessoren erzielen, wobei diese oft in speziellen Hochleistungs-Rechenzentren laufen.

Abhängig von der verwendeten Software, muss man eventuell Lizenzkosten pro CPU entrichten, was recht schnell sehr teuer werden kann. In anderen Fällen existiert keine solche Beschränkung und die Kosten der Simulation steigen nicht wesentlich, wenn man mehr Prozessoren einsetzt. Als Klient kann man seinen Dienstleister fragen wie reine Kalkulationszeiten in die Projektkosten einfließen.

Post-Processing

Sobald die Simulation zu Ende gerechnet hat - es gibt mathematische Kriterien um dies festzustellen - ist es Zeit, einen Blick auf die Ergebnisse zu werfen. Das klingt recht einfach, aber auch hier ist mitunter einige Erfahrung notwendig. Eine zeitabhängige Simulation kann leicht einige Terabyte an Daten erzeugen, was allein die Handhabung der Datenmengen zu einer Aufgabe für einen erfahrenen Ingenieur macht. In der Regel werden die gewonnenen Daten graphisch mit spezieller Software aufbereitet. Mitunter sind dafür zusätzliche Berechnungen notwendig um abgeleitete Werte darzustellen: um beispielsweise die Akustik der Simulation zu zeigen muss eine FFT (Fast Fourier Transformation) der Druckschwankungen durchgeführt werden.

Sobald die relevante Information graphisch aufbereitet wurde (zB die Luftfeuchte), kann sie im 3d-Modell beurteilt und besprochen werden. In der Regel werden entsprechende graphische Schnitte oder auch Videos zur Dokumentation angefertigt und in einem Endbericht dokumentiert. Dort finden sich letztendlich auch die Empfehlungen für Maßnahmen um das Ausgangsproblem zu lösen, bzw. die Leistung der jeweiligen Systems zu steigern.

Als Klient kann man seinen Dienstleister an dieser Stelle bitten, nicht nur den Endbericht, sondern auch die Simulationsdaten aufzubewahren um gegebenenfalls auf dieser Basis weiterzuarbeiten.

Damit schließen wir unsere Einführung in CFD. Wenn dieser Artikel hilfreich war, hinterlassen Sie uns einen kurzen Kommentar auf unserer google+ Seite. Wenn Sie Fragen haben, melden Sie sich einfach!.