Diplomarbeit. Simulation und Visualisierung von Fluiden und granularen Materialien mit PhysX

Größe: px
Ab Seite anzeigen:

Download "Diplomarbeit. Simulation und Visualisierung von Fluiden und granularen Materialien mit PhysX"

Transkript

1 TECHNISCHE UNIVERSITÄT DRESDEN FAKULTÄT INFORMATIK INSTITUT FÜR SOFTWARE- UND MULTIMEDIATECHNIK PROFESSUR FÜR COMPUTERGRAPHIK UND VISUALISIERUNG PROF. DR. STEFAN GUMHOLD Diplomarbeit zur Erlangung des akademischen Grades Diplom-Informatiker Simulation und Visualisierung von Fluiden und granularen Materialien mit PhysX Berthold Heinecke (Geboren am 11. Januar 1982 in Halle) Betreuer: Dr.-Ing. Wilfried Mascolus und Dipl.-Phys. Niels v. Festenberg Dresden, 2. Juli 2008

2

3 Aufgabenstellung

4

5 Selbstständigkeitserklärung Hiermit erkläre ich, dass ich die von mir am heutigen Tag dem Prüfungsausschuss der Fakultät Informatik eingereichte Diplomarbeit zum Thema: Simulation und Visualisierung von Fluiden und granularen Materialien mit PhysX vollkommen selbstständig verfasst und keine anderen als die angegebenen Quellen und Hilfsmittel benutzt sowie Zitate kenntlich gemacht habe. Dresden, den 2. Juli 2008 Berthold Heinecke

6

7 Kurzfassung Die vorliegende Arbeit befasst sich mit der Simulation von Fluiden und granularen Materialien mit Hilfe der Physikengine PhysX. Dabei werden vier verschiedene Materialien untersucht: Wasser und Rauch für die Klasse der Fluide und Schnee sowie Sand für die Klasse der granularen Materialien. Neben einer Einführung in die Funktionsweise von Physikengines im allgemeinen und speziell für PhysX, werden physikalische Grundlagen der realen Materialien aufgeführt. Hierauf basierende Simulationsansätze aus verschiedenen Arbeiten des Bereiches Computergraphik werden vorgestellt. Diese münden in die Entwicklung eines Simulators für die vier genannten Materialtypen. Dabei werden die Ergebnisse und Schwierigkeiten der entwickelten Algorithmen ebenso thematisiert wie die Relevanz und mögliche Zukunft der Simulation durch Physikengines. Abstract The presented thesis addresses the simulation of fluids and granular materials with the help of the physics engine PhysX. The focus hereby is laid upon four different materials: water and smoke to represent the category of fluids as well as snow and sand to represent the category of granular materials. Besides an introduction to the general functionality of physics engines and specifically for PhysX, basic physical characteristics of the real materials will be presented. Different approaches to the simlulation of this problem, which were released in a variety of publications in the area of computer graphics, will be analyzed. These ultimately lead to the development of a simulation tool for the mentioned materials. In the course of this discussion the results and difficulties of the developed algorithms as well as the relevance and future of simulation through physics engines will be presented.

8

9 1 Inhaltsverzeichnis 1 Einleitung 3 2 Grundlagen Physikalische Grundlagen Sand Schnee Entstehung Schneeumwandlung (Schneemetamorphose) Schneeigenschaften Fluide Grundlagen der Simulation von Partikelsystemen Physikengines Grundlegende Arbeitsweise von Physikengines Umsetzung Hardware beschleunigter Physikengines PhysX PPU API Ogre3D API Übersicht API Beispiel NxOgre API Verwandte Arbeiten Fluide Fluide mit geringem Volumen Smoothed Particle Hydrodynamics Vortexpartikel

10 Fluide mit großem Volumen Schnee Sand Fluidsimulator Algorithmische Ansätze Algorithmen für alle Materialien Wasser Rauch/Nebel Sand und Schnee Oberfläche Starrkörpersimulation Partikel Visualisierung Implementierung Softwarearchitektur Toolaufbau Diskussion Performanceauswertung Grenzen von PhysX und den verwendeten Bibliotheken Relevanz Schlussfolgerungen Zusammenfassung Erweiterungsmöglichkeiten und Ausblick Literaturverzeichnis 95

11 3 1 Einleitung Im Alltag umgeben uns verschiedenste feste Materialien und gerade in Städten scheint die gesamte Umgebung aus festen Körpern zu bestehen. Das ist in der freien Natur grundsätzlich anders. Auf der Erdoberfläche finden wir am häufigsten lose granulare Materialien und Fluide. Immerhin sind circa zwei drittel der Erdoberfläche von Wasser bedeckt und wenn wir uns nicht gerade in einer Steinwüste oder auf dem Gipfel eines Berges befinden, ist die gesamte Erdoberfläche übersäht mit granularen Materialien verschiedenster Typen, die durch Erosionsprozesse entstanden sind. Diese beiden Materialtypen spielen eine große Rolle zum Beispiel in der Strömungsmechanik oder in der Bodenmechanik. Die Verhaltensweisen von Fluiden sind inzwischen in einer Vielzahl von Veröffentlichungen behandelt worden. Granulare Materialien hingegen sind gerade wegen ihrer Vielfältigkeit noch nicht hinreichend erforscht. Dies änderte sich allerdings seit einigen Jahren und führte zu einem neuen Forschungsgebiet - die Physik granularer Medien. Auch in der physikalischen Simulation mit Computern findet sich eine Trennung zwischen Festkörpern und losen Materialien, die sich allerdings anders als in der Realität auch durch eine Unterscheidung zwischen globaler und lokaler Simulation 1 ergibt. Die lokale Simulation des Verhaltens von granularen Materialien auf Basis von einzelnen Partikeln ist aufgrund der hohen Anzahl selbst für eine Sandburg noch nicht möglich. Aus diesem Grund wird zum Beispiel die globale Simulation von Erosionsprozessen in Gebirgen mithilfe von zweidimensionalen Netzen (Höhenfeld) abstrahiert. Die Anzahl realer physikalischer Untersuchungen schlägt sich natürlich auch in diesem Gebiet nieder. So ist die Simulation von Fluiden in der Computergrafik bereits intensiv behandelt worden, für granulare Materialien hingegen gibt es nur wenige Arbeiten und diese beschäftigen sich häufig noch mit den Grundfragen der physikalischen Simulation. Trotz der Einfachheit der verwendeten Algorithmen in diesem Gebiet lassen sich nur wenige Partikel (Größenordnung 1000) tatsächlich in Echtzeit simulieren. Zusätzlich sind die Arbeiten vorwiegend auf die Simulation eines einzelnen Materialtyps in einem kleinen Simulationsraum wie zum Beispiel in der Arbeit von Bell, Yu und Mucha [BYM05] begrenzt. 1 Globale Simulation bezeichnet hier die Untersuchung von Prozessen, die sich über ein großes Gebiet erstrecken, also zum Beispiel Erosionsprozesse an Berghängen oder Anhäufung bzw. Abtragung von Materialien durch Wind. Im Gegensatz dazu steht lokale Simulation für räumlich stark begrenzte Betrachtungen, zum Beispiel eine Sanduhr oder das Ausheben einer Grube.

12 4 1. EINLEITUNG In der populärsten Anwendung des Bereichs Computergrafik und zwar den Computerspielen beschränkt sich die Simulation von Fluiden und granularen Materialien bisher auf den bereits erwähnten Ansatz eines zweidimensionalen Polygonnetzes und sehr einfacher Partikelsysteme, die keine Interaktion der einzelnen Partikel untereinander ermöglichen. Durch die schnelle Entwicklung von Hardware entstehen allerdings zunehmend Ressourcen für aufwändige Berechnungen in handelsüblichen Rechnersystemen. Dies führte in der Vergangenheit zur Entwicklung immer komplexerer Echtzeitphysikengines 2. Das Hauptanliegen der vorliegenden Arbeit ist, einen Brückenschlag zwischen der physikalischen Simulation von Fluiden und granularen Materialien in der Computergrafik und der physikalischen Simulation in Echtzeitanwendungen zu bilden. Dazu wurden bekannte Simulations- und Darstellungsansätze für Fluide und granulare Materialien in eine bestehende Physikengine integriert, dafür erweitert und angepasst. Die Besonderheit besteht darin, dass die verwendete Physikengine auf eine dedizierte Hardware in Form einer Erweiterungskarte zugreift. Eine wichtige Anforderung für Echtzeitsimulationen in einer großen Szene ist die Simulation der Materialien sowohl lokal an einem bestimmten Punkt als auch global. Um ein möglichst breites Spektrum an Materialtypen abzudecken, werden die vier folgenden Materialien exemplarisch betrachtet: Wasser und Rauch stellvertretend für die Gruppe der Fluide und Sand sowie Schnee stellvertretend für die Gruppe der granularen Materialien. Das folgende Kapitel beginnt dazu mit einer Erklärung der zum Verständnis der vorliegenden Arbeit nötigen Grundlagen. Dabei wird auf jede Abstraktionsebene, von den physikalischen Grundlagen, über entwickelte Gleichungssysteme zur Materialsimulation bis hin zur konkreten Implementierung eingegangen. Eine Übersicht über verschiedene Arbeiten auf dem zu untersuchenden Gebiet in Kapitel drei gibt einen Überblick über bisherige Simulationsansätze. Das konkrete Arbeitsergebniss, der Fluidsimulators, folgt im vierten Kapitel. Den Abschluss der Arbeit bildet dann eine Diskussion der erreichten Ergebnisse. 2 Echtzeitphysikengine bezeichnet im Gegensatz zu Physikengines in der Material- oder Wettersimulation eine Physikengine, die Ergebnisse eines Zeitschrittes in weniger als 10 ms liefert und deren Ergebnisse daher Näherungswerte darstellen.

13 5 2 Grundlagen Das folgende Kapitel widmet sich den Voraussetzungen zur Untersuchung der vier Materialtypen. Die Reihenfolge der Abschnitte richtet sich dabei nach dem zunehmenden Abstraktionsgrad von der Realität. Am Anfang stehen daher die physikalischen Grundlagen der zu untersuchenden Materialien. Dabei soll nicht nur auf die einzelnen Quantitäten der Materialqualitäten eingegangen werden sondern auch auf ihre Ursachen. Den nächsten Schritt unter Grundlagen bildet dann eine Abhandlung über Lösungsansätze, um die entsprechenden physikalischen Eigenschaften der Materialtypen mit einem Computer simulieren zu können. Dann folgt ein Überblick über aktuelle Physikengines mit einer detaillierten Beschreibung an Hand der als Entwicklungsbasis für die Arbeit dienenden Physikengine. Auf die zur Visualisierung der Simulationsergebnisse verwendete Grafikengine Ogre3D[Ogr08a] wird im nächsten Abschnitt ebenfalls an einem Implementierungsbeispiel eingegangen. Abschließend folgt eine Darstellung des Wrappers NxOgre [NxO08], einer Schnittstelle zwischen der Physikengine und der Grafikengine. 2.1 Physikalische Grundlagen Um besser das Verhalten von Fluiden und granularer Materialien zu simulieren, ist ein Verständnis der physikalischen Eigenschaften unabdingbar. Die drei betrachteten Materialien unterscheiden sich stark voneinander, weisen aber auch Ähnlichkeiten auf. So verhalten sich Sand und Schnee im fließenden Zustand wie Wasser, im ruhenden Zustand wie Festkörper. Die zugrundeliegenden Kräfte, die in den Materialien wirken, und die sie beschreibenden Gleichungen sollen in den folgenden vier Abschnitten näher dargelegt werden. Die ersten beiden Abschnitte befassen sich näher mit den granularen Materialien Sand und Schnee und der dritte und vierte Abschnitt mit den Fluiden Wasser und Rauch Sand Granulare Materie dient als Oberbegriff für alle Materialien die aus Elementen makroskopischer Größe bestehen, also mit blossem Auge sichtbar sind. Darunter fallen zum Beispiel Schotter, Kies, Sand, Salz oder Mehl, deren Verhalten in der Schüttgutmechanik untersucht wird. Zur Beschreibung dieser Materialen existieren bis heute noch keine umfassenden Theorien. Je nach Art, Mischung und Krafteinwir-

14 6 2. GRUNDLAGEN kungen treten verschiedene Verhaltensweisen zu Tage. Dieser Abschnitt bietet einen groben Überblick über Eigenschaften und daraus resultierende Verhaltensweisen von Sand. Tiefergehende Betrachtungen zu physikalischen Phenomänen und Gesetzen liefert unter anderem die Habilitationsschrift von Dr. Luding [Lud97]. Die verschiedene physikalische Gesetze ergeben sich im wesentlichen aus zwei Faktoren, auf die folgenden näher eingegangen werden soll. 1. Partikelgröße Sand als spezielles Beispiel granularer Materie setzt sich zusammen aus einzelnen festen Partikeln unterschiedlicher Größe und unterschiedlicher Form. Bei feinem Sand weisen diese eine Größe zwischen 20µm und 200µm auf [Hol02]. Bei diesen Größenordnungen treten keine thermischen Bewegungen auf und das Material bewegt sich in Ruhe nicht. Es wirkt also nur die Reibungskraft, bei sehr feinen Pudern findet man allerdings bis zu einem gewissen Grad auch Kohäsionskräfte. Um das Verhalten granularer Materie zu verstehen, müssen zuerst die Eigenschaften der Partikel betrachtet werden. Die Form der einzelnen Partikel granularen Materials kann sehr verschieden sein. Um überhaupt Gleichungen für das Verhalten von Partikeln zu formulieren, approximiert man häufig die Form als Kugel mit einem für alle Partikel gleichen Äquivalentdurchmesser X. Die Form eines Partikels hat allerdings eine nicht zu unterschätzende Wirkung auf das Verhalten aller Partikel insgesamt. Man stelle sich nur das Verhalten von Bruchstücken in scheibenform im Verhältnis zu Partikeln in Form von kleinen Kugeln vor (vgl. Abb. 2.1). Abbildung 2.1: Verschiedene Formen von Sandkörnern [San06] Außerdem spielt bei der reinen Betrachtung als Kugel die geometrische Lage keine Rolle. Unterschiedliches Verhalten gegenüber Scherkräften je nach Lagerung können so nicht berücksichtigt werden. Daher wird als weiteres Klassifizierungsmerkmal oft noch die Sphärizität verwendet. Das

15 2.1. PHYSIKALISCHE GRUNDLAGEN 7 einfachste Modell ist dabei die Sphärizität nach Wadell Ψ [Hol02] ψ = Oberflaeche einer Kugel mit gleichem V olumen des P artikels. (2.1) Oberflaeche des P artikels So ergibt sich zum Beispiel für Zucker ein Wert von 0, 806 und Lehm sogar 0.22 [Hol02]. Die Sphärizität nach Wadell ist allerdings schwer zu bestimmen, also kommen oft Näherungsverfahren zum Einsatz. Für eine detaillierte Einführung zur Kornformcharakterisierung und zu verschiedenen Herangehensweisen an die Bestimmung der Sphärizität siehe die Dissertation von M. Zlatev [Zla05]. 2. Mischungen Granulare Materialien verändern durch Mischung sehr stark ihre Eigenschaften. Lehm ist eine Mischung aus Sand (Korngröße > 63 µm), Schluff (Korngröße > 2 µm) und Ton (Korngröße < 2 µm). Durch Sand ist er wesentlich fester und wasserdurchlässiger als Ton. Bei Zuführung von Flüssigkeiten bilden sich Wasserbrücken zwischen den Partikeln, welche die Reibung senken und die Kohäsion erhöhen. Die messbaren geometrischen Formen und physikalischen Effekte zwischen Partikeln führen zu verschiedenen Charakteristiken im Verhalten granularer Materialien. Eine dieser messbaren Eigenschaften der Partikel ist der Reibungswinkel α R. Er gibt an, ab welchem Winkel der Aufschüttung granulare Materie anfängt abzurutschen. So hat rundkörniger Sand mit einheitlicher Korngröße einen Reibungswinkel von 27,5 bis 30 und eckiger, scharfkantiger Sand einen von 32 bis 35 [Wik]. Die Reibung F R zwischen zwei Sandkörnern lässt sich dabei über die Gewichtskraft v rel multipliziert mit dem Reibungskoeffizienten µ R und der normalisierten Differenzgeschwindigkeit zwischen beiden Körpern durch F R = µ R F v rel N v rel berechnen. Außerdem gilt für granulare Materie nicht das Prinzip des Archimedischen Auftriebs. D.h. der Auftrieb eines Körpers auf granularer Materie kann dem kompletten Körpergewicht wie bei fester Materie entsprechen. Auch gibt es keinen Druckanstieg mit zunehmendem Eintauchen in die granulare Materie. Das Beispiel einer Sanduhr verdeutlicht dies. Aus einer mit Wasser gefühlten Sanduhr fließt in Abhängigkeit der eingefüllten Menge Wassers mehr Flüssigkeit pro Zeiteinheit heraus. Der hydrostatischen Druck in Flüssigkeiten nimmt konstant mit der Eintauchtiefe zu. Bei granularen Materialien wird der Druck über die Berührungspunkte einzelner Körner übertragen und es bildet sich eine Kräftenetzwerk, dass den Druck auf die Seiten ableitet. Ab eine gewissen Tiefe bleibt der Druck in Material konstant. Dies zeigt auch folgende empirische ermittelte Gleichung, die unabhängig von der Höhe des Materials ist. [GH02] (2.2)

16 8 2. GRUNDLAGEN M p = π 4 p b g B 5 2 tan Θ H (2.3) Abbildung 2.2: Schema eines Trichters 1. mit Öffnungsdurchmesser(B) und Seitenwinkel(Θ H ), 2. Massenfluss, 3. Tote Zonen bei granularen Materialen, 4. Brückenbildung des Materials Dabei ist M p die Ausflussrate, B der Öffnungsdurchmesser und Θ H der Seitenwinkel am Ausflusspunkt (vgl. Abb. 2.2). Der gleiche in der Baustatik genutzte Effekt tritt zu Tage, wenn das Material eine Brücke über dem Ausfluss bildet. In der Theorie des Massenflusses gilt allgemein das FIFO Prinzip, bei granularen Materialen hingegen kommt es in Silos zur Ausbildung toter Zonen und daher fließt das zuletzt eingeschüttete Material zuerst aus dem Silo (LIFI-Prinzip). Ebenso gilt für granulare Materialen das Prinzip der Dilatanz 1. Ist der Reibungswinkel α,die Kohäsion c und die kleinste Scherspannung σ 3 des Materials bekannt, lässt sich über das Mohr-Coulombsche Bruchkriterium die maximale Größe der Scherspannung σ d berechnen. Grundlage ist der Mohrsche Spannungskreis (vgl. Abb. 1 in 2.3) mit dem Normalspannung τ und Scherspannung in Materialien in Abhängigkeit eines Schnittwinkels φ geometrisch berechnet werden können. Die Gerade unter dem Winkel α zur X-Achse und der Höhe c im Schnittpunkt mit der Y-Achse ist die Tangente an den Spannungskreis, dessen maximaler Wert σ d ist dann höchstmögliche Scherspannung für das Material (vgl. Abb. 2 in 2.3). Die Gleichung für σ d lautet dann σ d = 1 + sin α 1 sin α σ 3 + c 2 cosα 1 sin α. (2.4) 1 Dilatanz ist die Eigenschaft eines körnigen, granularen Materials, sein Volumen bei Einwirkung von Scherkräften zu vergrößern.[hol02]

17 2.1. PHYSIKALISCHE GRUNDLAGEN 9 Abbildung 2.3: 1. Mohre Spannungskreis [Wik] Ist (σ xx, τ xy ) der Referenzspannungsvektor und (σ ɛɛ, τ ɛη ) eine beliebiger gesuchter Spannungsvektor, dann ist φ der Winkel zwischen beiden Spannungsvektoren. 2. Geometrische Bestimmung der maximalen Scherspannung σ d eines Materials. 3. Bruch durch Erhöhung der Scherspannung Schnee Schnee gehört zu den faszinierendsten granularen Materialien, die sich in der freien Natur finden lassen. Denn obwohl der Mythos die Inuit hätten mehr als 200 Bezeichnungen für Schnee ins Reich der Legenden gehört, hat Schnee tatsächlich eine Vielzahl an Erscheinungsformen. Viele Arbeiten bzgl. Schnee wurden unter dem Fokus der Lawinenforschung geschrieben. Eine gute Übersicht über Aktivitäten auf dem Gebiet der Lawinenforschung und grundlegende wissenschaftliche Arbeiten auch zum Thema Schnee allgemein finden sich unter [Ava08]. Lawinensimulation ist nicht Bestandteil der Arbeit, daher beschäftigt sich dieser Abschnitt nur mit den grundlegenden Fragen und fasst bisherige Erkenntnisse über Schnee zusammen, darunter den Zusammenhang zwischen Erscheinungsform und Verhalten, sowie den Übergang zwischen einzelnen Formen Entstehung Grundsätzlich lassen sich zwei Phasen der Existenz von Schnee unterscheiden, der Niederschlag und die Ablagerung. In beiden Phasen ist Schnee allerdings einer stetigen Umformung unterworfen. In der freien Natur entsteht Schnee in Wolken, in der kommerziellen Anwendung gibt es auch andere Möglichkeiten Schnee zu erzeugen, wie zum Beispiel mit Schneekanonen. Folgende drei Faktoren sind zur Entstehung von Schnee entscheidend: 1. Temperatur unter 0 C 2. Luftfeuchtigkeitsverhältnisse

18 10 2. GRUNDLAGEN 3. Kondensationskerne Wie bei der Entstehung von Regen spielt die Luftfeuchtigkeit ein große Rolle. Sie beeinflusst die Menge an Wasserdampf, die sich in der Luft befinden kann. Je größer die Temperatur ist, desto größer auch die mögliche Menge an Wasserdampf (Dampfdruck) und somit der mögliche Sättigungsgrad. Zu geringe Temperaturen verhindern Schneefall. Bei Erreichen der Sättigung kann kein Wasserdampf mehr aufgenommen werden. In Wolken befindet sich zudem Wasser in Form von kleinen Wassertropfen, diese enthalten mindestens einen Kondensationskern. Wird die Luft nun abgekühlt, erreicht sie den Taupunkt. Wassertropfen beginnen langsam zu gefrieren und die Wassermoleküle in der Luft können sich durch Resublimation an diesen oder an Kondensationskernen und -flächen anlagern und dort gefrieren (Tabelle 2.5). Wasser der Wassertropfen verdampft zusätzlich kontinuierlich. Die Anlagerung findet nach und nach statt, sodass der Eiskristall immer größer wird. Dabei spielt die Temperatur, der der Eiskristall ausgesetzt ist, eine entscheidende Rolle für die spätere Form. Es wurden bisher mindestens 6000 verschiedene Kristallformen von Bentley und Humphreys nachgewiesen. Tabelle 2.6 stellt eine Übersicht über verschiedene Schneekristalle und ihre Entstehungstemperaturen dar. Bis zu einer kritischen Größe werden Schneekristalle in der Wolke umhergewirbelt und durchfliegen so verschiedene Temperaturen mit unterschiedlichen Wachstumsphasen. Ein Eiskristall weist immer eine sechseckige Grundstruktur auf, deren Ursache in der Molekülstruktur von Wasser zu suchen ist. Durch elektrostatische Kräfte ordnen sich die Moleküle hexagonal an (siehe Abb. 2.4). Die Verzweigtheit der Sterne ermöglicht zudem die Wärme, die beim Gefrieren entsteht, besser abzugeben. Ukichiro Nakaya stellte als erster ein Klassifikation von Schneekristallen auf (Tabelle 2.7) welche inzwischen durch C. Magono und C. W. Lee [ML66] auf 80 Typen erweitert wurde. Aber schon die Tabelle von Nakaya reicht aus um einen guten Überblick über Schneekristallformen zu bekommen. Ab einer kritischen Größe fallen Schneekristalle aus den Wolken als Niederschlag. Auf dem Weg zu Erde durchfallen sie verschiedene Luftschichten mit unterschiedlichen Temperaturen und die Schneekristalle weisen daher erneut verschiedene Wachstumsphasen auf. An einem Plättchen können also noch Sterne wachsen und umgekehrt. Je nach Entstehung lassen sich verschiedene Typen von Schnee unterscheiden: 1. Schneekristalle entstehen in Wolken durch die oben beschriebene Anlagerung von Wasser an Kondensationskerne, welche Staub und Rußpartikel bilden, die sich natürlich in der Luft befinden. 2. Als Schneeflocken bezeichnet man verhakte oder durch winzige Wassertröpfchen zusammen gefrorene Schneekristalle. 3. Reif und Rauhreif, sind Schneekristalle die sich an Oberflächen wie Pflanzen oder Fenstern gebil-

19 2.1. PHYSIKALISCHE GRUNDLAGEN 11 Abbildung 2.4: Anordnung von Wassermolekülen im Eis [Sno08] Abbildung 2.5: Übergänge der Aggregatszustände von Wasser [Wik] det haben. Oberflächenreif bezeichnet dabei Reif auf der Schneeoberfläche und Rauhreif entsteht auf Gegenständen. Reif zeichnet sich durch flächige, plattenförmige oder federartige Kristalle aus. 4. Hagel sind gefrorene Wassertropfen, die ab einer Temperatur von 39 C entstehen Schneeumwandlung (Schneemetamorphose) Hat sich der Schnee erst einmal abgelagert, beginnt Phase zwei seiner Existenz. Für die nun folgende Schneemetamorphose sind verschiedene physikalische Gesetze kennzeichnend. Eiskristalle sind bestrebt eine möglichst kleine Oberfläche einzunehmen. Höherer Dampfdruck bewirkt an den Spitzen der Kristalle eine höhere Abgabe von Wassermolekülen, zudem sind Wassermoleküle an der Oberfläche weniger stark gebunden Schneeigenschaften Schneekristalle in größeren Mengen sind durch folgende physikalische Eigenschaften gekennzeichnet. Dichte - Masse pro Volumeneinheit Wichte - das spezifische Gewicht einer Schneedecke. Wasserwert - Menge an Wasser, die beim Schmelzen aus dem Schnee entstehen würde. Wassergehalt - freies, fließendes Wasser im Schnee von um 0 C, welches bis zu 25% ausmachen kann, wirkt wie ein Schmiermittel. Formänderung und Verformbarkeit - in der Schneedecke finden sich verschiedene Druck-, Scher- und Zugspannungen. Durch die besondere Konsistenz von Schnee und der vielfältigen Schneekristallformen lässt sich Schnee nicht exakt physikalisch behandeln.

20 12 2. GRUNDLAGEN Abbildung 2.6: Temperaturabhängigkeit bei der Schneentstehung [Sno08] Abbildung 2.7: Übersicht über verschiedene Formen von Schneekristallen [Nak54]

21 2.1. PHYSIKALISCHE GRUNDLAGEN 13 Abbildung 2.8: Phasenübergänge von Schnee Festigkeit und Bruchverhalten - neben der Festigkeit( = maximal aufnehmbare Spannung (N/m 2 )) besitzt Schnee allerdings auch Eigenschaften einer zähen Flüssigkeit. Sie entsteht durch Kohäsion und Reibung zwischen den Schneekörnern. Verformungen der Schneedecke - Setzung der horizontalen Schneedecke bezeichnet die Abnahme der Schneehöhe durch abbauende Schneeumwandlung. Kräfte und Spannungen in der Schneedecke - in waagerechter Richtung gibt es keine Scherspannung. Stabilität der Schneedecke - ist das Verhältnis der an einem Ort vorhanden Festigkeit zur dort wirkenden Spannung. Stabilität ist das Gleichgewicht von Festigkeit und Spannung. Reibungswinkel - wie granulare Materialien besitzt Schnee einen maximalen Schüttwinkel. Dieser kann je nach Schneetyp zwischen 90 und 15 betragen[fea00] Fluide Fluide umfassen sowohl Gase als auch Flüssigkeiten, ihre Eigenschaften unterscheiden sich lediglich quantitativ und die meisten physikalischen Gesetze gelten für beide. Tabelle 2.1 stellt dazu vergleichsweise Wasser und Luft gegenüber. Wasser Luft Viskosität η in µp as ,1 Dichte in [kg/m3] 999,975 1,29 Volumenänderung inkompressibel kompressibel Volumenausbreitung begrenzt unbegrenzt Tabelle 2.1: Gegenüberstellung der Eigenschaften von Wasser und Luft

22 14 2. GRUNDLAGEN Für ein Fluid gilt im Gegensatz zu granularen Materialien, dass es einer noch so kleinen Scherkraft keinen nennenswerten Widerstand entgegensetzt. In der Realität existieren die so genannten nicht-newtonschen und newtonschen Fluide. Bei letzteren bleibt die Viskosität bei Änderung der einwirkenden Scherkraft τ konstant τ = η du dy. (2.5) Hier ist η eine Viskositätskonstante und du dy die Schergeschwindigkeit. Auf Grund der größeren Relevanz werden in dieser Arbeit nur newtonsche Fluide berücksichtigt. Grundsätzlich wirkt zwischen zwei Fluidmolekülen die Kohäsion. Trotz dieser Bindung bewegen sich die Moleküle frei in der Flüssigkeit. Die Viskosität ist als Ergebnis der Kohäsion, ein Maß für die Verringerung der relativen Geschwindigkeit zweier Wassermoleküle zueinander. Die Viskosität als Kraft kann man folgendermaßen ermitteln: Wirkt auf die obere von zwei Platten, zwischen denen sich eine Flüssigkeit befindet, eine Kraft, dann lässt sich die Viskosität durch folgende Gleichung berechnen, F = η Aυ x. (2.6) Wobei η die dynamische Viskosität, A die Oberfläche der Platten, v die Geschwindigkeit der oberen Platte und x der Abstand der Platten ist. Die Oberflächenspannung eines Fluides entsteht ebenfalls durch die Kohäsion der Fluidmoleküle. Ein Molekül an der Fluidoberfläche hat nicht so viele Bindungen wie ein Molekül im Inneren, dies ist energetisch nicht neutral, also strebt jedes Molekül an, sich ins Innere des Fluides zu bewegen um einen energetisch ausgeglichenen Zustand zu erreichen. Im Ergebnis formen Fluide mit hoher Oberflächenspannung Tropfen, also immer den energetisch ausgeglichensten Zustand. Ein weiteres Maß eines Fluides ist die Inkompressibilität, sie ist für Flüssigkeiten entsprechend hoch und für Gase niedrig. Im Gegensatz zu granularen Materialien nimmt bei Fluiden der hydrostatische Druck mit 0, 10bar je Meter Eintauchtiefe zu 2. Auf Objekte in Flüssigkeiten wirkt eine Kraft die der Gewichtskraft des verdrängten Fluids entspricht F = p V g. (2.7) Dabei ist p die Dichte des Objektes, V sein Volumen ung g die Gewichtskraft. Die vollständigen Navier- Stokes-Gleichungen beschreiben nun die genannten Eigenschaften von Fluiden im Fluss. Sie wurden von Claude Louis Marie Henri Navier und George Gabriel Stokes entwickelt und bilden bis heute die 2 Der hydrostatische Druck in Wasser beträgt er 9, 807kP a.

23 2.1. PHYSIKALISCHE GRUNDLAGEN 15 theoretische Grundlage zur Beschreibung von Fluiden in den Computational Fluid Dynamics (CFD). In diesem Abschnitt wird lediglich ein grober Überblick zum Verständnis der Prinzipien dieser Gleichungen gegeben. Ihre Berechnung und Anwendung auf die numerische Strömungssimulation, zum Beispiel im Flugzeugbau, hat eine Lange Tradition seit den 50er Jahren des 20 Jahrhunderts und viele wissenschaftliche Arbeiten beschäftigen sich mir Ihrer Anwendung 3. Die ursprünglichen Navier-Stokes- Gleichungen beschreiben lediglich die Impulserhaltung. Wenn man heute von den vollständigen Navier- Stokes-Gleichungen spricht, schließt dies noch Gleichungen zur Masse- und Energieerhaltung ein. Für ein Fluidelement 4 gilt also: 1. Impulserhaltung (originale Navier-Stokes Gleichungen) Kraef te von Aussen + Oberf laechenkraef te = M asse Beschleunigung (2.8) 2. Energieerhaltung Rate der Energieaenderung = T emperaturzuf uhr + verrichtete Arbeit durch Kraef te 3. Massenerhaltung (2.9) M assenabf luss = M assenaenderung (2.10) Die Navier-Stokes-Gleichungen sind ein verbundenes System von nichtlinearen partiellen Differentialgleichungen und entsprechend schwierig zu lösen [KED05] ρ( u t + (u )u) = p + µ ( u) + f. (2.11) Dabei ist ρ die Dichte, u die Geschwindigkeit, t die Zeit, µ der Viskositätskoeffizient und f externe Kräfte. Die linke Seite der Gleichung beschreibt also die Geschwindigkeit und die rechte Seite Kräfte, die im Fluidvolumen auftreten. Der Massenerhaltungssatz lautet dann ρ + (ρu) = 0. (2.12) t Verschiedene Annahmen führen dabei zu Vereinfachungen die in der Computergraphik die Simulationsgeschwindigkeiten wesentlich erhöhen, dabei allerdings die physikalische Genauigkeit der Ergebnisse 3 Eine umfangreiche Einführung in dieses Feld der CFD bietet unter anderem [JDA95]. 4 Die Gleichungen beziehen sich auf ein Fluidelement dessen Größe und ob es im Raum fixiert ist vom entsprechenden Lösungsansatz abhängt (siehe Kapitel 2.2).

24 16 2. GRUNDLAGEN verringern. Eine häufige Vereinfachung ist die Annahme konstanter Dichte im gesamten Fluid, wodurch sich Gleichung 2.12 zu u = 0, (2.13) vereinfacht und zu den so genannten inkompressiblen Navier-Stokes-Gleichungen führt. Diese Annahme ist für Flüssigkeiten realistisch, für Gase allerdings grundsätzlich nicht. Eine weitere Vereinfachung, die sich vorallem für Gase enbietet, schließt Reibung und thermische Übertragung im Fluid aus. Dies führt dann zu den Euler-Gleichungen, von denen es ebenfalls ein kompressibles und inkompressibles Gleichungssystem gibt 5. ρ( u t + (u )u) = p + f. (2.14) 2.2 Grundlagen der Simulation von Partikelsystemen In der Vergangenheit wurde verschiedene Verfahren entwickelt um reale Umgebungen mit Hilfe des Computers möglichst exakt in so genannten virtuellen Welten abzubilden. Die physikalische Simulation von nicht deformierbaren Körpern erfolgt durch Starrkörperphysik, die Reaktionen auf Kollisionen oder Reibung berechnet. Durch Erweiterungen lassen sich auch Materialbrüche plausibel simulieren, wie D. Steinemann, M. Otaduy und M. Gross [SOG06] anschaulich zeigen. Sie verwenden aus polygonalen Netzen generierte Hüllen unter Zuhilfenahme von Masse-Feder-Systemen, um das Zerbrechen von Objekten zu simulieren. Physikalisch exakte Verformungen oder die physikalische Simulation von granularen Materialien oder Fluiden hingegen, bei denen partielle, orts- bzw. zeitabhängige Differentialgleichungen physikalische Erscheinungen beschreiben, benötigen allein schon durch die Menge an zu betrachtenden Elementen andere Verfahren. Die Simulation eines jeden Sandkornes durch einen Starrkörper erzeugt sehr einfach das gewünschte Ergebnis, erfordert aber eine aufwendige Kollisionsüberprüfung für nichttriviale Meshes 6 zwischen allen Elementen und die Bestimmung von Nachbarschaften (O(n 2 ) Problem). Grundsätzlich muss jeder Ansatz zur Simulation von Fluiden und granularen Materialien die folgenden drei Gesetze einhalten. 1. Masseerhaltung 2. Zweite newtonsche Gesetz (F = m a) 5 Hier nur die Gleichung zur Impulserhaltung 6 unter Umständen nicht konvex

25 2.2. GRUNDLAGEN DER SIMULATION VON PARTIKELSYSTEMEN Energieerhaltung Dies spiegelt sich beispielsweise in der Computational Fluid Dynamic (CFD), wie in Kapitel dargelegt, in den drei Gleichungen 1. Kontinuitätsgleichung 2. Impulsgleichung 3. Energiegleichung wieder. Die Starrkörperphysik betrachtet einen Sandhaufen als Diskontinuum 7. Der Gegensatz dazu ist die Betrachtung als Kontinuum. Dieser Gegensatz spiegelt sich auch in den entsprechenden Lösungsansätzen wieder. Das Diskrete-Elemente-Verfahren (DEM) 8 betrachtet als Einheit einen sich bewegenden Punkt im Raum oder ein sich bewegendes Volumen beim Verfahren des moving finite control volume, die jeweils Masse und Geschwindigkeit des Materials besitzen. Diese werden so einfach im System erhalten und der Ausbreitung des Materials in der Szene sind keine Grenzen gesetzt. Der Nachteil dieser Verfahren sind allerdings die schwierige Einhaltung von Volumenerhaltung, Inkompressibilität und eine aufwändige Suche benachbarter Einheiten. Die komplementären Verfahren Finite-Differenzen-Verfahren (FDM) 9 und Finite-Volumen-Verfahren 10 betrachtet den zeitabhängigen Materialfluss durch einen Raumpunkt oder Raumvolumen. Die partiellen Differentialgleichungen können so zu einem System von Differenzengleichungen umgewandelt werden. Nachteile hierbei sind die Begrenzung der Materialausbreitung, da nur dort wo ein Gitter ist auch die entsprechenden Materialeigenschaften berechnet werden können, und die Erhaltung der Masse. Die Abbildung 2.9 bietet noch einmal einen Gesamtüberblick über die besprochenen Themen. Alle diese prinzipiellen Ansätze sind seit vielen Jahren erforscht 11 und wurden in der Vergangenheit erweitert um ihre spezifischen Schwächen auszugleichen oder den Berechnungsaufwand zu verringern. Ein Ergebnis ist die hybride MAC-Methode 12. Dieser Ansatz verwendet ein eulersches Gitter, in dem die Position von Material durch Partikel definiert wird, die sich mit dem Material bewegen. Je nach verwendetem Ansatz, können diese Markerpartikel nur zur Visualisierung verwendet werden oder auch 7 Jedes Element wird als einzelnes Objekt betrachtet. Auf Atomebene ist jedes Material ein Diskontinuum. 8 auch moving infinitesimally small volume 9 auch fixed infinitesimally small volume 10 auch fixed finite control volume 11 als eine von vielen Referenzen siehe [JDA95] 12 marker and cell-method, entwickelt von Harlow und Welch 1965.

26 18 2. GRUNDLAGEN Abbildung 2.9: Übersicht über CFD Verfahren [JDA95]

27 2.3. PHYSIKENGINES 19 Eigenschaften wie Masse, Impuls und Energie 13 besitzen, bis hin zu Verfahren, die das eulersche Gitter lediglich zur Interaktionsberechnung verwenden 14. Das Gebiet dieser Verfahren ist inzwischen allgemein auf ein Maß angewachsen, das jede Arbeit sprengen würde. Zum grundlegenden Verständnis genügen die genannten Verfahren. Kapitel 3 enthält dann einige spezielle Anpassungen dieser Verfahren zur Simulation der vier untersuchten Materialtypen. 2.3 Physikengines Nach der Dechiffrierung von Geheimcodes ist die physikalische Simulation die zweitälteste Anwendung für ein Computersystem. Bereits 1946 wurde der Computer ENIAC zur Berechnung der ballistischen Flugbahn von Projektilen verwendet. Seitdem werden Physikengines in verschiedensten Gebieten eingesetzt so z.b. in der Wettersimulation, in Fahrsimulatoren oder Computerspielen. Eine Physikengine stellt dabei ein Framework zur Verfügung, das verschiedene physikalische Simulationen für einen Teilschritt t durchführt. Je nach ihrem Verwendungszweck lassen sich Physikengines in zwei Gebiete einteilen. Zum einen gibt es die Präzisionsphysikengines, bei denen die physikalische Simulation im Vordergrund steht. Hier werden je nach Anwendungsgebiet Berechnungszeiten von mehreren Stunden oder Tagen für einen Zeitschritt in Kauf genommen, um eine möglichst exakte Vorhersage der Realität zu erhalten. Sie dienen vorwiegend dazu, Erkenntnisse aus der Simulation auf die Realität zu übertragen, zum Beispiel in der Crashtestsimulation, in der Aerodynamik oder in der Wettervorhersage. Die physikalische Simulation beschränkt sich dabei häufig nur auf ein einziges Teilgebiet der Physiksimulation. So beispielsweise bei der Software Multiphysics von Comsol [Com08]. Sie besteht aus verschiedenen Modulen mit denen unterschiedliche reale physikalische Eigenschaften von Objekten untersucht werden können (siehe Abb. 2.10). Die Software Flow3D [Flo08] hingegen ist vollständig auf den Bereich der CFD-Simulation beschränkt. Zum anderen gibt es die so genannten Echtzeitphysikengines 15, bei denen ein plausibles Verhalten der physikalischen Simulation ausreichend ist. Für die Simulation einer kompletten virtuellen Umgebung gibt es hier lediglich eine Latenz von wenigen Millisekunden, was eine starke Vereinfachung der physikalischen Gesetze verlangt. Diese kommen zum Beispiel in militärischen Trainingssimulationen zur Anwendung wie der Simulationsumgebung der Firma Presagis [Pre08]. Durch zusätzliche Module anderer Hersteller lässt sich die Software nicht nur um physikalische Simulation sonder auch KI Simulation 13 Particle-in-Cell-Methode(PIC) 1963 von Harlow entwickelt. 14 Fluid-Impicit-Particle-Methode (FLIP) 15 Unter tatsächlicher Echtzeit versteht man, das die Dauer zur Berechnung eines Simulationsschrittes maximal der Länge des zu berechnenden Simulationsschrittes entspricht.

28 20 2. GRUNDLAGEN Abbildung 2.10: Die verschiedenen Module der Software Multiphysics [Com08]

29 2.3. PHYSIKENGINES 21 und andere erweitern. Die realitätsnahe Visualisierung und Demonstration großer Szenen von mehreren Hektar stehen hier im Vordergrund. Abbildung 2.11: Die Simulationsumgebung der Firma Presagis[Pre08] Wenn im folgenden Text von Physikengines gesprochen wird, sind damit immer Echtzeitphysikengines gemeint Grundlegende Arbeitsweise von Physikengines Eine Physikengine lässt sich wie folgt in die Softwarearchitektur einordnen: Abbildung 2.12: Einordnung von Physikengines in die Softwarearchitektur Sie liegt also zwischen der Hardwareschicht und einer Abstraktionsschicht oder der Anwendungsschicht und stellt Algorithmen beziehungsweise Bibliotheken zur Verfügung, die zur Lösung verschiedener physikalischer Phänomene dienen. In der Realität sind diese Phänomene kontinuierlicher Natur. Ein Geschoss hat keine konstante Geschwindigkeit sondern wird durch Luftreibung ständig abgebremst. Um physikalische Simulation für ein Computersystem handhabbar zu machen, müssen die kontinuierlichen Vorgänge und die sie beschreibenden Differentialgleichungen durch diskrete Zeitschritte und Gleichungen beschrieben werden. Generell übernimmt eine Physikengine den Zustand der virtuellen Umgebung (Eigenschaften der Objekte, wirkende Kräfte) als Anfangs- und Randbedingungen, löst die entsprechenden Gleichungen für einen bestimmten Zeitschritt t und aktualisiert wieder die virtuelle Umgebung. Zur schnellstmöglichen Berechnung verwenden numerische Differentialgleichungslöser meist Systeme mit Differentialgleichungen 1. Ordnung. Als Einführung sei hier der Berechnungsansatz der Bewegung ei-

30 22 2. GRUNDLAGEN nes Massepunktes mit konstanter Masse gegeben. Die Bewegung lässt sich durch folgendes newtonsches Gesetz (Differentialgleichung zweiter Ordnung) beschreiben: F (t) = m v(t) = m a(t) = m r(t) (2.15) Dabei ist m die Masse, F (t) die zeitabhängige Kraft, r der Ortsvektor und v die Geschwindigkeit. Eine Differentialgleichung n-ter Ordnung lässt sich dann durch n Differentialgleichungen erster Ordnung beschreiben: r = v (2.16) v = F /m (2.17) Diese Differentialgleichungen können durch verschiedene Ansätze wie Runge-Kutta oder Leapfrog gelöst werden 16. Die Geometrie die eine Physikengine grundsätzlich verarbeiten kann, ist aufgrund der Fokussierung für Echtzeitanwendungen sehr einfach. Generell werden primitive Objekte wie Kugeln, Quader, Kapseln oder auch Zylinder unterstützt. Fortgeschrittene Physikengines bieten zudem noch Unterstützung für konvexe Polygonnetze und beliebige Polygonnetze mit einer hohen Anzahl an Polygonen als statische Objekte nur zur Kollisionserkennung. Oft ist es aus diesem oder Performancegründen nötig, komplexere geometrische Objekte entweder aus verschiedenen Primitiven zusammenzusetzen oder lediglich die geometrische Form anzunähern. Das Verhalten eines dynamischen Körpers wird durch verschiedene Eigenschaften wie Masse, Reibungen, Elastizität oder Luftwiderstand bestimmt, bei statischen Körpern entfällt die Masse. Einige Physikengines unterstützen zudem die Simulation von so genannten Partikelsystemen mit zusätzlichen Eigenschaften. Der wichtigste Unterschied zu normalen Partikelsystemen, die lediglich die Flugbahn jedes einzelnen Partikels berechnen, ist der Einfluss der Partikel aufeinander (z.b. Viskosität) und die Umgebung. Die Fähigkeiten einer Physikengine lassen sich grob in folgende Einsatzgebiete unterteilen: Kinematik Kollisionserkennung Dynamik starrer Körper 16 Weiterführende Informationen zu diesem und verschiedenen anderen Themen bzgl. physikalischer Simulation finden sich zum Beispiel auf der Website von Pixar [Pix01] bei den Kursskripten der Siggraph von 2001.

31 2.3. PHYSIKENGINES 23 Einschränkung von Gelenken Stoffsimulation Partikelsimulation Die Kinematik beschreibt als Teilbereich der Physik die Bewegung von Objekten anhand der vier Größen Masse, Positionen, Geschwindigkeit und Beschleunigung. Ein Objekt kann dabei entweder durch eine direkte Kraft, einen Impuls oder das direkte Setzen einer Objektgeschwindigkeit bewegt werden. Durch Kollisionserkennung können Objekte aufeinander einwirken wobei verschiedene Kollisionsarten unterschieden werden. Die Kontaktart beschreibt in welcher Fläche sich die Objekte berühren. Je nach Objekteigenschaft lässt sich außerdem zwischen elastischem und unelastischem Stoß unterscheiden und je nach Auftreffwinkel zwischen geradem und schiefem Stoß. Grundsätzlich wird der Effizienz wegen eine Kollision durch Objektüberschneidungen bestimmt. Bei hohen Geschwindigkeiten kann es dabei zu Fehlern in der Kollisionserkennung kommen. Die physikalische Simulation erfolgt zu diskreten Zeitpunkten. Wäre ein kleines schnelles Objekt im Zeitpunkt t 1 vor einem größeren Körper und im Zeitpunkt t 2 bereits dahinter, so würde eine Kollision nicht erkannt werden. Die einfachste Lösung für dieses Problem wäre den Zeitschritt der Simulation möglichst klein zu wählen. Dies erhöht denn allgemeinen Rechenaufwand allerdings linear. Es lassen sich auch andere Verfahren anwenden, zum Beispiel indem man nicht das Objekt an bestimmten Zeitpunkten betrachtet sondern zur Kollisionserkennung das gesamte Bewegungsvolumen dieses Objektes heranzieht. Ein weiteres Teilgebiet ist die Dynamik starrer Körper, die zwei Bewegungsarten eines Objektes berücksichtigt und zwar die Translation und die Rotation. Die Einschränkung von Gelenken beschreibt verschiedene Arten von Gelenken wie Kugelgelenke oder Zylindergelenke. Zu den Massefedersystemen gehören nicht nur die Verbindungen zwischen zwei Starrkörpern, sondern auch die Stoffsimulation. Diese vereint ein Massefedersystem und ein Partikelsystem. Ein Stoffstück wird durch ein Gitter beschrieben, das Massefedersystem sorgt dabei für die Simulation der Zugspannung zwischen den Gitterpunkten. Die Kollision mit Objekten entsteht durch Partikel an jedem Gitterknoten. Freie Partikelsysteme zeichnen sich, wie bereits erwähnt, durch die Kräfte zwischen den einzelnen Partikeln aus. Die Steifheit eines Partikels ist die grundsätzlichste Eigenschaft und sorgt für die Volumenerhaltung des Partikelsystems. Ohne Steifheit könnten sich unendlich viele Partikel an einem Punkt im Simulationsraum aufhalten.

32 24 2. GRUNDLAGEN Umsetzung Hardware beschleunigter Physikengines Noch Mitte des Jahres 2007 liefen Physikengines auf drei verschiedenen Prozessortypen, zum einen alle Open Source Physikengines sowie Havok auf der CPU, der Ableger Havok FX auf der GPU und die Physikengine PhysX auf der Physics Processing Unit (PPU). Im September 2007 kaufte Intel Havok und beendete damit die vorläufige Entwicklung von Havok FX. Seitdem forciert Intel die CPU mit mehreren Kernen und mehrere CPUs in einem Computer (vgl. Nehalem-Architektur) als Hardware für Physikengines. Im Februar 2008 kaufte Nvidia schließlich Ageia und besiegelte so das Ende der PPU. Seitdem arbeitet Ageia daran die Physikengine PhysX auf die Architektur CUDA der Nvidia Grafikkarten vom Typ Geforce 8 zu portieren. Für die vorliegende Diplomarbeit ist allerdings der Stand vom Januar 2008 entscheidend, also die Umsetzung der PhysX-Engine auf der PPU, da es noch kein PhysX SDK auf Basis von Geforce Karten gibt. Abbildung 2.13: Marktübersicht im Sommer 2007 Abbildung 2.14: Marktübersicht im März PhysX Die Grundlage zur Umsetzung der physikalischen Simulation granularer Materialien und Fluide in dieser Arbeit ist die PhysX Engine von Ageia. Obwohl es eine Vielzahl von verfügbaren Physikengines gibt, blieb PhysX als eine der beiden möglichen und davon als interessanteste Wahl übrig. Lediglich die OpenTissue Engine [[Ope08a] bietet noch die Simulation von Partikelsystemen und von diesen beiden läuft nur PhysX auf gesonderter Hardware und hat somit einen großen Geschwindigkeitsvorteil. Für den Bereich der Partikelsimulation gibt es also bei den erhältlichen Physikengines keine große Wahlmöglichkeit, den Bereich der Starrkörperphysik hingegen decken alle Physikengines mehr oder weniger ab. Lediglich Havok bietet noch Stoffsimulation. In ihrer Arbeit aus dem Jahr 2006 evaluieren Axel Seugling und Martin Rölin [SR06] alle zu diesem Zeitpunkt erhältlichen Physikengines und testen drei

33 2.3. PHYSIKENGINES 25 dieser Physikengines auf die Exaktheit der physikalischen Simulation für Starrkörper und Gelenke. Die Novodex Engine (heute PhysX) schneidet dabei am besten ab. Adrian Boeing und Thomas Bräunl testen in ihrer Arbeit ebenfalls Physikengines [BB07] 17. Dabei stellt sich heraus, das keine der getesteten Physikengines alle Tests optimal erfüllt und teilweise sehr starke Abweichungen von realem physikalischem Verhalten auftreten. Jede Physikengine ist nur so gut wie die verwendeten Algorithmen und das mathematische Modelle die Realität nicht immer korrekt abbilden sieht man in Abbildung Direkt übereinander liegende Kugeln landen, wenn sie fallen gelassen werden, immer exakt aufeinander. Allen untersuchten Physikengines wiesen dieses Verhalten auf, das in der Realität höchst unwahrscheinlich ist. Abbildung 2.15: PhysX Kugeln fallen, springen und landen perfekt aufeinander. Erst ein seitlicher Kugelstoß bringt sie aus dem Gleichgewicht PPU Die Firma Ageia mit ihrer PhysX-Engine (ehemals Novodex) hat eine eigene PPU (Physics Processing Unit 18 ) entwickelt. Diese gibt es als Steckkarte für PCI und übernimmt die Berechnung von PhysX, allerdings mit gewissen Einschränkungen. Ohne zusätzliche Karte bietet PhysX ebenfalls die volle Funktionalität, allerdings mit Geschwindigkeitseinbußen, da dann die CPU die Physiksimulation übernimmt. Laut Ageia kann die Karte 20 Milliarden Anweisungen pro Sekunde verarbeiten (20 MFlop/s). Das wird durch mehrere parallel arbeitende Prozessorkerne und eine schnelle Speicheranbindung von 20 Tb/s erreicht. Der PhysX Prozessor soll maximal 530 Millionen Kugelkollisionen pro Sekunde berechnen können. Ein tatsächlicher Benchmark ergibt, dass ein Zeitschritt von 1 60s bei ca sich bewegenden Kugeln in einer Sekunde berechnet ist (Abb. 5.5). Die Architektur der Karte ist aus Gründen des Betriebsgeheimnisses allerdings fast vollkommen unbekannt, daher gibt es keine Möglichkeit diese Werte zu überprüfen. Es ist bekannt, dass der Prozessor aus mehreren unabhängigen Vektorprozessoren und 125 Millionen Transistoren besteht (zum Vergleich der Pentium 4 Typ Prescott hat die gleiche 17 Vergleiche die Website des Physik Frameworks PAL (physics abstraction layer) [PAL08]. PAL bietet als Abstraktionsschicht (siehe Abb. 2.12) eine Schnittstelle zu verschiedenen frei erhältlichen Physik Engines. Auf der Website findet sich eine Demo sowie verschiedene Diagramme, die die Ergebnisse bei der physikalischen Simulation der unterstützten Physikengines aufzeigen. 18 unter PPU - Physics Processing Unit versteht man einen Vektorprozessor, der speziell auf eine Anforderung (hier Physiksimulation) zugeschnitten ist.

34 26 2. GRUNDLAGEN Anzahl). Zudem verfügt die Karte über 128 MB GDDR3 Speicher der mit 733Mhz getaktet ist. Die einzigen, dem Autor bekannten Informationsquellen für ein mögliches Chipdesign sind [Bla06] und ein Artikel auf arstechnica.com [Sto07]. Dort werden die aktuellen Patente von Ageia untersucht und ein mögliches Design abgeleitet. Diese Artikel müssen aber ohne offizielle Angaben reine Spekulation bleiben. Die vorliegende Arbeit beschränkt sich daher auf eine reine softwareseitige Analyse von PhysX. Die Übernahme Ageias durch Nvidia im März 2008 schließt vorerst auch das Kapitel einer eigenständigen PPU und die Verwendung der Geforce 8 Architektur CUDA mag in Zukunft mehr Rückschlüsse auf die Implementierung von PhysX zulassen API Dieser Abschnitt dient der Vorstellung der PhysX API und geht detailliert auf für das Verständnis der implementierten Lösung wichtige Klassen und deren Verwendung ein. Viele andere Aspekte der PhysX Engine können nur am Rande behandelt werden. Für weiterführende Informationen sind daher bei jedem Thema die Klassennamen oder wichtige Schlagworte wie zum Beispiel NxPhysicsSDK angegeben. Diese werden detailliert in der umfassenden PhysX Dokumentation behandelt. Um die Dokumentation zu erhalten ist es nötig, das PhysX SDK bei [Age08] herunterzuladen und zu installieren. Simulationssteuerung Um eine PhysX Szene zu erzeugen wird zuerst das PhysX SDK (NxPhysicsSDK) instantiiert und anschließend eine neue Szene (NxScene) erzeugt. Die Anzahl an Szenen kann beliebig sein, das PhysX SDK kann nur einmal instantiiert werden. Die physikalische Simulation der Szene lässt sich in die drei in Abbildung 2.16 gezeigten Phasen unterteilen. Abbildung 2.16: Programmablaufshema Als erstes wird die Physik Simulation durch den Befehl simulate gestartet. Dadurch beginnt ein eigenen PhysX Thread der auf einem CPU Kernel läuft und entweder die CPU oder die PPU für die

35 2.3. PHYSIKENGINES 27 Name NX_FORCE NX_IMPULSE Bedeutung Einheit Masse Entfernung Zeit 2 Einheit Masse Entfernung Zeit (Geschwindigkeitsänderung (masseabhängig)) (Kraft) NX_VELOCITY_CHANGE NX_ACCELERATION Einheit Entfernung Zeit Einheit Entfernung Zeit 2 (Geschwindigkeitsänderung) (Beschleunigung) Tabelle 2.2: Kraftarten physikalischen Berechnungen verwendet. Die physikalischen Eigenschaften aller Objekte werden im Hauptspeicher oder auf die Physikkarte dupliziert. Alle Eigenschaften der Objekte im Hauptspeicher bleiben so konsistent und stehen zur weiteren Verwendung zur Verfügung. Simulate nimmt als Parameter die zu simulierende Zeitdauer. Das konkrete Verhalten richtet sich aber nach den Parametern die mit settiming an PhysX übergeben werden. So kann man einstellen wie lange ein einzelner Simulationsschritt ( 1 50 s bis 1 100s) dauern darf und wie viele Simulationsschritte maximal simuliert werden dürfen. Die obere Begrenzung des Simulationsschrittes ergibt die maximale Geschwindigkeit mit der ein Objekt sich bewegen darf ohne starke Durchdringungen zu erzeugen, ein Wert größer als 1 50s würde selbst bei geringen Geschwindigkeiten grosse Durchdringungen von Objekten bewirken. Die untere Begrenzung ist keine Grenze im eigentlichen Sinn, je geringer der Zeitschritt, desto exakter ist die Simulation auf Kosten der Simulationssgeschwindigkeit. Diese Einstellungen sind also kritisch für die Stabilität der Simulation und für den Einfluss manuell eingefügter Kräfte. Eine zu große Zeitspanne macht die Simulation instabil und für die Größe manuell zugefügter Kräfte muss die Anzahl an Simulationsschritten und ihre Länge bekannt sein. Während der Berechnung des Simulationsschrittes können weitere Aufgaben, wie zum Beispiel die Visualisierung oder die Programmlogik, verarbeitet werden. Sobald die Ergebnisse der Simulation berechnet sind, werden die entsprechenden Daten im Hauptspeicher durch den Befehl fetchresults aktualisiert. Die Physiksimulation lässt sich durch manuelle hinzugefügte Kräfte beeinflussen. Tabelle 2.2 gibt eine Übersicht über die Art der Kräfte. Als nächster Schritt können also eigene Algorithmen auf der CPU für den Einfluss zusätzlicher Kräfte auf die einzelnen Objekte berechnet werden. Sobald dieser abgeschlossen ist, kann der nächste diskrete Zeitschritt simuliert werden. Im Ergebnis sieht ein typisches PhysX Programm so aus:

36 28 2. GRUNDLAGEN void startphysx() { // Initialisiere PhysXSDK NxPhysicsSDKDesc desc; NxPhysicsSDK gphysicssdk = NxCreatePhysicsSDK(NX_PHYSICS_SDK_VERSION, NULL, new ErrorStream(), desc, &errorcode); // Erzeuge eine Szene NxSceneDesc scenedesc; scenedesc.gravity = NxVec3(0.0f, -9.81f, 0.0f); NxScene gscene = gphysicssdk->createscene(scenedesc); // Bodenplatte erzeugen NxPlaneShapeDesc planedesc; NxActorDesc actordesc; actordesc.shapes.pushback(&planedesc); gscene->createactor(actordesc); // Würfel erzeugen createbox(); // Terrain erzeugen createterrain(); // Fluid erzeugen createfluid(); // Hauprogrammschleife while (!exit) { // Simulation starten gscene->simulate(1.0f/60.0f, 1); gscene->flushstream(); // solange keine Simulationsergebnisse while (!gscene->fetchresults(nx_rigid_body_finished, true)) { // Rendere alle Objekte renderallobjects(); // Mach irgendwas anderes dosomethingelse(); } // zusätzliche Einwirkungen auf die Szenenobjekte moveobjects(); calculateuserforces(); } } Szenenstruktur Die Struktur von PhysX ist einfach und basiert auf Listen, im Gegensatz zum Beispiel zum Szenengraph in 3D Renderengines. Es können mehrere Szenen parallel erzeugt und jede einzelne Szene getrennt

37 2.3. PHYSIKENGINES 29 NX_PRUNING_NONE NX_PRUNING_OCTREE NX_PRUNING_QUADTREE NX_PRUNING_DYNAMIC_AABB_TREE NX_PRUNING_STATIC_AABB_TREE Kein Suchbaum vorberechneter Octree vorberechneter Quadtree (für flache Szenen) Dynamischer AABB Baum Statischer AABB Baum Tabelle 2.3: mögliche Suchbaeume in PhysX simuliert werden. Wie in der Übersicht 2.17 zu sehen, kann jede einzelne Szene noch zusätzlich weitere Compartments der Klasse NxCompartment enthalten. Compartements sind spezielle Szenen, die einem von drei verschiedenen Simulationstypen zugeordnet werden, dies sind Stoffsimulation, Starrkörperphysik und Fluidsimulation 19. Abbildung 2.17: PhysX-Struktur Die Szene kann wie bereits erwähnt in Software auf der CPU oder in Hardware auf der PPU bearbeitet werden. Die Kollisionserkennung wird im Allgemeinen in die breite Phase und die nahe Phase unterteilt. Die breite Phase gruppiert Objekte, deren Bounding Boxen sich überlappen, und die nahe Phase prüft schließlich auf Polygonebene, ob sich Körper überschneiden. Mit PhysX besteht die Möglichkeit, die breite Phase entweder auf der CPU ohne Limitierung der Objektanzahl (64000) oder auf der PPU mit Limitierung der Objektanzahl (4080) durchzuführen. Um die Kollisionsberechnung effizient durchzuführen besteht die Möglichkeit zwischen verschiedenen Suchbäumen zu wählen (siehe Tabelle 2.3). 19 Anmerkung des Autors: In Zukunft soll es nur noch ein Compartment für jede Simulationsart geben.

38 30 2. GRUNDLAGEN Objektinstantiierung Nachdem eine Szene instantiiert wurde, können innerhalb dieser verschiedene Objekte erzeugt werden. Jede Szene enthält eine Liste von Objekten und diese Objekte wieder eine Liste von ihnen zugeordneten Oberflächen. Anhand der Erzeugung eines einfachen Actors der Klasse NxActor soll nun exemplarisch gezeigt werden, wie Objekte in PhysX erzeugt und verändert werden können: void createbox() { // Erzeuge den Körper NxBodyDesc bodydesc; bodydesc.angularvelocity = NxVec3(0, 1, 0); // Erzeuge eine Oberflächenbeschreibung NxBoxShapeDesc boxdesc; boxdesc.dimensions = NxVec3(1, 1, 1); // Erzeuge einen Actor NxActorDesc actordesc; actordesc.shapes.pushback(&boxdesc); actordesc.body = &bodydesc; actordesc.density = 10.0f; actordesc.globalpose.t = NxVec3(0, 1, 0); // Erzeuge den Actor in der Szene gscene->createactor(actordesc); } Zur Erzeugung von Objekten werden Beschreibungen verwendet. In diesem Beispiel wird zuerst eine Beschreibung über den Körper des Objektes erzeugt. Hier können verschiedene Parameter wie eine Anfangsgeschwindigkeit festgelegt werden. Als nächstes wird eine Oberflächenbeschreibung des zu erstellenden Objektes erzeugt, die aus von PhysX unterstützten Objektformen besteht (siehe Tabelle 2.4). In diesem Beispiel wird ein Würfel mit der Kantenlänge von einem Meter erzeugt. Schließlich erzeugen wir eine Beschreibung des zu erstellenden Objektes mit den Eigenschaften wie Dichte und globale Position und verknüpfen diese Beschreibung mit den Beschreibungen des Körpers und der Oberfläche. Durch den Befehl createactor auf der Instanz von NxScene wird das Objekt schließlich erzeugt. Die meisten Parameter eines erstellten Objektes können später noch verändert werden. Zusätzlich ist es möglich, die Oberflächen auszutauschen, Kräfte auf das Objekt wirken zu lassen oder physikalische Eigenschaften direkt zu ändern. Von denen in Tabelle 2.4 gezeigten Oberflächenformen bilden beliebige Polygonnetze die komplexeste

39 2.3. PHYSIKENGINES 31 Form dynamisch/kinematisch statisch Einschränkung Ebene Ja Ja - Kugel Ja Ja - Würfel Ja Ja - Kapsel Ja Ja - Konvex Ja Ja 256 Polygone Rad Ja Ja - Höhenfeld Nein Ja reguläres rechteckiges Gitter Polygonnetz Nein Ja - Tabelle 2.4: Unterstützte Oberflächenformen von PhysX [Age08] Oberfläche und müssen gesondert behandelt werden. Damit PhysX effiziente Kollisionsberechnungen durchführen kann, muss das Polygonnetz vorher umgewandelt werden (Cooking), Ageia [Age08] macht allerdings keine Angaben wie das geschieht. Während der Umwandlung wird zusätzlich die Masse und der Masseschwerpunkt des Polygonnetzes bestimmt. Der gesamte Prozeß kann je nach Größe des Netzes einige Zeit in Anspruch nehmen und wird wie folgt im Code umgesetzt:

40 32 2. GRUNDLAGEN void createterrain() { // Cooking Bibliothek initialisieren static NxCookingInterface *gcooking = NxGetCookingLib(NX_PHYSICS_SDK_VERSION); gcooking->nxinitcooking(); // Physikalisches Modell bauen NxTriangleMeshDesc terraindesc; terraindesc.numvertices = TERRAIN_NBVERTICES; // Vertexanzahl terraindesc.numtriangles = TERRAIN_NBFACES; // Polygonanzahl terraindesc.pointstridebytes = sizeof(nxvec3); // Abstand der Vertice im Speicher terraindesc.trianglestridebytes = 3*sizeof(NxU32); // Abstand der Polygone im Speicher terraindesc.points = terrainvertices; // Speicheradresse der Vertices terraindesc.triangles = terraintriangles; // Speicheradresse der Poylgone terraindesc.flags = 0; // Flags // Physikalische Modell umwandeln NxStream mesh; gcooking->nxcooktrianglemesh(bunnydesc, mesh); terrainmesh = gphysicssdk->createtrianglemesh(mesh); // Polygonnetz konfigurieren NxTriangleMeshShapeDesc terrainshapedesc; terrainshapedesc.meshdata = terrainmesh; terrainshapedesc.materialindex = matind; // Actor erzeugen NxActorDesc actordesc; actordesc.shapes.pushback(&terrainshapedesc); gscene->createactor(actordesc); } Da Höhenfelder und Polygonnetze aus vielen Polygonen bestehen können, empfiehlt sich für die hardwaregestützte Simulation eine Aufteilung und bei Bedarf erst die Übertragung des Teilnetzes auf die Hardware (Mesh Paging). Dies kann entweder automatisch von PhysX oder manuell geschehen. Geschieht die physikalische Simulation in Software spielt Mesh Paging keine Rolle. Fluide PhysX zeichnet sich durch seine einfache Repräsentation von Fluiden aus und verwendet zur Simulation einzelne Partikel, deren physikalisches Verhalten über den Lösungsansatz der Smoothed Particle Hydrodynamics (SPH) berechnet wird. Der konkrete Algorithmus ist allerdings nicht öffentlich bekannt, für eine theoretische Einführung in SPH siehe Kapitel 3.1. Folgende Beispielszene erzeugt ein Fluid mit einem Emitter:

41 2.3. PHYSIKENGINES 33 void createfluid() { // Initiale Fluideigenschaften NxFluidDesc fluiddesc; fluiddesc.settodefault(); fluiddesc.simulationmethod = NX_F_SPH; fluiddesc.maxparticles = MAX_PARTICLES; fluiddesc.restparticlespermeter = 50; fluiddesc.stiffness = 1; fluiddesc.viscosity = 6; // Partikelpuffer gparticles = new NxVec3[fluidDesc.maxParticles];... // Fluid erzeugen NxFluid gfluid; gfluid = gscene->createfluid(fluiddesc); } //Emitter erzeugen NxFluidEmitterDesc emitterdesc; emitterdesc.rate = 5.0; emitterdesc.particlelifetime = 4.0f; gfluidemitter = gfluid->createemitter(emitterdesc); Zur Erzeugung eines Fluids dient hier ebenfalls eine Objektbeschreibung mit den entsprechenden Starteigenschaften. Einige der möglichen Parameter sind im Codebeispiel schon angeführt, eine komplette Übersicht aller möglichen Eigenschaften findet sich in Tabelle 2.5. Einige Parameter haben einen wesentlichen Einfluss auf den Lösungsansatz und sind über die Dauer der Existenz eines Fluids unveränderbar. Fluide können vollständig mit allen anderen Objekten einer PhysX Szene interagieren. Lediglich die Interaktion mit Stoffen ist nicht vollständig korrekt. So kann zum Beispiel kein Stoffsack mit Wasser befüllt werden. Fluidpartikel können auf dynamische Objekte eine Kraft auswirken, die Kollisionsgeometrie mit statischen Objekten wird dynamisch in an den Achsen ausgerichteten Bounding Boxen (AABB) erzeugt und gespeichert. Die Größe der AABB und die damit maximal mögliche Anzahl von Partikeln, die in einer AABB berechnet werden, kann über den Parameter packetsizemultiplier gesteuert werden. Kräftefelder PhysX unterstützt Kräftefelder NxForceField, die auf Objekte eine Kraft und einen Drehmoment bewirken. Ein Kräftefeld besteht aus zwei wichtigen Bestandteilen, einem Volumen, in dem es auf Objekte wirkt, und einer Kernfunktion NxForceFieldLinearKernel zur Berechnung der Kräf-

42 34 2. GRUNDLAGEN Eigenschaft Bedeutung Veränderbar packetsizemultiplier Einteilung des Raumes in Packet (Gitter) Nein maxparticles maximale Anzahl an Partikeln Nein kernelradiusmultiplier Radius des SPH-Kernels Nein restdensity Dichte (Wasser ca 1000) Nein restparticlespermeter Partikel je Meter Nein motionlimitmultiplier maximale Bewegungsweite je Zeitschritt Nein collisiondistancemultiplier Entfernung von Oberflächen Nein viscosity Viskosität Ja damping Dämpfung Ja dynamicfrictionforstaticshapes Reibung auf statischen Oberflächen Ja restitutionforstaticshapes Abstossung von statischen Oberflächen Ja dynamicfrictionfordynamicshapes Reibung auf dynamischen Oberflächen Ja restitutionfordynamicshapes Abstossung von dynamischen Oberflächen Ja CollisionResponceCoefficient Abstossung dynamischer Objekte Ja stiffness Steifheit Ja simulationmethod Simulationsmethode (SPH AN oder AUS) Ja externalacceleration externe Kräfte (zbsp. Gewichtskraft) Ja Tabelle 2.5: Eigenschaften eines Fluids in PhysX [Age08]

43 2.4. OGRE3D 35 te. Das Volumen wird wie bei normalen Objekten über Oberflächen beschrieben, welche additiv oder subtraktiv zum Volumen des Kräftefeldes beitragen. Gültige Oberfläche sind Kugel, Kapsel, Würfel und konvexe Oberflächen. Als Kernfunktion des Kräftefeldes kann entweder die vorgegebene lineare Kernfunktion verwendet oder eine eigene durch eine C.h Datei definiert werden. Die vorgegebene lineare Kernfunktion berechnet die Differenz zwischen der aktuellen Position und einer Zielposition und Geschwindigkeit. So lassen sich einfach Tornados, Wind oder Explosionen realisieren. Die Wirkungen auf verschiedene PhysX Objekte oder Objekttypen lassen sich getrennt durch Skalierungsparameter NxForceFieldMaterial beeinflussen. Um die Kräfte an bestimmten Punkten für zusätzliche Berechnungen zu verwenden, kann man die Funktion samplepoints verwenden. Weitere Objekte Zusätzlich unterstützt PhysX noch Gelenke (Joints), Softbodys NxSoftBody und Stoffe NxCloth. Diese sind für die vorliegende Arbeit allerdings nicht mehr relevant, detailierte Informationen finden sich in der im PhysX SDK integrierten Dokumentation [Age08]. Abbildung 2.18: Weitere PhysX Objekte: Stoff, Stoff als geschlossene Oberfläche, Softbody, Zylindergelenk 2.4 Ogre3D Die Object-Oriented Graphics Rendering Engine (Ogre [Ogr08a]) ist eine frei erhältliche Grafikengine, die unter der GNU Lesser General Public License steht. Ogre ist die am häufigsten verwendete Open Source Render Engine [3DE08]. Neben ihr existieren noch weitere populäre Open Source Render Engines wie Irrlicht([Irr08]) oder Openscenegraph([Ope08b]). Obwohl der Fokus der vorliegenden Diplomarbeit lediglich auf der Simulation granularer Materialien liegt, wurde Ogre als Engine gewählt um eine einfache Visualisierung zu ermöglichen. Es wird nur ein kleiner Teil der umfassenden Funktionalität von Ogre verwendet, zum besseren Verständnis werden in diesem Abschnitt allgemeine Konzepte und einige Codebeispiele der verwendeten Funktionen erläutert 20. Wie im Abschnitt zur PhysX API sind auch hier 20 Weiterführende und detailierte Erläuterungen finden sich zum einen in der Ogre Dokumentation [Ogr08c] der API Referenz [Ogr08d] und dem Ogre Wiki [Ogr08b].

44 36 2. GRUNDLAGEN bei jedem Thema die Klassennamen oder wichtige Schlagworte in der Form Root angegeben API Übersicht Root ist die Hauptklasse von Ogre (vergleichbar der Klasse NxPhysicsSDK von PhysX). Der Zugang und die Erzeugung weitere Objekte geht immer auf Root zurück. Die Interne Klassenstruktur(vgl. Abb. 2.19) von Ogre besteht dann im wesentlich aus den drei Bestandteilen: 1. Szenenmanagement Im Szenenmanagement sind alle Klassen und Objekte enthalten die von Ogre dargestellt werden. Die wichtigste Klasse ist hier SceneManager, sie bestimmt wesentlich die Behandlung der Szenenobjekte. Eine weite Landschaft benötigt einen anderen Szenenmanager (ST_EXTERIOR_FAR) als eine Szene die vorwiegend aus Räumen (ST_EXTERIOR_FAR) besteht. Der Szenenmanager enthält einzelne Szenenknoten (SceneNode), welche wiederum Szenenknoten enthalten können. So spannt sich ein Szenengraph auf. An jedem Szenenknoten können dann verschiedene Objekte (Licht, Partikelsystem, statische Geometrie) angefügt werden. 2. Resourcenmanagement Das Resourcenmanagement enthält und verwaltet die konkreten Materialien aus denen Objekte bestehen (Texturen, Meshes, Shader). 3. Rendering Die Klasse Rendering beinhaltet schließlich alle Klassen die zur Visualisierung der Szene nötig sind. Darunter fallen zum Beispiel das Renderziel (Fenster, Textur), Renderpuffer und Render API (DirectX, OpenGL). Durch Zugriff auf diese Klassen kann das Rendern auf der GPU direkt beeinflusst werden. Der wichtigste Aspekt von Ogre wird ebenfalls in Abbildung 2.19 deutlich. Durch Plugins ist es möglich die Engine nach belieben zu erweitern und so gibt es von der Open Source Community eine Vielzahl an Erweiterungen (Abb. 2.20). Die DirectX und OpenGL APIs sind zum Beispiel ebenfalls nur Plugins API Beispiel Um eine Ogre Anwendung zu erstellen, muss zuerst der Root erstellt werden. Dann wird die resources.cfg und die plugins.cfg mit den Verzeichnissen zur Texturen, Plugins und Meshes eingelesen. Über die Erzeugung eines Rendersystem wird festgelegt wohin Ogre die Szenendaten rendern soll. Ab diesem Punkt beginnt das Szenenmanagement mit der Auswahl eines SceneManager und der Er-

45 2.4. OGRE3D 37 Abbildung 2.19: Vereinfachtes Klassendiagramm von Ogre [Ogr08c] Abbildung 2.20: verschiedene Plugins für Ogre: Interior Mapping, Terrain Manager, Hydrax, Paged Geometry

9.Vorlesung EP WS2009/10

9.Vorlesung EP WS2009/10 9.Vorlesung EP WS2009/10 I. Mechanik 5. Mechanische Eigenschaften von Stoffen a) Deformation von Festkörpern b) Hydrostatik, Aerostatik c) Oberflächenspannung und Kapillarität 6. Hydro- und Aerodynamik

Mehr

Wasseroberfläche von Wasserwellen. Particle Hydrodynamics (SPH)

Wasseroberfläche von Wasserwellen. Particle Hydrodynamics (SPH) 07. Februar 2008 Die Beschreibung der freien Wasseroberfläche von Wasserwellen mit der Methode der Smoothed Particle Hydrodynamics (SPH) Anwendungen und erste Erfahrungen mit dem Programmpaket Dipl.-Ing.

Mehr

A Vortex Particle Method for Smoke, Fire, and Explosions

A Vortex Particle Method for Smoke, Fire, and Explosions Hauptseminar WS 05/06 Graphische Datenverarbeitung A Vortex Particle Method for Smoke, Fire, and Explosions ( Ein Wirbel-Partikel Ansatz für Rauch, Feuer und Explosionen ) Martin Petrasch Inhalt 1. Überblick

Mehr

Lattice Boltzmann Simulation bewegter Partikel

Lattice Boltzmann Simulation bewegter Partikel Lattice Boltzmann Simulation bewegter Partikel, Nils Thürey, Hans-Joachim Schmid, Christian Feichtinger Lehrstuhl für Systemsimulation Universität Erlangen/Nürnberg Lehrstuhl für Partikeltechnologie Universität

Mehr

Physikalische Grundlagen der Hygrometrie

Physikalische Grundlagen der Hygrometrie Den Druck der durch die verdampfenden Teilchen entsteht, nennt man auch Dampfdru Dampfdruck einen gewissen Wert, so können keine weiteren Teilchen aus der Flüssigk Physikalische Grundlagen der Hygrometrie

Mehr

Simulation von räumlich verteilten kontinuierlichen Modellen

Simulation von räumlich verteilten kontinuierlichen Modellen Vorlesungsreihe Simulation betrieblicher Prozesse Simulation von räumlich verteilten kontinuierlichen Modellen Prof. Dr.-Ing. Thomas Wiedemann email: wiedem@informatik.htw-dresden.de HOCHSCHULE FÜR TECHNIK

Mehr

Computational Fluid Dynamics - CFD Overview

Computational Fluid Dynamics - CFD Overview Computational Fluid Dynamics - CFD Overview Claus-Dieter Munz Universität Stuttgart, Institut für Aerodynamik und Gasdynamik Pfaffenwaldring 21, 70550 Stuttgart Tel. +49-711/685-63401 (Sekr.) Fax +49-711/685-63438

Mehr

Einführung in die Physik

Einführung in die Physik Einführung in die Physik für Pharmazeuten und Biologen (PPh) Mechanik, Elektrizitätslehre, Optik Übung : Vorlesung: Tutorials: Montags 13:15 bis 14 Uhr, Liebig-HS Montags 14:15 bis 15:45, Liebig HS Montags

Mehr

Vordiplomsklausur Physik

Vordiplomsklausur Physik Institut für Physik und Physikalische Technologien der TU-Clausthal; Prof. Dr. W. Schade Vordiplomsklausur Physik 14.Februar 2006, 9:00-11:00 Uhr für den Studiengang: Maschinenbau intensiv (bitte deutlich

Mehr

Physik. Grundlagen der Mechanik. Physik. Graz, 2012. Sonja Draxler

Physik. Grundlagen der Mechanik. Physik. Graz, 2012. Sonja Draxler Mechanik: befasst sich mit der Bewegung von Körpern und der Einwirkung von Kräften. Wir unterscheiden: Kinematik: beschreibt die Bewegung von Körpern, Dynamik: befasst sich mit Kräften und deren Wirkung

Mehr

Inhaltsverzeichnis. 1 Einführung... 1 1.1 Häufig auftretende Probleme mit Schüttgütern... 1 1.2 Meilensteine der Schüttguttechnik... 4 Literatur...

Inhaltsverzeichnis. 1 Einführung... 1 1.1 Häufig auftretende Probleme mit Schüttgütern... 1 1.2 Meilensteine der Schüttguttechnik... 4 Literatur... 1 Einführung.......................................................... 1 1.1 Häufig auftretende Probleme mit Schüttgütern........................ 1 1.2 Meilensteine der Schüttguttechnik..................................

Mehr

Grundlagen der Kinematik und Dynamik

Grundlagen der Kinematik und Dynamik INSTITUT FÜR UNFALLCHIRURGISCHE FORSCHUNG UND BIOMECHANIK Grundlagen der Biomechanik des Bewegungsapparates Grundlagen der Kinematik und Dynamik Dr.-Ing. Ulrich Simon Ulmer Zentrum für Wissenschaftliches

Mehr

FB IV Mathematik Universität Trier. Präsentation von Nadja Wecker

FB IV Mathematik Universität Trier. Präsentation von Nadja Wecker FB IV Mathematik Universität Trier Präsentation von Nadja Wecker 1) Einführung Beispiele 2) Mathematische Darstellung 3) Numerischer Fluss für Diffusionsgleichung 4) Konvergenz 5) CFL-Bedingung 6) Zusammenfassung

Mehr

Seite 1 von 2. Teil Theorie Praxis S Punkte 80+25 120+73 200+98 erreicht

Seite 1 von 2. Teil Theorie Praxis S Punkte 80+25 120+73 200+98 erreicht Seite 1 von 2 Ostfalia Hochschule Fakultät Elektrotechnik Wolfenbüttel Prof. Dr.-Ing. T. Harriehausen Bearbeitungszeit: Theoretischer Teil: 60 Minuten Praktischer Teil: 60 Minuten Klausur FEM für elektromagnetische

Mehr

Pulver und Schüttgüter

Pulver und Schüttgüter Dietmar Schulze Pulver und Schüttgüter Fließeigenschaften und Handhabung Mit 350 Abbildungen Springer XI 1. Einführung 1 1.1 Häufig auftretende Probleme mit Schüttgütern 1 1.2 Meilensteine der Schüttguttechnik

Mehr

Probeklausur zur Vorlesung Physik I für Chemiker, Pharmazeuten, Geoökologen, Lebensmittelchemiker

Probeklausur zur Vorlesung Physik I für Chemiker, Pharmazeuten, Geoökologen, Lebensmittelchemiker Technische Universität Braunschweig Institut für Geophysik und extraterrestrische Physik Prof. A. Hördt Probeklausur zur Vorlesung Physik I für Chemiker, Pharmazeuten, Geoökologen, Lebensmittelchemiker

Mehr

Ferrofluide. Physikalische Grundlagen. http://en.wikipedia.org/wiki/file:ferrofluid_close.jpg

Ferrofluide. Physikalische Grundlagen. http://en.wikipedia.org/wiki/file:ferrofluid_close.jpg Ferrofluide Physikalische Grundlagen http://en.wikipedia.org/wiki/file:ferrofluid_close.jpg Inhalt Definition Herstellung Maßnahmen zur Stabilisierung Abschätzung der Partikelgröße, Abstandsmechanismen

Mehr

Physik für Mediziner und Zahmediziner

Physik für Mediziner und Zahmediziner Physik für Mediziner und Zahmediziner Vorlesung 03 Prof. F. Wörgötter (nach M. Seibt) -- Physik für Mediziner und Zahnmediziner 1 Arbeit: vorläufige Definition Definition der Arbeit (vorläufig): Wird auf

Mehr

Arbeit und Leistung. 2mgs/2 = mgs. m g. m g. mgs = const. m g. 2m g. .. nmgs/n = mgs

Arbeit und Leistung. 2mgs/2 = mgs. m g. m g. mgs = const. m g. 2m g. .. nmgs/n = mgs Arbeit und Leistung s s m g m g mgs = mgs s/2 mgs = const. s 2m g m g 2mgs/2 = mgs.. nmgs/n = mgs Arbeit und Leistung Arbeit ist Kraft mal Weg Gotthardstraße Treppe und Lift Feder Bergsteiger/Wanderer

Mehr

Energie, mechanische Arbeit und Leistung

Energie, mechanische Arbeit und Leistung Grundwissen Physik Klasse 8 erstellt am Finsterwalder-Gymnasium Rosenheim auf Basis eines Grundwissenskatalogs des Klenze-Gymnasiums München Energie, mechanische Arbeit und Leistung Mit Energie können

Mehr

Grimsehl Lehrbuch der Physik

Grimsehl Lehrbuch der Physik Grimsehl Lehrbuch der Physik BAND 1 Mechanik Akustik Wärmelehre 27., unveränderte Auflage mit 655 Abbildungen BEGRÜNDET VON PROF. E. GRIMSEHL WEITERGEFÜHRT VON PROF. DR. W. SCHALLREUTER NEU BEARBEITET

Mehr

Computer Aided Engineering

Computer Aided Engineering Computer Aided Engineering André Dietzsch 03Inf Übersicht Definition Teilgebiete des CAE CAD FEM Anwendungen Was hat das mit Rechnernetzen zu tun? André Dietzsch 03Inf Computer Aided Engineering 2 Definition

Mehr

Thomas Höhne. Kühlmittelvermischung in Druckwasserreaktoren. Vergleich von Kuhlmittelströmung und -vermischung in einem skalierten Modell des

Thomas Höhne. Kühlmittelvermischung in Druckwasserreaktoren. Vergleich von Kuhlmittelströmung und -vermischung in einem skalierten Modell des FZRm21O Februar 1998 Thomas Höhne Kühlmittelvermischung in Druckwasserreaktoren Vergleich von Kuhlmittelströmung und -vermischung in einem skalierten Modell des D WR Konvoi mit den Vorgängen im Originalreaktor

Mehr

Perzentile mit Hadoop ermitteln

Perzentile mit Hadoop ermitteln Perzentile mit Hadoop ermitteln Ausgangspunkt Ziel dieses Projektes war, einen Hadoop Job zu entwickeln, der mit Hilfe gegebener Parameter Simulationen durchführt und aus den Ergebnissen die Perzentile

Mehr

Berufsmatura / Physik Seite 2/18

Berufsmatura / Physik Seite 2/18 Berufsmatura / Physik Seite 1/18 Schulinterner Lehrplan nach RLP 001 Gültig ab 005 Physik BM 1 SLP 005 Allgemeine Bildungsziele Physik erforscht mit experimentellen und theoretischen Methoden die messend

Mehr

Multiple-Choice Test. Alle Fragen können mit Hilfe der Versuchsanleitung richtig gelöst werden.

Multiple-Choice Test. Alle Fragen können mit Hilfe der Versuchsanleitung richtig gelöst werden. PCG-Grundpraktikum Versuch 8- Reale Gas Multiple-Choice Test Zu jedem Versuch im PCG wird ein Vorgespräch durchgeführt. Für den Versuch Reale Gas wird dieses Vorgespräch durch einen Multiple-Choice Test

Mehr

Parallele und funktionale Programmierung Wintersemester 2013/14. 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr

Parallele und funktionale Programmierung Wintersemester 2013/14. 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr Aufgabe 8.1: Zeigerverdopplung Ermitteln Sie an folgendem Beispiel den Rang für jedes Listenelement sequentiell und mit dem in der Vorlesung vorgestellten parallelen

Mehr

Tag der Umweltmeteorologie 12.05.2015. Michael Kunz

Tag der Umweltmeteorologie 12.05.2015. Michael Kunz Tag der Umweltmeteorologie 12.05.2015 Michael Kunz Beschleunigung von Ausbreitungsmodellen durch Portierung auf Grafikkarten Einleitung Das GRAL/GRAMM-System Cuda-GRAL Ergebnisse Vergleich der Modellergebnisse

Mehr

Thermische Isolierung mit Hilfe von Vakuum. 9.1.2013 Thermische Isolierung 1

Thermische Isolierung mit Hilfe von Vakuum. 9.1.2013 Thermische Isolierung 1 Thermische Isolierung mit Hilfe von Vakuum 9.1.2013 Thermische Isolierung 1 Einleitung Wieso nutzt man Isolierkannen / Dewargefäße, wenn man ein Getränk über eine möglichst lange Zeit heiß (oder auch kalt)

Mehr

Simerics. Unternehmen. Über uns. info@simerics.de. Telefon +49 7472 96946-25. www.simerics.de

Simerics. Unternehmen. Über uns. info@simerics.de. Telefon +49 7472 96946-25. www.simerics.de Simerics Über uns Unternehmen Die Simerics GmbH ist ein Joint Venture der Partnergesellschaften Simerics Inc. (USA) und der CFD Consultants GmbH (Deutschland). Die Gründung erfolgte 2014 mit dem Ziel die

Mehr

Vergleich von Computational Fluid Dynamics-Programmen in der Anwendung auf Brandszenarien in Gebäuden. Frederik Rabe, Anja Hofmann, Ulrich Krause

Vergleich von Computational Fluid Dynamics-Programmen in der Anwendung auf Brandszenarien in Gebäuden. Frederik Rabe, Anja Hofmann, Ulrich Krause Vergleich von Computational Fluid Dynamics-Programmen in der Anwendung auf Brandszenarien in Gebäuden Frederik Rabe, Anja Hofmann, Ulrich Krause Gliederung Einleitung Grundlagen Grundlagen CFD NIST FDS

Mehr

Vergleich der Anwendbarkeit verschiedener CFD Modelle zur Simulation von Brandereignissen Abgrenzung der Anwendungsgebiete von FDS gegenüber CFX

Vergleich der Anwendbarkeit verschiedener CFD Modelle zur Simulation von Brandereignissen Abgrenzung der Anwendungsgebiete von FDS gegenüber CFX Vergleich der Anwendbarkeit verschiedener CFD Modelle zur Simulation von Brandereignissen Abgrenzung der Anwendungsgebiete von FDS gegenüber CFX Wissenschaftliche Arbeit zur Erlangung des Grades Master

Mehr

Lehrplan Physik. Bildungsziele

Lehrplan Physik. Bildungsziele Lehrplan Physik Bildungsziele Physik erforscht mit experimentellen und theoretischen Methoden die messend erfassbaren und mathematisch beschreibbaren Erscheinungen und Vorgänge in der Natur. Der gymnasiale

Mehr

Metallring Flüssigkeitslamelle Flüssigkeit (Wasser +/-Pril)

Metallring Flüssigkeitslamelle Flüssigkeit (Wasser +/-Pril) Name: PartnerIn in Crime: Datum : Versuch: Oberflächenspannung und innere Reibung 1105B Einleitung: Oberflächenspannung wird durch zwischenmolekulare Kräfte kurzer Reichweite hervorgerufen (Kohäsionskräfte).

Mehr

Strömungsoptimierung von Feuerräumen mittels Experiment und Computational Fluid Dynamics (CFD)

Strömungsoptimierung von Feuerräumen mittels Experiment und Computational Fluid Dynamics (CFD) Zur Anzeige wird der QuickTime Dekompressor TIFF (LZW) benötigt. Strömungsoptimierung von Feuerräumen mittels Experiment und Computational Fluid Dynamics (CFD) Marc-André Baillifard Thomas Nussbaumer Hochschule

Mehr

mentor Abiturhilfe: Physik Oberstufe Weidl

mentor Abiturhilfe: Physik Oberstufe Weidl mentor Abiturhilfen mentor Abiturhilfe: Physik Oberstufe Mechanik von Erhard Weidl 1. Auflage mentor Abiturhilfe: Physik Oberstufe Weidl schnell und portofrei erhältlich bei beck-shop.de DIE ACHBUCHHANDLUNG

Mehr

Multimedia/Graphics Libraries & Systems

Multimedia/Graphics Libraries & Systems Multimedia/Graphics Libraries & Systems Einführung und Themenvorstellung Prof. Dr. Jürgen Döllner Juri Engel, Tassilo Glander, Martin Beck, Stefan Buschmann, Matthias Trapp Ziele des Seminars 2 Analyse,

Mehr

Klausur Physikalische Chemie für TUHH (Chemie III)

Klausur Physikalische Chemie für TUHH (Chemie III) 07.03.2012 14.00 Uhr 17.00 Uhr Moritz / Pauer Klausur Physikalische Chemie für TUHH (Chemie III) Die folgende Tabelle dient Korrekturzwecken und darf vom Studenten nicht ausgefüllt werden. 1 2 3 4 5 6

Mehr

Von der Bananenflanke zu den Ingenieurmethoden des Brandschutzes

Von der Bananenflanke zu den Ingenieurmethoden des Brandschutzes Von der Bananenflanke zu den Ingenieurmethoden des Brandschutzes 1 Einleitung Was ist eine Bananenflanke? Manni Kalz, 1981 Deisler, 2000 Zitat Hrubesch: Manni flanke, ich Kopf, Tor 2 Wieso fliegen Bälle

Mehr

CFD = Colorfull Fan Design

CFD = Colorfull Fan Design CFD = Colorfull Fan Design Ein kritischer Blick auf die Möglichkeiten von CFD in der Entwicklung von Ventilatoren Dr. Ing. Roy Mayer, FlowMotion, Delft (NL) Kurzfassung: Seit den letzten Jahren spielen

Mehr

Vergleich und Adaption verschiedener Modellierungskonzepte zur numerischen Simulation von Wärmeübergangsphänomenen bei Motorbauteilen

Vergleich und Adaption verschiedener Modellierungskonzepte zur numerischen Simulation von Wärmeübergangsphänomenen bei Motorbauteilen Vergleich und Adaption verschiedener Modellierungskonzepte zur numerischen Simulation von Wärmeübergangsphänomenen bei Motorbauteilen DIPLOMARBEIT zur Erlangung des akademischen Grades DIPLOMINGENIEUR

Mehr

Formel X Leistungskurs Physik 2005/2006

Formel X Leistungskurs Physik 2005/2006 System: Wir betrachten ein Fluid (Bild, Gas oder Flüssigkeit), das sich in einem Zylinder befindet, der durch einen Kolben verschlossen ist. In der Thermodynamik bezeichnet man den Gegenstand der Betrachtung

Mehr

Einsatz der Mehrkörpersimulation in Verbindung mit Computertomographie in der Produktentwicklung

Einsatz der Mehrkörpersimulation in Verbindung mit Computertomographie in der Produktentwicklung Einsatz der Mehrkörpersimulation in Verbindung mit Computertomographie in der Produktentwicklung Hintergrund Bei komplexen Baugruppen ergeben sich sehr hohe Anforderungen an die Tolerierung der einzelnen

Mehr

Physikalisch-Chemisches Grundpraktikum

Physikalisch-Chemisches Grundpraktikum Physikalisch-Cheisches Grundpraktiku Versuch Nuer G3: Bestiung der Oberflächen- spannung it der Blasenethode Gliederung: I. Aufgabenbeschreibung II. Theoretischer Hintergrund III. Versuchsanordnung IV.

Mehr

Grundlagen der Biomechanik. Ewa Haldemann

Grundlagen der Biomechanik. Ewa Haldemann Grundlagen der Biomechanik Ewa Haldemann Was ist Biomechanik 1 Unter Biomechanik versteht man die Mechanik des menschlichen Körpers beim Sporttreiben. 2 Was ist Biomechanik 2 Bewegungen entstehen durch

Mehr

Simulation von CO 2 -Schneestrahldüsen

Simulation von CO 2 -Schneestrahldüsen Simulation von CO 2 -Schneestrahldüsen Clemens Buske Dr. Volker Kassera CFD Consultants GmbH Sprollstraße 10/1 D-72108 Rottenburg Tel.: 07472 988688-18 www.cfdconsultants.de - Folie 1 / 33 - Überblick

Mehr

Münze auf Wasser: Resultierende F gegen Münze: Wegrdrängen der. der Moleküle aus Oberfl. analog zu Gummihaut.

Münze auf Wasser: Resultierende F gegen Münze: Wegrdrängen der. der Moleküle aus Oberfl. analog zu Gummihaut. 5.3 Oberflächenspannung mewae/aktscr/kap5_3_oberflsp/kap5_3_s4.tex 20031214 Anziehende Molekularkräfte (ànm) zwischen Molekülen des gleichen Stoffes: Kohäsionskräfte,...verschiedene Stoffe: Adhäsionskräfte

Mehr

Projekt AGB-10 Fremdprojektanalyse

Projekt AGB-10 Fremdprojektanalyse Projekt AGB-10 Fremdprojektanalyse 17. Mai 2010 1 Inhaltsverzeichnis 1 Allgemeines 3 2 Produktübersicht 3 3 Grundsätzliche Struktur und Entwurfsprinzipien für das Gesamtsystem 3 3.1 Die Prefuse Library...............................

Mehr

SolidWorks Flow Simulation Kursleiterhandbuch. Präsentator Datum

SolidWorks Flow Simulation Kursleiterhandbuch. Präsentator Datum SolidWorks Flow Simulation Kursleiterhandbuch Präsentator Datum 1 Was ist SolidWorks Flow Simulation? SolidWorks Flow Simulation ist ein Programm zur Fluidströmungsund Wärmeübertragungsanalyse, das nahtlos

Mehr

Effiziente Wärmeableitung von PCB-Power-Modulen

Effiziente Wärmeableitung von PCB-Power-Modulen Effiziente Wärmeableitung von PCB-Power-Modulen Entwickler von Stromversorgungsmodulen sind stets auf der Suche nach mehr Leistungsdichte auf kleinerem Raum. Dies trifft vor allem auf Server in Datencentern

Mehr

3. Mechanik deformierbarer Körper Gasdruck: Gesetz von Boyle-Mariotte

3. Mechanik deformierbarer Körper Gasdruck: Gesetz von Boyle-Mariotte Gasdruck: Gesetz von Boyle-Mariotte Bei konstanter Teilchenzahl und Temperatur ist das Produkt aus Druck p und Volumen V konstant VL 13/1 30.10.2012 Brustkorb Lungenaktion 3. Mechanik deformierbarer Körper

Mehr

Sternentstehung. Von der Molekülwolke zum T-Tauri-Stern. Von Benedict Höger

Sternentstehung. Von der Molekülwolke zum T-Tauri-Stern. Von Benedict Höger Sternentstehung Von der Molekülwolke zum T-Tauri-Stern Von Benedict Höger Inhaltsverzeichnis 1. Unterschied zwischen Stern und Planet 2. Sternentstehung 2.1 Wo entsteht ein Stern? 2.2 Unterschied HI und

Mehr

Numerische Untersuchung der Randwirbelausbildung an verschiedenen FlÄugelenden mit einem reibungsfreien Verfahren

Numerische Untersuchung der Randwirbelausbildung an verschiedenen FlÄugelenden mit einem reibungsfreien Verfahren DIPLOMARBEIT Numerische Untersuchung der Randwirbelausbildung an verschiedenen FlÄugelenden mit einem reibungsfreien Verfahren ausgefäuhrt zum Zwecke der Erlangung des akademischen Grades Diplom-Ingenieur

Mehr

Grundwissen Physik (8. Klasse)

Grundwissen Physik (8. Klasse) Grundwissen Physik (8. Klasse) 1 Energie 1.1 Energieerhaltungssatz 1.2 Goldene egel der Mechanik Energieerhaltungssatz: n einem abgeschlossenen System ist die Gesamtenergie konstant. Goldene egel der Mechanik:

Mehr

Bilanzgleichung der i-ten Komponente eines Systems mit r Reaktionen

Bilanzgleichung der i-ten Komponente eines Systems mit r Reaktionen 3.5 Die chemische Produktionsdichte Bilanzgleichung der i-ten Komponente eines Systems mit r Reaktionen und mit folgt Die rechte Seite der Gleichung wird als chemische Produktionsdichte bezeichnet: Sie

Mehr

Klimasystem. Das Klima der Erde und wie es entsteht: Definition Klima

Klimasystem. Das Klima der Erde und wie es entsteht: Definition Klima Das Klima der Erde und wie es entsteht: Definition Klima Unter dem Begriff Klima verstehen wir die Gesamtheit der typischen Witterungsabläufe an einem bestimmten Ort oder in einer bestimmten Region über

Mehr

2. Arbeit und Energie

2. Arbeit und Energie 2. Arbeit und Energie Zur Ermittlung der Bewegungsgrößen aus der Bewegungsgleichung müssen mehr oder weniger komplizierte Integrale berechnet werden. Bei einer Reihe von wichtigen Anwendungen treten die

Mehr

t ). Wird diese Verteilung experimentell ermittelt, so ist entsprechend Gl.(1) eine Bestimmung der Wärmeleitfähigkeit

t ). Wird diese Verteilung experimentell ermittelt, so ist entsprechend Gl.(1) eine Bestimmung der Wärmeleitfähigkeit W 4 Wärmeleitfähigkeit. Aufgabenstellung. Bestimmen Sie aus der zeitlichen Änderung der Wassertemperatur des Kalorimeters den Wärmeaustausch mit der Umgebung.. Stellen Sie die durch Wärmeleitung hervorgerufene

Mehr

1 Grundwissen Energie. 2 Grundwissen mechanische Energie

1 Grundwissen Energie. 2 Grundwissen mechanische Energie 1 Grundwissen Energie Die physikalische Größe Energie E ist so festgelegt, dass Energieerhaltung gilt. Energie kann weder erzeugt noch vernichtet werden. Sie kann nur von einer Form in andere Formen umgewandelt

Mehr

Physik für Elektroingenieure - Formeln und Konstanten

Physik für Elektroingenieure - Formeln und Konstanten Physik für Elektroingenieure - Formeln und Konstanten Martin Zellner 18. Juli 2011 Einleitende Worte Diese Formelsammlung enthält alle Formeln und Konstanten die im Verlaufe des Semesters in den Übungsblättern

Mehr

Der Bipolar-Transistor und die Emitterschaltung Gruppe B412

Der Bipolar-Transistor und die Emitterschaltung Gruppe B412 TECHNISCHE UNIVERSITÄT MÜNCHEN Der Bipolar-Transistor und die Emitterschaltung Gruppe B412 Patrick Christ und Daniel Biedermann 16.10.2009 1. INHALTSVERZEICHNIS 1. INHALTSVERZEICHNIS... 2 2. AUFGABE 1...

Mehr

3 Elektrische Leitung

3 Elektrische Leitung 3.1 Strom und Ladungserhaltung 3 Elektrische Leitung 3.1 Strom und Ladungserhaltung Elektrischer Strom wird durch die Bewegung von Ladungsträgern hervorgerufen. Er ist definiert über die Änderung der Ladung

Mehr

Funktionen (linear, quadratisch)

Funktionen (linear, quadratisch) Funktionen (linear, quadratisch) 1. Definitionsbereich Bestimme den Definitionsbereich der Funktion f(x) = 16 x 2 2x + 4 2. Umkehrfunktionen Wie lauten die Umkehrfunktionen der folgenden Funktionen? (a)

Mehr

2. Arbeit und Energie

2. Arbeit und Energie 2. Arbeit und Energie Die Ermittlung der Bewegungsgrößen aus der Bewegungsgleichung erfordert die Berechnung von mehr oder weniger komplizierten Integralen. Für viele Fälle kann ein Teil der Integrationen

Mehr

Über dieses Buch. Kapitel 1. 1.1 Einleitung

Über dieses Buch. Kapitel 1. 1.1 Einleitung Kapitel 1 Über dieses Buch 1.1 Einleitung Dieses Buch behandelt das Vorgehensmodell Kanban und seinen Einsatz in Softwareentwicklungsprojekten. Kanban ist ein Vorgehensmodell der schlanken Softwareentwicklung

Mehr

White Paper. Embedded Treiberframework. Einführung

White Paper. Embedded Treiberframework. Einführung Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded

Mehr

Magazin. Strömungssimulation und Produktentwicklung im Radsport

Magazin. Strömungssimulation und Produktentwicklung im Radsport Magazin Strömungssimulation und Produktentwicklung im Radsport 2 Aerodynamik bringt s auch im Radsport! Im Radsport kämpfen Hochleistungssportler um wenige Sekunden Vorsprung um zu gewinnen. bionic surface

Mehr

Einführung in die. Biomechanik. Zusammenfassung WS 2004/2005. Prof. R. Blickhan 1 überarbeitet von A. Seyfarth 2. www.uni-jena.

Einführung in die. Biomechanik. Zusammenfassung WS 2004/2005. Prof. R. Blickhan 1 überarbeitet von A. Seyfarth 2. www.uni-jena. Einführung in die Biomechanik Zusammenfassung WS 00/00 Prof. R. Blickhan überarbeitet von A. Seyfarth www.uni-jena.de/~beb www.lauflabor.de Inhalt. Kinematik (Translation und Rotation). Dynamik (Translation

Mehr

Lösungen zum Niedersachsen Physik Abitur 2012-Grundlegendes Anforderungsniveau Aufgabe II Experimente mit Elektronen

Lösungen zum Niedersachsen Physik Abitur 2012-Grundlegendes Anforderungsniveau Aufgabe II Experimente mit Elektronen 1 Lösungen zum Niedersachsen Physik Abitur 2012-Grundlegendes Anforderungsniveau Aufgabe II xperimente mit lektronen 1 1.1 U dient zum rwärmen der Glühkathode in der Vakuumröhre. Durch den glühelektrischen

Mehr

Abb. 1 Akustikprüfstand, gemessene Geschwindigkeitsprofile hinter der Mehrlochblende (links); Spektrogramm der Mehrlochblende (rechts)

Abb. 1 Akustikprüfstand, gemessene Geschwindigkeitsprofile hinter der Mehrlochblende (links); Spektrogramm der Mehrlochblende (rechts) IGF-Vorhaben Nr. 17261 N/1 Numerische Berechnung des durch Turbulenz erzeugten Innenschalldruckpegels von Industriearmaturen auf der Basis von stationären Strömungsberechnungen (CFD) Die Vorhersage der

Mehr

Interesse an numerischer Simulation für Vorgänge in Wärme- bzw. Kältespeichern

Interesse an numerischer Simulation für Vorgänge in Wärme- bzw. Kältespeichern Interesse an numerischer Simulation für Vorgänge in Wärme- bzw. Kältespeichern Thorsten Urbaneck, Bernd Platzer, Rolf Lohse Fakultät für Maschinenbau Professur Technische Thermodynamik 1 Quelle: Solvis

Mehr

Intermezzo: Das griechische Alphabet

Intermezzo: Das griechische Alphabet Intermezzo: Das griechische Alphabet Buchstaben Name Buchstaben Name Buchstaben Name A, α Alpha I, ι Iota P, ρ Rho B, β Beta K, κ Kappa Σ, σ sigma Γ, γ Gamma Λ, λ Lambda T, τ Tau, δ Delta M, µ My Υ, υ

Mehr

Angewandte Informatik

Angewandte Informatik Angewandte Informatik Teil 2.1 Was ist Hardware? Die Zentraleinheit! 1 von 24 Inhaltsverzeichnis 3... Was ist Hardware? 4... Teile des Computers 5... Zentraleinheit 6... Die Zentraleinheit 7... Netzteil

Mehr

Protokoll 1. 1. Frage (Aufgabentyp 1 Allgemeine Frage):

Protokoll 1. 1. Frage (Aufgabentyp 1 Allgemeine Frage): Protokoll 1 a) Beschreiben Sie den allgemeinen Ablauf einer Simulationsaufgabe! b) Wie implementieren Sie eine Einlass- Randbedingung (Ohne Turbulenz!) in OpenFOAM? Geben Sie eine typische Wahl für U und

Mehr

5. Vorlesung Grundlagen der Produktgestaltung WS 2008/2009

5. Vorlesung Grundlagen der Produktgestaltung WS 2008/2009 5. Vorlesung Grundlagen der Produktgestaltung WS 2008/2009 Kapitel 1 Einführung 21.10. 1. Einführung 28.10. 2. Beispiel Intelligentes Herbizid, Miniprojekt Produkt-Analyse Kapitel 2 Grundlegende Prinzipien

Mehr

Arbeit, Energie und Impuls I (Energieumwandlungen)

Arbeit, Energie und Impuls I (Energieumwandlungen) Übungsaufgaben Mechanik Kursstufe Arbeit, Energie und Impuls I (Energieumwandlungen) 36 Aufgaben mit ausführlichen Lösungen (35 Seiten Datei: Arbeit-Energei-Impuls Lsg) Eckhard Gaede Arbeit-Energie-Impuls_.doc

Mehr

D = 10 mm δ = 5 mm a = 0, 1 m L = 1, 5 m λ i = 0, 4 W/mK ϑ 0 = 130 C ϑ L = 30 C α W = 20 W/m 2 K ɛ 0 = 0, 8 ɛ W = 0, 2

D = 10 mm δ = 5 mm a = 0, 1 m L = 1, 5 m λ i = 0, 4 W/mK ϑ 0 = 130 C ϑ L = 30 C α W = 20 W/m 2 K ɛ 0 = 0, 8 ɛ W = 0, 2 Seminargruppe WuSt Aufgabe.: Kabelkanal (ehemalige Vordiplom-Aufgabe) In einem horizontalen hohlen Kabelkanal der Länge L mit einem quadratischen Querschnitt der Seitenlänge a verläuft in Längsrichtung

Mehr

Schnelle und flexible Stoffwertberechnung mit Spline Interpolation für die Modellierung und Optimierung fortschrittlicher Energieumwandlungsprozesse

Schnelle und flexible Stoffwertberechnung mit Spline Interpolation für die Modellierung und Optimierung fortschrittlicher Energieumwandlungsprozesse Hochschule Zittau/Görlitz, Fakultät Maschinenwesen, Fachgebiet Technische Thermodynamik M. Kunick, H. J. Kretzschmar, U. Gampe Schnelle und flexible Stoffwertberechnung mit Spline Interpolation für die

Mehr

Untersuchungen zur Lagestabilität von Ufersicherungen an Seeschifffahrtsstraßen

Untersuchungen zur Lagestabilität von Ufersicherungen an Seeschifffahrtsstraßen an Seeschifffahrtsstraßen BAW-Kolloquium 21.09.2012, Dienststelle Hamburg www.baw.de Bundesanstalt für Wasserbau, Referat K1 Dipl.-Ing. Livia Mittelbach Gliederung Motivation FuE-Projekt Naturmessungen

Mehr

Ein Eingitter-Ansatz für aeroakustische Simulationen bei kleinen Machzahlen

Ein Eingitter-Ansatz für aeroakustische Simulationen bei kleinen Machzahlen ERCOFTAC-Technologietag, Stuttgart 2005 p. 1 Ein für aeroakustische Simulationen bei kleinen Machzahlen Achim Gordner und Prof. Gabriel Wittum Technische Simulation Universiät Heidelberg ERCOFTAC-Technologietag,

Mehr

Klassenstufe 7. Überblick,Physik im Alltag. 1. Einführung in die Physik. 2.Optik 2.1. Ausbreitung des Lichtes

Klassenstufe 7. Überblick,Physik im Alltag. 1. Einführung in die Physik. 2.Optik 2.1. Ausbreitung des Lichtes Schulinterner Lehrplan der DS Las Palmas im Fach Physik Klassenstufe 7 Lerninhalte 1. Einführung in die Physik Überblick,Physik im Alltag 2.Optik 2.1. Ausbreitung des Lichtes Eigenschaften des Lichtes,Lichtquellen,Beleuchtete

Mehr

Mathematik-Dossier. Die lineare Funktion

Mathematik-Dossier. Die lineare Funktion Name: Mathematik-Dossier Die lineare Funktion Inhalt: Lineare Funktion Lösen von Gleichungssystemen und schneiden von Geraden Verwendung: Dieses Dossier dient der Repetition und Festigung innerhalb der

Mehr

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching 1.1 Caching von Webanwendungen In den vergangenen Jahren hat sich das Webumfeld sehr verändert. Nicht nur eine zunehmend größere Zahl an Benutzern sondern auch die Anforderungen in Bezug auf dynamischere

Mehr

Wirkungsgradsteigerung. von Kohlekraftwerken. mit Hilfe von CFD-Simulationen. der Luft- und Rauchgaskanäle. in bestehenden Anlagen

Wirkungsgradsteigerung. von Kohlekraftwerken. mit Hilfe von CFD-Simulationen. der Luft- und Rauchgaskanäle. in bestehenden Anlagen Wirkungsgradsteigerung von Kohlekraftwerken mit Hilfe von CFD-Simulationen der Luft- und Rauchgaskanäle in bestehenden Anlagen Dipl. Ing. Daniel Depta Dresden, 13.10.2010 Inhaltsverzeichnis 1. Beschreibung

Mehr

Content Management Systeme

Content Management Systeme Content Management Systeme Ein Vergleich unter besonderer Berücksichtigung von CoreMedia und TYPO3 Bachelorthesis im Kooperativen Bachelor Studiengang Informatik (KoSI) der Fachhochschule Darmstadt University

Mehr

Jahrgangsstufe 9.1. Fachliche Kontexte und Hinweise zur Umsetzung des Kernlehrplans 3.2 100 Meter in 10 Sekunden Physik und Sport

Jahrgangsstufe 9.1. Fachliche Kontexte und Hinweise zur Umsetzung des Kernlehrplans 3.2 100 Meter in 10 Sekunden Physik und Sport Jahrgangsstufe 9.1 Inhaltsfeld: Kraft, Druck, mechanische und innere Energie mechanische Arbeit und Energie Energieerhaltung Druck Auftrieb in Flüssigkeiten Fachliche Kontexte und Hinweise zur Umsetzung

Mehr

CFD * in der Gebäudetechnik

CFD * in der Gebäudetechnik CFD * in der Gebäudetechnik * CFD = Computational Fluid Dynamics Innenraumströmung Systemoptimierung Weitwurfdüsen Anordnung von Weitwurfdüsen in einer Mehrzweckhalle Reinraumtechnik Schadstoffausbreitung

Mehr

Computer Vision: Optische Flüsse

Computer Vision: Optische Flüsse Computer Vision: Optische Flüsse D. Schlesinger TUD/INF/KI/IS Bewegungsanalyse Optischer Fluss Lokale Verfahren (Lukas-Kanade) Globale Verfahren (Horn-Schunck) (+ kontinuierliche Ansätze: mathematische

Mehr

Technische Universität München Lehrstuhl I für Technische Chemie

Technische Universität München Lehrstuhl I für Technische Chemie Technische Universität München Lehrstuhl I für Technische Chemie Klausur WS 2012/2013 zur Vorlesung Grenzflächenprozesse Prof. Dr.-Ing. K.-O. Hinrichsen, Dr. T. Michel Frage 1: Es ist stets nur eine Antwort

Mehr

Wie schreibt man eine Ausarbeitung?

Wie schreibt man eine Ausarbeitung? Wie schreibt man eine Ausarbeitung? Holger Karl Holger.karl@upb.de Computer Networks Group Universität Paderborn Übersicht Ziel einer Ausarbeitung Struktur Sprache Korrektes Zitieren Weitere Informationen

Mehr

Diskussion zu den Möglichkeiten hydroakustischer Anwendung aeroakustischer Verfahren

Diskussion zu den Möglichkeiten hydroakustischer Anwendung aeroakustischer Verfahren Diskussion zu den Möglichkeiten hydroakustischer Anwendung aeroakustischer Verfahren Iris Pantle FG Strömungsmaschinen Uni Karlsruhe Hydroakustische Anwendung aeroakustischer Verfahren Agenda : Ziel Methoden

Mehr

Entwicklung eines Scheduling-Verfahrens zur Optimierung der Reihenfolge von Prototypentests. Masterarbeit

Entwicklung eines Scheduling-Verfahrens zur Optimierung der Reihenfolge von Prototypentests. Masterarbeit Entwicklung eines Scheduling-Verfahrens zur Optimierung der Reihenfolge von Prototypentests Masterarbeit zur Erlangung des akademischen Grades Master of Science (M.Sc.) im Masterstudiengang Wirtschaftswissenschaft

Mehr

Arbeit und Energie. Brückenkurs, 4. Tag

Arbeit und Energie. Brückenkurs, 4. Tag Arbeit und Energie Brückenkurs, 4. Tag Worum geht s? Tricks für einfachere Problemlösung Arbeit Skalarprodukt von Vektoren Leistung Kinetische Energie Potentielle Energie 24.09.2014 Brückenkurs Physik:

Mehr

Vorlesung. Funktionen/Abbildungen 1

Vorlesung. Funktionen/Abbildungen 1 Vorlesung Funktionen/Abbildungen 1 1 Grundlagen Hinweis: In dieser Vorlesung werden Funktionen und Abbildungen synonym verwendet. In der Schule wird eine Funktion häufig als eindeutige Zuordnung definiert.

Mehr

AUTODESK SIMULATION MECHANICAL / MULTIPHYSICS

AUTODESK SIMULATION MECHANICAL / MULTIPHYSICS AUTODESK SIMULATION MECHANICAL / MULTIPHYSICS ERGEBNISSE UNTERSCHIEDLICHER ANALYSEARTEN KOMBINIEREN Ein umfangreiches Werkzeugset für die mechanische Simulation zur Bestimmung des Produktverhaltens, u.

Mehr

Der Gesamtdruck eines Gasgemisches ist gleich der Summe der Partialdrücke. p [mbar, hpa] = p N2 + p O2 + p Ar +...

Der Gesamtdruck eines Gasgemisches ist gleich der Summe der Partialdrücke. p [mbar, hpa] = p N2 + p O2 + p Ar +... Theorie FeucF euchtemessung Das Gesetz von v Dalton Luft ist ein Gemisch aus verschiedenen Gasen. Bei normalen Umgebungsbedingungen verhalten sich die Gase ideal, das heißt die Gasmoleküle stehen in keiner

Mehr

Programmierung von Multicore-Rechnern

Programmierung von Multicore-Rechnern Programmierung von Multicore-Rechnern Prof. Dr.-Ing. habil. Peter Sobe HTW Dresden, Fakultät Informatik/Mathematik www.informatik.htw-dresden.de Gliederung: Ein Blick auf Multicore-Prozessoren/ und -Rechner

Mehr

Befragung und empirische Einschätzung der Praxisrelevanz

Befragung und empirische Einschätzung der Praxisrelevanz Befragung und empirische Einschätzung der Praxisrelevanz eines Vorgehensmodells zur Auswahl von CRM-Systemen D I P L O M A R B E I T zur Erlangung des Grades eines Diplom-Ökonomen der Wirtschaftswissenschaftlichen

Mehr

Neuere Konzepte zur Behandlung des Drucks in der Sekundarstufe I

Neuere Konzepte zur Behandlung des Drucks in der Sekundarstufe I Neuere Konzepte zur Behandlung des Drucks in der Sekundarstufe I RITA WODZINSKI LMU MÜNCHEN LEHRPLAN FÜR DIE BAYERISCHE REALSCHULE (Wahlpflichtfächergruppe II und III) Stempeldruck in Flüssigkeiten gleichmäßige

Mehr

Im Original veränderbare Word-Dateien

Im Original veränderbare Word-Dateien Computergrafik Bilder, Grafiken, Zeichnungen etc., die mithilfe von Computern hergestellt oder bearbeitet werden, bezeichnet man allgemein als Computergrafiken. Früher wurde streng zwischen Computergrafik

Mehr