TECHNISCHE UNIVERSITÄT MÜNCHEN INSTITUT FÜR ENERGIETECHNIK. Lehrstuhl für Fluidmechanik

Größe: px
Ab Seite anzeigen:

Download "TECHNISCHE UNIVERSITÄT MÜNCHEN INSTITUT FÜR ENERGIETECHNIK. Lehrstuhl für Fluidmechanik"

Transkript

1 TECHNISCHE UNIVERSITÄT MÜNCHEN INSTITUT FÜR ENERGIETECHNIK Lehrstuhl ür Fludmechank Modulare und objektorenterte Implementerung der Fnte Volumen Methode (FVM) zur Smulaton kavterender Strömungen n Turbomaschnen Mathas J. Bogner Vollständger Abdruck der von der Fakultät ür Maschnenwesen der Technschen Unverstät München zur Erlangung des akademschen Grades enes genehmgten Dssertaton. Doktor-Ingeneurs (Dr.-Ing.) Vorstzender: Unv.-Pro. Dr.-Ing. habl. H. Spletho Prüer der Dssertaton: 1. Unv.-Pro. Dr.-Ing. Dr.-Ing. habl. Dr. h. c. R. Schllng 2. Unv.-Pro. Dr.-Ing. habl. B. Stoel (.R.) Technsche Unverstät Darmstadt De Dssertaton wurde am be der Technschen Unverstät München engerecht und durch de Fakultät ür Maschnenwesen am angenommen.

2

3 III Vorwort De vorlegende Dssertaton entstand während mener Tätgket als wssenschatlcher Mtarbeter am Lehrstuhl ür Fludmechank der Technschen Unverstät München. Men ganz besonderer Dank glt Herrn Unv.-Pro. Dr.-Ing. Dr.-Ing. habl. Dr. h. c. Rudol Schllng, der es mr ermöglchte, dese Arbet anzuertgen und durch sene wssenschatlche Anletung und konstruktve Unterstützung wesentlch zum Gelngen begetragen hat. Sene lehrrechen Anregungen und de zahlrechen achlchen Dskussonen mt hm waren stets ene wertvolle Hle während mener Tätgket am Lehrstuhl. Herrn Unv.-Pro. Dr.-Ing. habl. Bernd Stoel (.R.) danke ch ür de Übernahme des Koreerats. Ebenso bedanke ch mch be Herrn Unv.-Pro. Dr.-Ing Hartmut Spletho daür, dass er den Vorstz der Prüungskommsson übernommen hat. Gerne möchte ch an deser Stelle auch de Gelegenhet nutzen, all menen Kollegen ür de stets sehr gute Zusammenarbet und de ausgeprägte Hlsberetschat zu danken. Insbesondere se her men langjährger Zmmerkollege Benedkt Flurl genannt, mt dem ch so manche nteressante und ruchtbare Dskusson geührt habe. Ganz herzlcher Dank gebührt auch mener Famle, de mch mmer bestärkt hat, mene berulchen Zele zu errechen. Mener Frau Clauda glt men ganz besonderer Dank ür de umassende Unterstützung und vor allem de Rückschtnahme während mener gesamten Ausbldungszet. Ihr st dese Arbet gewdmet. Regensburg, November 2010 Mathas Bogner

4

5 V Inhaltsverzechns VERWENDETE FORMELZEICHEN UND ABKÜRZUNGEN ZUSAMMENFASSUNG VII XIII 1 EINLEITUNG Problemstellung Stand des Wssens Dskretserungstechnken Modellerungstechnken Programmertechnken Smulaton kavterender Strömungen n Turbomaschnen Zelsetzung und Aubau 8 2 NUMERISCHE SIMULATION MIT DER FVM Dskretserung parteller Derentalglechung Beurtelung numerscher Verahren Anorderungen an Smulatonswerkzeuge Aspekte ür den Sotwareentwur Funktonale Komponenten numerscher Anwendungen 16 3 GROBSTRUKTUR DES SOFTWAREDESIGNS Polyedrsches Datenormat Netzarten Mehrblockstratege Denton der Kontrollvolumen (KV) Dskrete Specherorte m Netz Hlsstrukturen ür de Dskretserung Verügbare Tensortypen Modularserung der Hauptgruppen Tensorarthmetk Herkömmlch überladene Operatoren Syntaxbäume zur Beschrebung der arthmetschen Ausdrücke Implementerung m klasssch objektorenterten Desgn Implementerung mt Expresson Templates (ET) Creator-Funktonen und überladene Operatoren Datenelder und Adapterklassen 48

6 VI 3.4 Parallelserung Intalseren der parallelen Umgebung und Beretstellen des Kontextes Kommunkatonsormen zwschen den Prozessen En- und Ausgabe von Daten Fehlerbehandlung Beenden der parallelen Umgebung 61 4 DETAILLIERUNG DER KOMPONENTENBAUSTEINE Repräsentaton der numerschen Netze PolyMesh- und PolySlce-Klassen Geometrevarablen Berechnungsschemata Geometremodkaton Repräsentaton der Erhaltungsglechungen Equaton- und Scope-Klassen Berechnungsschemata Löser ür lneare Glechungssysteme Programmablausteuerung 81 5 VALIDIERUNG AM KONKRETEN ANWENDUNGSFALL Modellbldung Hydrodynamsches System Turbulenzmodellerung Kavtatonsmodellerung Modellmplementerung Druckkorrektur mt dem SIMPLEC-Algorthmus Skalare Transportglechungen Smulaton der kavterenden Strömung n Turbomaschnen Numersche Ergebnsse Hezungsumwälzpumpe Wasser Numersche Ergebnsse Radalpumpe NQ26 Glycol BEWERTUNG UND AUSBLICK 124 A ANHANG 126 A.1 Turbulenzmodelle 126 A.2 Randbedngungen 127 LITERATURVERZEICHNIS 128

7 VII Verwendete Formelzechen und Abkürzungen Abkürzungen 2D 3D cout, clog, cerr CDS CEV CFD CFL CGNS CRS CRTP DNS ET FDM FEM FLM FST FV, FVM HDF5 HOS KV LCL LES LGS MIMD MINMOD MPI MPICH2 zwedmensonal dredmensonal Standard-Ausgabeströme der Konsole Central-Derencng-Scheme, Zentrale-Derenz Constant Enthalpy Vaporsaton, Kavtatonsmodell des kommerzellen Strömungslösers CFX-TASClow Computatonal Flud Dynamcs Courant Fredrchs Lev Zahl/ Krterum CFD General Notaton System, Format zum Spechern luddynamscher Daten Compressed-Rowwse-Storage, komprmertes Zelenspecherormat Curously Recurrng Template Pattern Drect Numercal Smulaton, Drekte Numersche Smulaton Expresson Templates Fnte Derenzen Methode Fnte Elemente Methode Lehrstuhl ür Fludmechank, Technsche Unverstät München Lehrstuhl ür Fludsystemtechnk, Technsche Unverstät Darmstadt Fnte Volumen, Fnte Volumen Methode Herarchcal Data Format 5, Format zum Spechern großer und komplexer Datenmengen Hgh-Order-Scheme, hochaulösendes Dskretserungsschema Kontrollvolumen nchtlneares k-ε-modell Large Eddy Smulaton, Grobstruktursmulaton Lneares Glechungs-System Multple Instructon Multple Data MINmum MODulus, Flux-Lmter-Interpolatonsverahren höherer Ordnung Message Passng Interace MPI Implementerung des Argonne Natonal Laboratory

8 VIII MPMD NIST NS3D NVD NVF PDG PVM Q3D RANS RSM SCL SISD SPMD STL TMP UDS UML XML Multple Program Multple Data Natonal Insttute o Standards and Technology Naver Stokes 3D Löser Normalzed Varable Dagramm Normalzed Varable Formulaton Partelle Derental-Glechung Parallel Vrtual Machne Quas-3D, besonders m Zusammenhang mt Euler-Q3D-Verahren Reynolds Averaged Naver Stokes, her auch stellvertretend ür Favré Averaged Naver Stokes Reynolds-Stress Modell Space Conservaton Law Sngle Instructon Sngle Data Sngle Program Multple Data Standard Template Lbrary Template Metaprogrammerung Upwnd-Derencng-Scheme, Stromau-Interpolaton Uned Modelng Language Extensble Markup Language, Auzechnungssprache ür herarchsch strukturerbare Textdaten Latensche Zechen a v, a [-] 3-Vektor A, a j [-] 3x3-Matrx a P [-] Matrxentrag b v, b [-] 3-Vektor b j [-] 3x3-Matrx b P [-] Entrag der rechten Sete c p [-] Druckbewert C µ [-] Modellkonstante C ε1, ε 2 C [-] Modellkonstanten der k-ε-modelle d [-] Dmenson D [m] Lauraddurchmesser

9 IX E [-] parallele Ezenz [-] Vektoreld µ, 1, 2 [-] Dämpungsunktonen g [m/s²] Erdbeschleungung H [m] Förderhöhe I [-] Indexraum k [m²/s²] turbulente knetsche Energe L [m] charakterstsches Längenmaß n [-] charakterstsche Problemgröße n [1/mn] Drehzahl n 0 [-] Anzahl der Keme pro Enhetsvolumen Flüssgket n [-] Enhetsnormalenvektor n q [1/mn] spezsche Drehzahl NPSH [m] Net Postve Sucton Head, Netto Energehöhe m& [kg/s] Massenstrom p [Pa] statscher Druck p t [Pa] Totaldruck P [-] Anzahl der Prozesse, physkalscher Raum P [Pa] mttlerer statscher Druck Q [m 3 /h] Volumenstrom r [m] Ortsvektor R [m] Radus der Dampblasen R & [m/s] Wachstums-/ Kollapsgeschwndgket der Dampblasen Re, Re [-] turbulente Reynoldszahl T y s [-] Skalar, Laulänge s [m] Zellverbndungsvektor S [-] parallele Beschleungung S [m²] Flächennhalt S j [1/s] Deormatonstensor S & [kg/(m³s)] allgemener Quellterm t [-] Skalar t [ ] Telungswnkel

10 X t [s] physkalsche Zet T [s] Rechenzet, Zetntervall u [m/s] Umangsgeschwndgket u t [m/s] wandtangenale Geschwndgket u [m/s] Geschwndgketsvektor x [m] Ortskoordnate y [m] Wandabstand der ersten Rechenzelle w [m/s] Relatvgeschwndgket w [m/s] Vektor der Relatvgeschwndgket Grechsche Zechen α [-] Dampvolumenrakton β [-] Blendng-Faktor Γ [kg/(ms)] allgemener Dusonskoezent [-] Delta, Derenzbetrag [-] Derentaloperator δ j [-] Kronecker-Symbol ε [m²/s³] Dsspatonsrate λ [-] Interpolatonsaktor µ [kg/(ms)] dynamsche Vskostät ν [m²/s] knematsche Vskostät µ T [kg/(ms)] turbulente dynamsche Vskostät ρ [kg/m³] Dchte σ, σ [-] Modellkonstanten k ε τ w [N/m²] Wandschubspannung φ [-] allgemenes Skalar ω [-] Relaxatonsaktor Ω [m³] Volumen Ω j [1/s] Rotatonstensor

11 XI Hochgestellte Zechen Schwankungsgröße, geänderte Größe modzerter Term, Reerenz + dmensonslose turbulente Größe c d expl g mpl new old r u φ au de konvektven Flüsse bezogen au de dusven Flüsse bezogen explzt au den Gradenten bezogen mplzt neue Werte alte Werte Rang au de Geschwndgket bezogen de Varable φ betreend Tegestellte Zechen 0 Reerenz bnd c C D Zählndex am Feldrand Zellen-/ Kontrollvolumenndex central, zentral downwnd, stromab, c Flächenndex, Flächenndex des Kontrollvolumens c, j, k Zählndex C, F, N n ncpent k l last m m max n n Zell-, Flächen-, Knotenndex Inlet, Entrtt begnnend Komponente Lqud, lüssge Phase vorherger Index merdonal Master-Zellndex der Fläche Maxmum normal Zählndex m Feldnneren

12 XII n, n Knotenndex, Knotenndex der Fläche NB Nachbarentrag der Matrx next nächster Index opt optmal P Dagonalentrag der Matrx re Reerenz s Slave-Zellndex der Fläche trans transer U upwnd, stromau v Vapor, dampörmge Phase w au de Relatvgeschwndgket bezogen x x-komponente y y-komponente z z-komponente Kopnoten normalserter Wert, dmensonslose Varable nterpolerter Wert, Mttelwert

13 XIII Zusammenassung De vorlegende Arbet stellt den Entwur enes lexblen Werkzeugs zur Smulaton von Strömungsvorgängen mt der FVM vor. Besonderer Wert wrd dabe vor allem au das modulare und objektorenterte Desgn des Programmpaketes gelegt, wodurch sowohl de Scherhet als auch de Flexbltät der Implementerung wesentlch gestegert werden kann. Im Zuge der Konzepterstellung werden zunächst de Anorderungen, de de unterschedlchen Anwendergruppen an ene moderne Smulatonssotware stellen, zusammengetragen und analysert. Es werden undamentale Sotwareegenschaten we de Implementerbarket neuer physkalscher Modelle oder de Parametrerbarket berets vorhandener Module betrachtet. Das sch ergebende Anorderungsprol wrd n en Schchtenmodell zur Strukturerung der Sotware übertragen. De Erkenntnsse der vorangehenden Konzeptndungsphase denen als Ausgangspunkt ür den Entwur der grundlegenden Datenstrukturen. Insbesondere au de bequeme Handhabung der n den ludmechanschen Glechungen autretenden Tensorarthmetk sowe de ezente Programmparallelserung wrd geachtet. De Detallerung der verschedenen Baustene und Komponenten ür de Repräsentaton der numerschen Netze und der Erhaltungsglechungen schleßen de programmertechnsche Umsetzung der erarbeteten Konzepte ab. Der resulterende Sotwareentwur wrd schleßlch anhand des klassschen Modellentwcklungsprozesses valdert. Der Prozess bldet de Anorderungen der verschedenen Anwendergruppen gut ab. Als konkretes Bespel dent de Entwcklung enes Kavtatonsmodells, das de kavterende Strömung n hydraulschen Strömungsmaschnen ür den statonären Fall smuleren kann. Das Modell beruht au sphärscher Blasendynamk und st n der Lage kavterende Strömungen auch anderer Flüssgketen als Wasser zu beschreben. Zudem beschränkt das Modell das Temperaturnveau der Strömung ncht au de Raumtemperatur. De Enührung des eektven Dampdrucks erwetert de Anwendbarket des Modells außerdem au Flüssgketen, de noch gelöste Gase enthalten. Das Kavtatonsmodell wrd be der Smulaton der Strömung durch ene Radalpumpe mt spezscher Schnellläugket n q = 26 1 mn getestet. Als zu örderndes Flud kommt Glykol zum Ensatz, dessen Stowerte sch berets be Raumtemperatur deutlch von denen des Wassers unterscheden. De berechneten NPSH3%-Werte stmmen sehr gut mt der Messung überen. De Egnung des Kavtatonsmodells ür unterschedlche Temperaturnveaus wrd n enem weteren Testbespel, be dem de kavterende Strömung durch ene Hezungsumwälzpumpe smulert wrd, untersucht. Als Fördermedum dent her unbehandeltes Wasser. Auch n desem Fall zegt sch weder ene hervorragende Überenstmmung zwschen Smulaton und Experment.

14

15 1 1 Enletung 1.1 Problemstellung Numersche Verahren zur Smulaton von Strömungsvorgängen werden heute au breter Front sowohl n der Wssenschat als auch n der Industre entwckelt und engesetzt. De rasante Entwcklung der Rechnerkapaztäten und de glechzetg günstgen Anschaungskosten der Computer haben bewrkt, dass mmer komplexere Problemstellungen angepackt werden. Dabe zegt der Trend genauso stark n Rchtung detallerter augelöster Geometren, we er auch n Rchtung genauer modellerter Strömungsphänomene zegt. Ene moderne Smulatonssotware seht sch mt sehr unterschedlchen Anorderungsprolen konrontert. Dem Forscher zum Bespel st ot de Physk des zugrundelegenden Rechenmodells wchtger als de anallende Rechenzet oder de Stabltät. Ganz anders gewchtet en Entwcklungsngeneur n der Industre dese beden Egenschaten. So bewertet er tendenzell eher de Ezenz und Stabltät des Rechenmodells höher als de darn enthaltene Physk. Für hn bldet en CFD-Code nur das Mttel zum Zweck, mt dem er das Desgn senes Produktes bewerten wll. Ncht zuletzt erzeugt der Programmerer ener Smulatonssotware en weteres Anorderungsprol, n dem de Flexbltät und Scherhet des Sotwaredesgns be der Implementerung m Vordergrund steht. Dabe st aber ncht ausgeschlossen, dass de enzelnen Gruppen mtenander nterageren und sch de Gewchtungsaktoren verändern. So benhaltet der klasssche Entwcklungsprozess von Smulatonssotware berets alle Prole. Wrd en physkalsches Modell entwckelt, muss deses mplementert und danach valdert werden. Treten be der Valderung Fehler au, wrd ene erneute Iteratonsschlee durchlauen. Stellt sch m weteren Verlau heraus, dass das Modell unzurechend genau st, um de Problemstellung abzublden, so muss das Modell selbst noch enmal verbessert werden. Je scherer ene Implementerung st, desto enacher können unterschedlche Modellkonguratonen n den Iteratonsschleen der Entwcklungsschrtte ausprobert werden. Während des gesamten Prozesses wrd der Forscher oder Modellentwckler abwechselnd zum Programmerer und Anwender der Sotware. Natürlch st er dabe ken Anwender m klassschen Snne. Das Bespel zegt aber trotzdem de Verzahnung der enzelnen Anorderungsgruppen unterenander. En weteres Bespel, zur Verzahnung der enzelnen Gruppen lässt sch konstrueren, wenn der Anbeter der Smulatonssotware als de ene und der User der Smulatonssotware als de andere Gruppe betrachtet wrd. Bede Gruppen proteren stark von ener modular augebauten und dynamsch kongurerbaren Sotware. So kann der Anbeter de Wünsche und Erordernsse senes Kunden analyseren und ene kundenspezsch zugeschnttene Dstrbuton erstellen. Programmeatures, de der Kunde ncht benötgt, muss der somt ncht erwerben. Zusätzlch st es dem Kunden möglch ene bestehende Installaton durch Zukau neuer Module nachträglch zu erwetern. Der Anbeter kann außerdem Programmupdates modulwese vertelen, sodass nur dejengen Kunden betroen snd, deren Dstrbuton das zu erneuernde Modul benhaltet. Deses Vorgehen st n anderen Sotwareberechen ncht neu, hat sch aber m CFD-Berech noch kaum durchgesetzt.

16 2 Dass ene Smulatonssotware nun alle Anorderungen glechzetg erüllt, erschent kaum realserbar zu sen. Der Ensatz moderner objektorenterter Programmertechnken macht des aber dennoch möglch. De vorlegende Arbet beschätgt sch deshalb mt der modularen und objektorenterten Implementerung der FVM und wählt zur Valderung des Konzepts als strömungstechnsch herausordernde Problemstellung de Smulaton kavterender Strömungen n Turbomaschnen. 1.2 Stand des Wssens Dskretserungstechnken De Fnte Elemente Methode (FEM) und de Fnte Volumen Methode (FVM) stellen zwe wet verbretete Ansätze zur Lösung der ludmechanschen Grundglechungen sowe anderer Transportglechungen au komplexen Geometren dar, vgl. FERZIGER und PERIĆ [23]. Enen weteren sehr drekten und unkomplzerten Lösungsansatz betet darüber hnaus de Fnte Derenzen Methode (FDM). Se blebt allerdngs, m Gegensatz zu den beden Anderen, au enache Geometren und strukturerte Netze beschränkt. De dre unterschedlchen Methoden verolgen den gemensamen Ansatz, de betroenen Derentalglechungen zunächst zu dskretseren und anschleßend numersch zu verarbeten. Ursprünglch st de FEM n der Strukturmechank behematet, de FVM dagegen n der Fludmechank. Bede Methoden snd nzwschen aber erwetert worden und können auch Problemstellungen des jewels anderen Gebetes lösen. FLURL et al. [25], [26] verwendet bespelswese de FVM zur Struktursmulaton be der Flud-Struktur-Interakton. Umgekehrt verwendet zum Bespel MÜLLER [60] de FEM zur numerschen Strömungssmulaton. Trotz deser Erweterungen bleben bede Methoden aber ot hren hstorschen Wurzeln treu. Be der FEM wrd das Lösungsgebet zunächst mt enem numerschen Netz versehen, das aus Knoten und Elementen besteht. De Lösung nnerhalb enes jeden Elements wrd durch lokale Ansatzunktonen beschreben. De Lösung des gesamten Rechengebetes erhält man durch Superposton der Enzellösungen der Elemente. De Derentalglechungen werden mt Testunktonen multplzert und über das gesamte Lösungsgebet ntegrert. Verschedene Testunktonen ühren zu unterschedlchen Dskretserungen. In der Strömungsmechank wrd ot de Galerkn Methode, auch bekannt als Methode der gewchteten Resduen, verwendet. De Ansatzunktonen der FEM entsprechen dann den Wchtungsunktonen der Galerkn Methode. Auch be der FVM wrd das Lösungsgebet zunächst mt enem numerschen Netz versehen, wobe deses nun aus Knoten und Zellen besteht. De Zellen deneren Kontrollvolumen (KV), de sch gegensetg ncht überlappen und das Lösungsgebet vollständg ausüllen. Abhängg von der Art, we de Kontrollvolumen aus dem Netz konstruert werden, unterschedet man zwschen zellzentrerten und elementbaserten Verahren. Zellzentrerte Verahren verwenden de Zellen des Netzes drekt als KV. Elementbaserte Verahren konstrueren de KV dagegen um de Knoten des Netzes herum. Elementbaserte Verahren kommen bespelswese be HUURDEMAN [39] oder REXROTH [71] zum Ensatz, zellzentrerte Verahren be ZWART [108], SKODA [86] oder EIN- ZINGER [22]. De FVM nutzt au natürlche Wese drekt de Erhaltungsegenschaten der ludmechanschen Grundglechungen aus. De Derentalglechungen werden über

17 3 de enzelnen KV ntegrert, und de Dvergenzterme dann mthle des Gauß schen Integralsatzes n Flüsse umgewandelt. Zwe anenander grenzende KV telen sch mmer ene gemensame Grenzläche. Der Fluss, der das ene KV verlässt, trtt exakt mt glechem Betrag n das andere KV en. De FVM st deshalb auch lokal massenerhaltend. De FEM dagegen kann nur globale Massenerhaltung gewährlesten. De Dskretserungsgenaugket der FVM lässt sch mt relatv enachen Mtteln erhöhen. So können bespelswese de konvektven Flüsse an den KV-Grenzen durch möglchst exakte Ansätze nterpolert werden, vgl. JUSUF [43]. In der Strömungsmechank st de FVM sehr wet verbretet. Vele kommerzelle CFD-Codes, we CFX, FLUENT oder STAR-CCM+, baseren au deser Methode. Auch de vorlegende Arbet verwendet de zellzentrerte FVM zur Lösung der angegebenen Strömungsprobleme. De FDM st de älteste Methode zur numerschen Lösung parteller Derentalglechungen. Se arbetet drekt au den Knoten des numerschen Netzes. Mthle der Taylor- Rehenentwcklung wandelt de Methode de Derentalglechungen drekt n Derenzenglechungen um, sehe FORSYTHE und WASOW [28]. Mt der Ordnung der Gleder, de be der Taylor-Rehenentwcklung berückschtgt werden, nmmt de Genaugket der numerschen Rechnung zu. Glechzetg stegt aber de Anzahl der Knotenwerte, de zur Darstellung der enzelnen Terme nötg snd. Das erhöht den numerschen Auwand, vgl. SMITH [88]. Au strukturerten Netzen st de FDM sehr ezent und enach. De Netzlnen denen her als lokale Koordnatenlnen. Der große Nachtel der FDM st, dass se das Erhaltungsprnzp ncht au natürlche Wese unterstützt und au enache Geometren beschränkt blebt. Das prnzpelle Vorgehen zur Implementerung der FDM kann unter anderem be FERZIGER und PERIĆ [23] nachgelesen werden Modellerungstechnken Das physkalsche Modell, das ür de Beschrebung des Geschwndgketseldes verwendet wrd, leert en wchtges Unterschedungskrterum be der Klasszerung unterschedlcher numerscher Verahren zur Strömungssmulaton. Abhängg vom Komplextätsgrad kann das Strömungseld entweder mt den Potentalglechungen, den Euler- Glechungen oder den Naver-Stokes-Glechungen modellert werden. Sowohl de Euler-, we auch de Naver-Stokes-Glechungen werden zur Lösung komplexer Strömungsprobleme n hydraulschen Turbomaschnen herangezogen. De Potentaltheore st ür dese Art von Strömungsproblemen ungeegnet, da se zu starke Verenachungen benhaltet. De Euler-Glechungen nehmen de Strömung als rebungsre an. Dadurch kann de wandnahe Grenzschcht n der Strömung ncht abgebldet werden. Außerdem st es unmöglch, mt den Euler-Glechungen enen turbulenzbedngten Strömungsabrss zu smuleren. Vortelhat be der Euler-Modellerung st aber, dass vor allem n Wandnähe mt wesentlch gröberen numerschen Netzen gearbetet werden kann. Für schnelle Abschätzungen und Relatvvergleche be der Optmerung von Strömungsmaschnen snd Eulerverahren deshalb sehr gut geegnet. Zunächst kamen augrund der ehlenden Rechnerlestung quas-dredmensonale (Q3D) Euler-Verahren zum Ensatz. De Theore dazu stammt von WU [105]. SCHILLING [76], [77] wendet das Euler-Q3D- Verahren erolgrech be der Smulaton hydraulscher Strömungsmaschnen an. Als ezentes Werkzeug spezell ür de Schaueloptmerung wrd es be THUM und

18 4 SCHILLING [94], sowe be SCHILLING et al. [81] genutzt. RIEDEL [74] verwendet en voll dredmensonales Euler-Verahren und untersucht damt de Rotor-Stator- Wechselwrkung n hydraulschen Maschnen. De genaueste Modellerung des Strömungseldes st durch de Naver-Stokes- Glechungen gegeben. Dese berückschtgen sowohl Rebung als auch Turbulenz. Da de Strömung n Turbomaschnen generell durch hohe Reynolds-Zahlen bestmmt wrd, snd de Naver-Stokes-Glechungen her am besten geegnet. Enge Bespele herzu nden sch n BADER [5], SKODA [86] und EINZINGER [22]. Je nach Detallerungsgrad unterschedet man zwschen der Drekten Numerschen Smulaton (DNS), der Grobstruktur-Smulaton (LES) sowe der Lösung der Reynolds gemttelten Naver-Stokes Glechungen (RANS). DNS-Verahren lösen de Naver-Stokes-Glechungen unmttelbar und enthalten kenerle Modellerung ür de Turbulenz. Zur Aulösung aller turbulenten Skalen, muss her ene ene räumlche we auch zetlche Dskretserung gewählt werden, vgl. bespelswese MOIN und MAHESH [59]. De DNS stellt deshalb enen extrem hohen Rechenauwand dar. De nächste Abstraktonsstue der Modellerung blden LES Verahren. Dabe wrd ledglch de nstatonäre Entwcklung der energetragenden großen Wrbel, durch de das globale Strömungseld beenlusst wrd, augelöst, de klenskalgen turbulenten Strukturen werden dagegen modellert. De LES zechnet sch m Verglech zur DNS durch wesentlch gerngere Rechenzeten aus. Für de mesten realen Anwendungen st se aber mmer noch zu auwändg. RANS Verahren wesen enen noch höheren Abstraktonsgrad au. Se beruhen au ener statstschen Betrachtung der Turbulenz, wodurch auch statonäre Smulatonen möglch werden. Durch de Reynoldsbzw. de Favré-Mttelung entsteht n den Impulsglechungen en unbekannter Term, der als Reynolds-Spannungstensor bezechnet wrd. Entsprechend der Beschrebung der Reynoldsspannungen, lassen sch RANS baserte Turbulenzmodelle n zwe Hauptgruppen autelen, vgl. SCHUSTER [85]. Reynolds-Spannungsmodelle (RSM) berechnen den Reynolds-Spannungstensor mt ren algebraschen Ausdrücken oder derentell mt zusätzlchen Transportglechungen. Wrbelvskostätsmodelle dagegen verolgen den Wrbelvskostätsansatz nach BOUSSINESQ [13] und koppeln de Komponenten des Reynolds-Spannungstensors mt dem mttleren Strömungseld. En wet verbretetes und etablertes lneares Wrbelvskostätsmodell st das Standard k-ε-modell von LAUNDER und SPALDING [50], das zwe zusätzlche Transportglechungen ür de turbulente knetsche Energe k und ür de Dsspatonsrate ε löst. En weteres Wrbelvskostätsmodell st das ncht-lneare LCL-Modell von LIEN et al. [53]. Bede Modelle zegen be der Anwendung au hydraulsche Turbomaschnen gute Resultate und kommen n deser Arbet zur Anwendung. Be der Lösung der Naver-Stokes-Glechungen wrd zwschen dchte- und druckbaserten Verahren unterscheden. Erstere berechnen mt der Kontnutätsglechung das Dchteeld, letztere das Druckeld. Naturgemäß egnen sch dchtebaserte Verahren besonders zur Smulaton hoch kompressbler Strömungen. Im nkompressblen Fall snd se dagegen nur bedngt ensetzbar. Pseudokompressbltätsverahren begegnen dem Problem der konstanten Dchte, ndem se ene sogenannte Pseudoschallgeschwndgket enühren. Snd de Verahren konvergert, hat de Pseudoschallgeschwndgket dann kenen Enluss mehr au das Ergebns. Durch desen Ansatz können Pseudokompressbltätsverahren deselben Lösungsalgorthmen ensetzen, de ür kompressble Strömungen üblch snd. Druckbaserten Verahren snd spezell ür nkompressble Strömungsprobleme ent-

19 5 wckelt worden. Se bestmmen das Druckeld drekt über ene sogenannte Druckkorrekturglechung, de aus der Kontnutätsglechung gewonnen wrd. Dabe wrd das Druckeld mmer so berechnet, dass neben der Impulserhaltung auch de Kontnutät gewahrt blebt. De bekannteste Form der Druckkorrekturglechung wrd als SIMPLE-Algorthmus (Sem Implzt Procedure or Pressure-Lnked Equatons) bezechnet, sehe PATANKAR [66]. Ene verbesserte und stablere Varante des SIMPLE-Algorthmus stellt der SIMPLEC-Algorthmus von VAN DOORMAL und RAITHBY [97] dar. Neben der Berechnung nkompressbler Strömungen können druckbaserte Verahren aber auch ür de Berechnung kompressbler Strömungen mt nedrgen bs moderaten Machzahlen engesetzt werden, vergleche BADER [5], LILEK [54] und EINZINGER [22]. Hervorzuheben st herbe nsbesondere, dass der Übergang zwschen nkompressbler und kompressbler Strömung kenerle zusätzlche Stablserungsmaßnahmen erordert. Im Rahmen deser Arbet werden nur dchtebeständge Strömungen untersucht. Im Hnblck au de kavterenden Strömungen bedeutet das, dass de beden Enzelphasen ür sch genommen als nkompressbel modellert werden Programmertechnken Im Berech des wssenschatlchen Hoch- und Höchstlestungsrechnens haben sch de Programmersprachen C, C++ und FORTRAN etablert. C und FORTRAN snd bede prozessorentert, sodass her de unktonale Auglederung der Algorthmen m Fordergrund steht. C++ st dagegen objektorentert. Zu den Grundsätzen der objektorenterten Programmerung gehören Abstrakton, Datenkapselung und Vererbung. De Paradgmen erlechtern de Erstellung von lexbler, modularer sowe scherer Sotware. C++-Programme waren n der Vergangenhet mest noch langsamer als verglechbare C- oder FORTRAN-Programme. Das hat sch aber durch de modernen C++-Compler stark geändert. Heutzutage stehen C++-Programme n hrer Lauzet hren prozessorenterten Gegenstücken n nchts mehr nach. Das re verügbare Smulatons- Framework open FOAM [64] oder der kommerzelle CFD-Code StarCCM+ snd Bespele ür objektorentert programmerte Sotware. Modernes Programmeren benhaltet auch de Verwendung statscher und dynamscher Bblotheken als gekapselte unktonale Module. Statsche Bblotheken werden während des Erstellens est n das jewelge Programm engebunden, dagegen bleben dynamsche Bblotheken als externe Bestandtele erhalten. Se werden entweder soort bem Programmstart oder verzögert erst während der Programmlauzet geladen. Insbesondere durch verzögert geladene Bblotheken erhöht sch de Flexbltät ener Sotware stark, da dese während der Lauzet nachkongurert werden kann. De Programmersprache C++ betet mt der Template-Metaprogrammerung (TMP) en passendes Werkzeug um de Ezenz und Anwendbarket ener Programmbblothek weter zu stegern. MEYERS [58] beschrebt TMP als den Vorgang, template-baserte C++-Programe zu schreben, de wären der Complezet ausgeührt werden. Des wrd m englschsprachgen Raum häug als comple-tme computaton (CC) bezechnet. De Ausgabe enes solchen Metaprogrammes besteht dabe aus gewöhnlchem Quelltext, der dann n enem weteren Schrtt vom Compler zum ausührbaren Programm übersetzt wrd. De CC nutzt de Tatsache, dass bestmmte Berechnungen schon be der Erstellung enes Programms durchgeührt werden können. De zugehörgen Ergebnsse snd dann

20 6 ertg m Quelltext ntegrert. Dadurch ällt zur Lauzet des Programms ken Rechenauwand mehr an, und es st wesentlch schneller als en verglechbares Programm ohne TMP. Natürlch erhöht sch der Zetauwand zur Programmerstellung be der TMP, da de Arbet nun vom Compler erledgt werden muss. De Perormance unterschedlcher Compler n Bezug au TMP wrd zum Bespel n ABRAHAMS und GURTOVOY [1] analysert. Im Allgemenen überwegt aber natürlch der Gewnn zur Lauzet den Mehrauwand zur Komplerzet ganz wesentlch. Das legt schon n der Tatsache begründet, dass Sotware wesentlch öter ausgeührt als erstellt wrd. KLIMANIS [46] nutzt de genersche Programmerung exzessv zur Implementerung der FEM. HÄRDTLEIN [35] beleuchtet ausührlch de unterschedlchen Aspekte der Expresson Template (ET)-Programmerung n Bezug au deren Ensatz zur Lösung parteller Derentalglechungen. Her ermöglcht de ET-Programmerung vor allem ene ezente und zuglech schere und enache Implementerung der autretenden Tensorarthmetk Smulaton kavterender Strömungen n Turbomaschnen De numersche Untersuchung kavterender Strömungen n hydraulschen Maschnen blebt augrund des extrem hohen Rechenauwands au Modellerungen m statonären Relatvsystem beschränkt. Im Folgenden werden enge Anwendungen zur Smulaton kavterender Pumpenströmungen beschreben. ATHAVALE et al. [4] berechnen de kavterende Strömung n ener Axalpumpe und ener Radalpumpe sowe n enem Inducer zur Förderung von lüssgem Sauersto. Se verwenden herzu das sogenannte Full Cavtaton Model. Das Kavtatonsmodell berückschtgt nsbesondere de turbulenten Druckschwankungen be begnnender Kavtaton durch de Redukton des lokalen statschen Drucks um p = 0.39 ρ k. De Ergebnsse snd allerdngs nur qualtatv erasst und ncht expermentell valdert. VISSER [102] smulert de kavterende Strömung n ener Kreselpumpe mt und ohne Sprale mt dem Constant Enthalpy Vaporsaton (CEV)-Modell des kommerzellen Strömungslösers CFX-TASClow. Der sch ergebende NPSH3%-Wert ür verschedene Volumenströme zegt gute Überenstmmung mt den expermentell verügbaren Daten. Auch DUPONT und OKAMURA [20] verwenden das CEV-Modell. Se verglechen es mt zwe weteren kommerzellen Kavtatonsmodellen. De enzelnen Ergebnsse wesen her allerdngs erheblche Unterschede au. WURSTHORN [107] verwendet zur Smulaton der kavterende Strömung n ener 2D- Pumpe spezscher Drehzahl nq = 18 1/mn das barotrope Kavtatonsmodell des kommerzellen CFD-Codes STAR-CD. Das Modell st ursprünglch von SCHMIDT et al. [82] zur Berechnung von Ensprtzdüsen entwckelt worden. WURSTHORN muss de Parameter des Kavtatonsmodells anpassen, um snnvolle und stable Smulatonen durchühren zu können. Der Förderhöhenaball st m Verglech mt dem Experment reproduzerbar, allerdngs allen de Kavtatonszonen zu klen aus. HOFMANN et al. [38] untersuchen de statonär kavterende Strömung anhand ener Radalpumpe mt 2D-gekrümmten Schaueln. Se verwenden herbe den kommerzellen Strömungslöser FINE/TURBO. Das verwendete barotrope Kavtatonsmodell st be COUTIER-DELGOSHA et al. [16] ausührlch beschreben. Verglchen mt dem Exper-

21 7 ment snd de errechneten NPSH3%-Werte generell höher und de Abwechungen nehmen hn zu nedrgen Volumenströmen tendenzell zu. FROBENIUS et al. [29] bzw. SCHILLING und FROBENIUS [80] smuleren de kavterende Strömung n ener Kreselpumpe nedrger spezscher Drehzahl mt dem au sphärscher Blasendynamk beruhenden Kavtatonsmodell von SAUER und SCHNERR [75] und [84]. Der berechnete Förderhöhenaball stmmt be Nennvolumenstrom gut mt den expermentellen Ergebnssen überen. De Ausdehnung des Kavtatonsgebetes st n der numerschen Smulaton allerdngs auch her klener als m Experment. NOHMI et al. [63] sowe NOHMI und GOTO [62] untersuchen deselbe Lauradgeometre sowohl expermentell als auch numersch. Für de Strömungssmulaton zehen se CFX-TASClow mt dem CEV-Kavtatonsmodell heran. Ihre Ergebnsse zegen, dass de gemessenen und berechneten Förderhöhenaballkurven m Nennpunkt zwar gut passen, be Überlast aber stark vonenander abwechen. De Autoren erwähnen außerdem große Konvergenzprobleme be den Smulatonen. FROBENIUS [30] sowe FROBENIUS und SCHILLING [31] korrgeren ür statonäre Smulatonen de Terme des Modells von SAUER, de das Blasenwachstum und den Blasenkollaps regeln, und wenden das modzerte Modell erolgrech zur Smulaton der kavterenden Strömung n ener Kreselpumpe spezscher Schnellläugket nq = 26 1/mn an. Der berechnete Förderhöhenaball kann mt expermentellen Untersuchungen, de de Drucksetenkavtaton als maßgeblche Ursache ür den Förderhöhenaball sehen, bestätgt werden. Zusätzlch zegt FROBENIUS, dass de Strömung m Radsetenraum der Kreselpumpe maßgeblchen Enluss au de korrekte Vorhersage des Förderhöhenaballs hat. SCHILLING und BOGNER [78] erwetern das von FROBENIUS entwckelte Modell weter. Se ühren den eektven Dampdruck en und verwenden das Kavtatonsmodell auch ür andere Flüssgketen als Wasser. Be den Smulatonen der kavterenden Strömung wrd de berets von FROBENIUS untersuchte Radalpumpe mt spezscher Schnellläugket nq = 26 1/mn herangezogen. Als zu örderndes Flud kommt Glykol zum Ensatz, dessen Stowerte sch berets be Raumtemperatur deutlch von Wasser unterscheden. De errechneten NPSH3%-Werte stmmen sehr gut mt der Messung überen. SCHILLING und BOGNER [79] prüen de Egnung des Kavtatonsmodells zusätzlch ür unterschedlche Temperaturnveaus und mt unbehandeltem Wasser. Zur Valderung wrd de kavterende Strömung durch ene Hezungsumwälzpumpe berechnet. Auch ür desen Fall zegt sch ene hervorragende Überenstmmung mt dem Experment. De Ergebnsse der Smulatonen der beden Kreselpumpen snd be BOGNER et al. [11] zusammengeasst.

22 8 1.3 Zelsetzung und Aubau Zel der Arbet st de modulare und objektorenterte Implementerung der FVM. Es wrd en Framework, das als CFD-Tool bezechnet wrd, zur numerschen Smulaton von Strömungsproblemen entworen. Der Programmentwur zelt nsbesondere darau ab, den engangs erwähnten Spagat zwschen den Anorderungen der unterschedlchen Anwendergruppen zu schaen. Dabe wrd zur Darstellung der Klassenentwüre und der Programmabläue verstärkt au standardserte Methoden we der Uned Modelng Language (UML) zurückgegren. Das zu denerende Konzept ür das CFD-Tool soll sowohl Scherhet als auch Flexbltät be der Implementerung gewährlestet, da dese Egenschaten gerade auch m wssenschatlchen Berech große Vortele be der Genererung neuer mathematscher Modelle darstellen. Der konkrete Entwur soll deshalb anschleßend anhand der Implementerung enes Kavtatonsmodells, das de kavterende Strömung n Strömungsmaschnen ür den statonären Fall smuleren kann, valdert werden. Das Modell beruht au sphärscher Blasendynamk und st n der Lage kavterende Strömungen auch anderer Flüssgketen als Wasser zu smuleren. Das Temperaturnveau der Strömung st dabe ncht au de Raumtemperatur beschränkt. De Enührung enes eektven Dampdrucks erwetert außerdem de Nutzbarket des Modells au Flüssgketen, de noch gelöste Gase enthalten. Kaptel 2 analysert zunächst de Rahmenbedngungen, de sch ür ene Smulatonssotware m Umeld der FVM ergeben. Es dskutert de Grundsätze der Methode anhand ener allgemenen skalaren Transportglechung. Danach untersucht es de Anorderungen, denen moderne Smulatonstools gerecht werden müssen. Der Fokus legt besonders au den unterschedlchen Strategen des Sotwareentwurs, de de Untertelung numerscher Anwendungen n unktonale Komponenten ermöglchen. Kaptel 3 beschätgt sch mt der Grobstruktur des Sotwaredesgns. Es stellt das Datenmodell zur Verarbetung allgemen unstrukturerter oder polyedrscher Netze vor. Außerdem geht das Kaptel au de Implementerung von Expresson Templates zur natven und bequemen Verarbetung der be der Dskretserung der ludmechanschen Glechungen zwangsläug autretenden Tensorarthmetk en. Im Anschluss olgen Modelle zur Parallelserung. Kaptel 4 detallert das zuvor entworene Grobdesgn der Sotwarekomponenten. Es kombnert de enzelnen Klassenbaustene und präsentert de programmertechnsch umgesetzte Repräsentaton von Geometre und Glechungen. Darüber hnaus stellt es Schemataklassen zur Berechnung der geometrschen Größen und zur Dskretserung der Glechungen, sowe Algorthmen-Klassen zur Ablausteuerung der Iteratonsschleen vor. Kaptel 5 valdert den Sotwareentwur am konkreten Anwendungsall. Des gescheht mthle des oben erwähnten Kavtatonsmodells. Als Bespel wrd de kavterende Strömung n ener radalen Förderpumpen mt spezscher Schnellläugket nq = 26 1/mn, sowe ener Hezungsumwälzpumpe smulert. Kaptel 6 asst de Ergebnsse der Arbet zusammen.

23 9 2 Numersche Smulaton mt der FVM De FVM st en mächtges Werkzeug zur numerschen Smulaton strömungsmechanscher Problemstellungen. Letzten Endes entschedet aber erst de programmertechnsche Umsetzung der Methode darüber, we erolgrech de resulterende Smulatonssotware wrklch st. Das vorlegende Kaptel beschätgt sch deshalb mt den Rahmenbedngungen, de sch ür ene Smulatonssotware m Umeld der FVM ergeben. Zunächst dskutert es de Grundsätze der Methode anhand des Bespels ener allgemenen skalaren Transportglechung. Danach untersucht es de unterschedlchen Anorderungen, denen moderne Smulatonstools gerecht werden müssen. De beden Abschntte über de Strategen bem Sotwareentwur und de Untertelung der numerschen Anwendungen n unktonale Komponenten schleßen das Kaptel ab. 2.1 Dskretserung parteller Derentalglechung De FVM st en wet verbretetes Verahren m Berech der Fludmechank. De Methode basert au der Dskretserung der partellen Derentalglechungen (PDG) und deren anschleßender numerscher Lösung. Se kann ohne Weteres auch au komplexe Problemstellungen angewandt werden. De Methode wurde spezell zur Lösung der ludmechanschen Glechungen entwckelt und entsprcht von hrem Grundsatz stark den allgemenen Erhaltungsprnzpen der Strömungsmechank. Abgesehen davon wrd de FVM ebenalls zur Lösung strukturmechanscher Probleme genutzt, vgl. herzu FLURL et al. [25] und [26]. Trotzdem blebt se bsher aber mest hren hstorschen Wurzeln treu. Ene numersche Lösungsmethode benhaltet laut FERZIGER und PERIĆ [23] unter Anderem als Bestandtele das mathematsche Modell, de Koordnaten- und Bassvektorsysteme, das numersche Netz und de nten Approxmatonen. Der olgende Abschntt wdmet sch besonders der Dskretserung der Glechungen mt der FVM. Als Koordnaten- und Bassvektorsystem kommt ausschleßlch und ohne Enschränkung das kartessche System zum Ensatz. Be der Dskretserung der PDG wrd ot zwschen räumlcher und zetlcher Dskretserung, sowe der Glechungsdskretserung unterscheden, vgl. open FOAM [64]. De räumlche Dskretserung bezeht sch au de Aulösung des Rechengebetes bzw. der Rechengeometre durch das numersche Netz mt ener nten Anzahl an Knoten. Korresponderend dazu beschrebt de zetlche Dskretserung de Aulösung des Zetlusses als nte Anzahl von Zetschrtten. De Dskretserung der Glechungen schleßlch behandelt de Abbldung des jewelgen mathematschen Modells m Rechner als Satz von algebraschen Glechungssystemen. Grundsätzlch können de verschedenen Erhaltungsglechungen ür Masse, Impuls und Energe als spezelle Varanten ener allgemenen Transportglechung betrachtet werden. Formulert mt dem Skalar φ als Transportgröße und dem allgemenen Dusonskoezenten Γ sowe dem volumenbezogenen Quellterm S &, lautet deren derentelle Form:

24 10 ( ρφ ) ( ρ u φ ) t x 1 Zetterm 4243 Konvekton φ = + x Γ x Duson S& { Quellterm. (1.1) In Glechung (1.1) bezechnet zudem ρ de Dchte und u den Geschwndgketsvektor. De zetlche Änderung und der geschwndgketsabhängge konvektve Transport au der lnken Sete der Glechung stehen mt dem dusven Austausch und dem Quellterm au der rechten Sete m Glechgewcht. Der Quellterm asst dabe sämtlche Enlüsse, de über zetlche Änderung, Konvekton und Duson hnaus wrksam snd, zusammen. Be der FVM werden de partellen Transportglechungen nun als erstes über en allgemenes KV Ω ntegrert. De skalare Transportglechung (1.1) schrebt sch somt: Ω ( ρφ ) ( ρ u φ ) t dω + Ω x dω = Ω x φ Γ dω + x Ω Sd & Ω. (1.2) Glechung (1.2) kann mthle des Gaußschen Integralsatzes weter umgeormt werden. Deser besagt, dass de Dvergenz der vektorellen Feldgröße bezogen au das KV Ω glech dem Fluss deser Größe normal zur KV-Oberläche S st: x dω = Ω S nds, (1.3) wobe der Oberlächen-Normalenvektor n per Denton stets nach außen gerchtet st. Anwendung des Gaußschen Integralsatzes au de konvektven und dusven Flüsse der Glechung (1.2) ergbt: Ω ( ρφ ) t dω + S ρ u n φ ds = S φ Γ nds + x Ω Sd & Ω. (1.4) Ene wetere Verenachung von Glechung (1.4) kann durch Verwendung der Lebntz- Regel erzelt werden. Bewegt sch de KV-Oberläche S mt der Geschwndgket w, dann lautet de Lebntz-Regel ür ene skalare Feldgröße : d dt dω = dω + t Ω Ω S w n ds. (1.5)

25 11 Wrd Glechung (1.5) n Glechung (1.4) substtuert, so ergbt sch als endgültge ntegrale Form der Transportglechung ür de skalare Größe φ : d dt Ω φ ρφ dω + ρφ ( u w ) n ds = Γ n ds + S& dω. (1.6) x S S Ω Bs zu desem Schrtt snd kene approxmatven Modellerungen herangezogen worden. De ursprünglche Glechung (1.1) st ausschleßlch durch mathematsch exakte Operatonen n ene ür de FVM günstgere Form gebracht worden. De umgeormte Glechung (1.6) entsprcht somt genau der Ausgangsglechung (1.1). Be der FVM wrd das gesamte Rechengebet nun mt ncht-überlappenden KV Ω c vollständg augeüllt. Glechung (1.6) wrd dann über de enzelnen KV des Rechengebetes ntegrert. De FVM schränkt de Form der KV grundsätzlch ncht en. Es st jedoch von Vortel, wenn dese konvex snd, und der Mttelpunkt dadurch nnerhalb enes jeden KV legt. De Denton der KV mthle des numerschen Netzes wrd später n Kaptel 3.1 behandelt. S des nume- Bezogen au de dskreten KV rschen Netzes lautet Glechung (1.6) dann: Ω c und de zugehörgen KV-Oberlächen d dt Ω φ ρφ dω + ρφ ( u w ) nds = Γ nds + Sd & Ω, (1.7) x c S S Ω c wobe c den Index des jewelgen KV und de Indces der zugehörgen KV-Oberlächen spezzeren. De Dskretserung startet nun mt Anwendung der Mttelpunktsregel. Dese postulert, dass de enzelnen Integranden durch repräsentatve Mttelwerte angenähert werden können. Geht man davon aus, dass de repräsentatven Werte m Mttelpunkt des KV Ω c bzw. n den Mttelpunkten der zugehörgen KV-Oberlächen S vorlegen, so ergbt sch c ür Glechung (1.7): d ( ρφ Ω) dt c + c ( ρφ ( u w ) n ) S = Γ n S + S& c Ωc c φ x. (1.8) Dese Annahme entsprcht grundsätzlch ener Genaugket zweter Ordnung, d. h. dass sch Fehler be ener Verdoppelung der Aulösung verteln. In Glechung (1.8) kann zusätzlch noch der Massenstrom m& normal zu den KV-Oberlächen engesetzt werden:

26 12 d ( ρφ Ω) dt c + c ( m& m& w ) φ = Γ n S + S& c Ωc c φ x. (1.9) Glechung (1.9) beschrebt nun de dskrete Form der skalaren Transportglechung. Das Problem wurde au de Bestmmung der enzelnen Größen an den Mttelpunkten der KV sowe den Mttelpunkten der KV-Oberlächen reduzert. De mesten Werte m Rechengebet werden be der FVM n den KV gespechert. Snd Werte an den KV- Oberlächen nötg, we das be den konvektven und dusven Flüssen der Fall st, so müssen dese von den benachbarten KV nterpolert werden. Dadurch entsteht ür jedes Kontrollvolumen ene algebrasche Glechung, de de Abhänggket der Lösungsvarablen m KV-Mttelpunkt von den unmttelbaren Nachbar-KV ausdrückt. Werden dese Glechungen zusammengeasst, so entsteht en lneares Glechungssystem (LGS), das mt vorgegebenen Randbedngungen gelöst werden kann. Ob ür de Lösung des LGS dabe mplzte oder explzte Lösungsalgorthmen zur Anwendung kommen, hängt drekt von der Art der Dskretserung ab. Be statonären Problemen verschwndet de zetlche Abletung. Deshalb kommen n solchen Fällen üblcherwese mplzte Verahren zum Ensatz. Be nstatonären Problemen hngegen können abhängg von den spezellen Anorderungen sowohl mplzte als auch explzte Lösungsalgorthmen verwendet werden. Explzte Verahren snd allerdngs hnschtlch der möglchen Zetschrttwete an das CFL-Krterum gebunden. Ist der Zetschrtt zu groß gewählt, snd dese Lösungsverahren ncht mehr stabl, sehe FERZIGER und PERIĆ [23]. De enzelnen Interpolatonsschemata, de m CFD-Tool ür de konvektven und dusven Flüsse zur Verügung stehen, de Dskretserungsschemata ür de zetlche Abletung sowe de Approxmatonsschemata ür de Gradenten werden später behandelt. 2.2 Beurtelung numerscher Verahren Für de Beurtelung enes numerschen Lösungsalgorthmus snd verschedene Krteren erorderlch, de dessen Egenschaten möglchst engängg und assbar ausdrücken. Im Berech der Strömungsmechank haben sch herür enge Krteren etablert, de m Folgenden augelstet werden, vergleche JUSUF [43]. De enzelnen Punkte snd telwese mtenander verwandet und sollten deshalb n hrer Gesamthet betrachtet werden. Konsstenz Be der Dskretserung des mathematschen Modells entstehen Abbruchehler. En numersches Verahren wrd dann als konsstent bezechnet, wenn be verschwndenden örtlchen bzw. zetlchen Schrttweten de Abbruchehler ebenalls verschwnden. En numersches Verahren, dessen Dskretserung enen großen Abbruchehler auwest, wrd auch als dusv bezechnet. Das legt darn begründet, dass sch der Abbruchehler durch ene erhöhte Dusvtät der Strömung bemerkbar macht, sehe bespelswese FERZINGER und PERIĆ [23].

27 13 Stabltät Ene numersche Lösung st mmer mt klenen Fehlern behatet. Wenn dese Fehler m Laue enes Lösungsprozesses ncht verstärkt sondern gedämpt werden, dann heßt das Verahren stabl. Ot werden Verahren be Verwendung von Dskretserungsschemata hoher Ordnung nstabl. Ene Redukton der Ordnung kann de Verahren stablseren, geht jedoch zu Lasten der Lösungsgenaugket. Konvergenz En numersches Verahren wrd dann als konvergent bezechnet, wenn be stegender örtlcher bzw. zetlcher Aulösung de Lösung des dskretserten Modells gegen de exakte Lösung des mathematschen Modells strebt. Von Konvergenz wrd auch gesprochen, wenn das Resduum des dskreten LGS mt stegender Iteratonszahl des teratven Lösungsverahrens abnmmt. Konservatvtät De mathematschen Modelle ür strömungsmechansche Problemstellungen leten sch von den grundlegenden physkalschen Erhaltungsprnzpen ür Masse, Impuls und Energe ab. Kann en Lösungsverahren dese Erhaltungsprnzpen sowohl lokal als auch global erüllen, wrd es als konservatv bezechnet. De n der vorlegenden Arbet zum Ensatz kommende FVM olgt drekt dem Erhaltungsprnzp und st deshalb en konservatves Verahren. Genaugket Numersche Lösungen snd mmer mt systematschen Fehlern behatet. Dese entstehen durch de Modellerung des Strömungsproblems, durch de Ordnung der Dskretserung und de räumlche und zetlche Aulösung. 2.3 Anorderungen an Smulatonswerkzeuge Be der Anorderungsanalyse ür en Smulatons-Tool m sowohl wssenschatlchen als auch ndustrellen Umeld ergeben sch dre wesentlche Anwenderrollen, der klasssche Smulatonsngeneur, der Forscher und der Programmerer. Letzterer st zwar ken Anwender m herkömmlchen Snne, wrd aber n desem Zusammenhang zu den Anwendertypen hnzugezählt, da auch er Anorderungen an de Sotware stellt. Der Smulatonsngeneur verwendet das CFD-Programm als renes Werkzeug und st vor allem an Programmstabltät, Rechenperormance und Modellverügbarket nteressert, wohngegen ür den Programmentwckler de Erweterbarket und Wartbarket des Quelltextes m Fordergrund stehen. Der Forscher mscht de Anorderungen der beden genannten Anwendergruppen, da er m Wesentlchen neue Modelle entwckelt und dese deshalb sowohl mplementeren als auch valderen muss. Bld 2-1 stellt dar, dass ene CFD-Sotware von den dre vorgestellten Anwenderklassen unter sehr verschedenen Geschtspunkten betrachtet wrd, deutet glechzetg aber an, dass de Abgrenzung

28 14 zwschen den Gruppen verschmeren kann, oder en Angehörger ener Gruppe durch Rollentausch auch en neues Anorderungsprol an de Sotware stellen kann. Bld 2-1: De Smulatonssotware m Fokus unterschedlcher Anorderungsgruppen Betrachtet man den Modellentwcklungsprozess n enem CFD-Code, st der Wechsel des Anorderungsprols ür den Modellentwckler sogar typsch. Denn ausgehend von der Denton des renen physkalschen Modells trtt der Entwcklungsprozess n ene klasssche Iteratonsschlee aus Modellmplementerung und Modellvalderung en, de schleßlch be erolgrecher Valderung n der Modellausleerung endet. Der Modellentwckler durchläut entsprechen de Rollen Forscher, Sotwareentwckler und Anwender, vergleche Bld 2-2. Das genannte Szenaro zegt deutlch, dass sehr unterschedlche Anorderungen an en Smulatons-Tool gestellt werden. En starres Sotwaredesgn kann unmöglch allen sch ergebenden Ansprüchen gerecht werden, weshalb de Auslegung des CFD-Tools als lexbles Framework schon unter desen grundlegenden Geschtspunkten als snnvoll erschent. De Interaktonsmöglchketen, der enzelnen Anwendergruppen mt den unterschedlchen Komponenten des CFD-Tools werden n Kaptel 2.5 denert. 2.4 Aspekte ür den Sotwareentwur De Implementerung der FVM ür de numersche Smulaton komplexer strömungstechnscher Problemstellungen stellt, we de Implementerung aller numerscher Lösungsverahren, enen enormen programmertechnschen sowe programmerorgansatorschen Auwand dar. De Wartung und Plege, sowe de Erweterung der resulterenden Smulatonssotware gestaltet sch wegen hrer Komplextät und hrem Umang sehr auwändg. Im wssenschatlchen Berech snd de prozessorenterten Programmersprachen FORTRAN und C ür de Programmerung numerscher Verahren wet verbretet. Dabe stellen dese Sprachen aber ncht de technschen Mttel zur Verügung,

29 15 de ür en modernes Sotwaremanagement notwendg wären. Ene strukturerte, modulare und überschtlche Programmerwese st n FORTRAN und C nur mt enem hohen Maß an Programmerdszpln möglch. Das hat zur Folge, dass de bearbetete Sotware mt der Zet mest mmer unüberschtlcher wrd. De Lesbarket und Überschtlchket st jedoch ür de Wartung, Änderung oder Erweterung jeder Sotware mmens wchtg. Ot muss dann n regelmäßgen Abständen en scharer Schntt vollzogen werden, der en komplettes Re-Desgn der Smulatonssotware bedeutet. Vor desem Hntergrund erschent de Verwendung ener Programmersprache we C++, de de Implementerung großer Projekte natv unterstützt, wesentlch snnvoller. Durch de Objektorenterung orcert se von Grund au de Datenkapselung und de Wederverwendbarket von Sotwarekomponenten und erlechtert so das Erstellen klar strukturerter Programme. Bld 2-2: Der Modellentwcklungsprozess bezogen au de genannten Anorderungsgruppen Aus Scht des Sotwareprojekts sollte de Implementerung der FVM vor allem ezent, scher sowe lecht wartbar sen. Für de Nachhaltgket der Programmerung st wchtg, de enzelnen Sotwarekomponenten außerdem möglchst lexbel und weder verwendbar zu gestalten. De Ezenz und Scherhet wrd durch de Verwendung moderner Programmertechnken errecht. C++ ermöglcht mt der TMP bespelswese de Erstellung von ET ür de Tensorarthmetk, sehe Kaptel 3.3. De Wartbarket des Quelltextes resultert natürlch drekt aus der Qualtät des Sotwareentwurs. De klare Strukturerung des Programms n geegnete unktonale Komponenten st her entschedend. Klassen sollten generell über schlanke und möglchst allgemene Schnttstellen verügen. De Daten der Klassen sollten außerdem mmer möglchst stark gekapselt sen und düren nur über ausgewesene Zugrsunktonen vom Anwender errechbar sen. Das stellt de Konsstenz der enthaltenen Daten scher und schat zudem Überschtlchket bem

30 16 Programmeren. Wo ncht erorderlch sollte auch ncht unnötg abgeletet werden. Zwe Klassen, de sch n hrer Funktonaltät kaum überschneden, gehören n der Regel auch ncht zusammen. De Flexbltät bzw. Wederverwendbarket von Komponenten hängt vor allem von hrer Schnttstellendenton ab. Dese sollte möglchst von vornheren auch zuküntge Anorderungen berückschtgen. Da ot schwer absehbar st, we sch de Anorderungen an ene Komponente mt der Zet verändern, sollten hre Schnttstellen so gestaltet werden, dass dese lecht ergänz- bzw. erweterbar snd. Ene bestehende Schnttstellendenton dar sch aber nemals verändern. Das stellt scher, dass ncht plötzlch ganze Programmmodule durch ene modzerte Schnttstelle unbrauchbar werden. Enes der wrkungsvollsten gestgen Werkzeuge, um Komplextät zu beherrschen, st das herarchsche Ordnen, d. h. das Anordnen verwandter Konzepte n ener Baumstruktur. En Programm kann häug als ene Menge von Bäumen oder als gerchteter azyklscher Graph von Klassen organsert werden, sehe STROUSTROUP [90] zum Programmeren n C++. Ene grobe nterne Autelung zum Ausblden solcher Strukturen ür numersche Anwendungen könnte sch bespelswese n de Geometredaten, de Glechungsdaten, de Lösungsalgorthmen ür das lneare Glechungssystem, de Steueralgorthmen zum Intalseren und Itereren, de Parallelserung, de Enlese- und Ausgabealgorthmen sowe n de Specherverwaltung augledern. 2.5 Funktonale Komponenten numerscher Anwendungen De Funktonaltät numerscher Sotware kann nach ACOSTA [2] durch mehrere horzontal überenander legende Schchten ausdrückt werden. Er verglecht de enzelnen Lagen n senem Modell dabe mt enem Esberg, be dem der größte Tel unter der Wasseroberläche legt und nur de oberste Sptze ür de Nutzer schtbar st. Das Modell von ACOSTA st n Bld 2-3 dargestellt. De unterste Lage bldet de Kommunkatons- Schcht, de de unktonalen Komponenten zur Parallelserung der Smulatonssotware und de grundlegenden Datenstrukturen enthält. Darüber bendet sch de Algebra- Schcht mt den Algorthmen zur Dskretserung der Glechungen. De Detals der Kommunkatonsschcht bleben vor der Algebra-Schcht dabe komplett verborgen. Se gret au de Funktonaltät der Kommunkatonsschcht ausschleßlch über de vorhandenen Schnttstellen zu. Über der Algebra-Schcht legt wederum de Solver-Schcht mt den Algorthmen zum Lösen der LGS. We zuvor snd de Detals der darunterlegenden Algebra-Schcht ür de Solver-Schcht ncht ensehbar. Der Zugr au de Funktonaltät der Algebra-Schcht erolgt weder über de spezzerten Schnttstellen. Als letzte und oberste Lage setzt ACOSTA de User-Schcht, de über de notwendgen Schnttstellen zur Steuerung der Sotware durch den Anwender verügt. De User-Schcht st als enzge Lage nach außen schtbar und stellt de numersche Sotware als Ganzes dar. Das Konzept von ACOSTA bldet ene vertkale Herarche ab, deren Ebenen von unten nach oben mmer komplexere Komponenten benhalten. De Interakton zwschen den Ebenen beschränkt sch dabe ausschleßlch au de jewels unmttelbar darüber und darunter legende Nachbarebene. ACOSTAs Modell olgt ener klassschen Stratege zur Unterglederung komplexer Systeme n mmer enachere Baustene. De Grundbaustene snd dabe stark gekapselt und möglchst allgemen gehalten. Dadurch wrd hre Wederverwendbarket erlechtert. Das Konzept st mt objektorenterten Strukturen lecht

31 17 umsetzbar. De grundlegenden Prnzpen snd auch m Sotwareentwur des CFD-Tools enthalten. ACOSTAs Esbergmodell seht kene horzontalen Schnttstellen ür de unktonalen Schchten vor, durch de ene Interakton zwschen Nutzer und Sotware möglch wäre. Derartge Schnttstellen können aber den Nutzwert ener Smulatonssotware erheblch stegern. Deshalb st das Grundkonzept von ACOSTA ür den Sotwareentwur des CFD-Tools neu überdacht worden. Bld 2-4 zegt das resulterende Stuenkonzept des CFD-Tools. De enzelnen Schchten snd reduzert und neu zugewesen worden. De Untertelung der Schchten lautet nun von oben nach unten Solver++, Solver++Plugns sowe Solver++Lbrary. De Schchten verkörpern de verschedenen unktonalen Komponenten des CFD-Tools, also das ausührbare Programm, de enzelnen ntegrerbaren Module zur Glechungsdskretserung und Geometremodkaton sowe de Programmbblothek mt den grundlegenden Baustenen zur Specherung und Verwaltung der Daten. We zuvor be ACOSTA bauen de enzelnen Schchten auenander au und snd deshalb vertkal mtenander verzahnt. Den enzelnen Schchten stehen zur Interakton verschedene Anwendergruppen gegenüber. De Anwendergruppen werden durch den Standardnutzer, den CFD-Experten und den Programmerer gebldet. De Interaktonsmöglchketen zwschen den Sotwareschchten und den Anwendergruppen st 1 zu 1 zugeordnet, das heßt der Standardnutzer kommunzert nur mt der Solver++-Schcht, der CFD-Experte mt der Solver++Plugns-Schcht und der Programmerer mt der Solver++- Lbrary-Schcht. De Anwendergruppen können dabe aber unterenander, we n Kaptel 2.3 beschreben, wechseln. Bld 2-3: Das Schchtenmodell nach ACOSTA [2] angelehnt an enen Esberg, nur de oberste Sptze als Benutzerschcht st schtbar

32 18 Bld 2-4: Das Stuenkonzept ür das CFD-Tool; lnks: Klasszerung der Benutzertypen von der breten Masse der CFD-Anwender zur klenen Gruppe der echten CFD-Programmerer; rechts: vom Solver++- Frontend ür de Anwendung ertger Modelle zur Solver++Lbrary ür de Beretstellung der Modellgrundlagen Dre klasssche Interaktonsälle snd ür das Stuenkonzept vorgesehen. Im ersten Fall kongurert der Smulatonsngeneur als Standardnutzer ganz enach de Sotware, ndem er das mathematsche Modell ür de Smulaton auswählt. Des gescheht über de Konguratons- oder Parameterdateen. Der Fall bldet also de Interakton mt den Anwenderschnttstellen der Smulatonssotware au der oberen Ebene ab. Herür snd kene Programmerkenntnsse erorderlch. De Interakton erolgt über textbaserte Dateen, bespelswese m XML-Format. Der Standardnutzer seht dabe ledglch de anwählbaren Module als unktonale Enheten zur Glechungsdskretserung oder Geometremodkaton. Deser Fall trtt be jeder neuen Strömungssmulaton au. Der zwete Fall stellt de Programmerung neuer Module oder Transportglechungen durch den Wssenschatler oder CFD-Experten zur Erweterung der vorhandenen Modellerungsmöglchketen dar. Des gescheht durch Interakton mt den vorhandenen Programmerschnttstellen der Smulatonssotware au der mttleren Ebene. Es snd herür grundlegende bs mttlere Programmerkenntnsse erorderlch. Durch de vorgegebenen strengen Schnttstellendentonen st aber ken umangreches Sotwaredesgn nötg. Der CFD-Experte seht bem Programmeren des neuen Moduls de unktonalen Komponenten der untersten Schcht aber ncht hre Implementerungsdetals. Das drtte und letzte Fallbespel bldet de Sotwareentwcklung der unktonalen Komponenten des zugrunde legenden Smulatonsrameworks ab. Dese umasst de Erweterung und Optmerung des unktonalen Umangs und de Denton neuer Anwenderschnttstellen. Der Programmerer benötgt deshalb umangreche Kenntnsse n der Sotwareentwcklung bzw. dem Sotwaredesgn. Das Fallbespel stellt de Interakton au der untersten Ebene dar.

33 19 3 Grobstruktur des Sotwaredesgns Es gbt ene Velzahl unterschedlcher Faktoren, de au den Entwur der nneren Datenstruktur enes CFD-Codes mehr oder wenger drekt enwrken. Das vorlegende Kaptel beleuchtet de wchtgsten Faktoren näher und letet daraus unter Berückschtgung der Erkenntnsse aus Kaptel 2 de Grobstruktur ür das Sotwaredesgn des CFD-Tools ab. Der erste Telabschntt st dem Aubau enes geegneten Datenormates zur Implementerung der FVM gewdmet. Der olgende Telabschntt des Kaptels beschätgt sch mt der Autelung der Sotware n unktonale Hauptgruppen. De entwckelten Lösungsansätze ür de natve Verwendung der Tensorarthmetk und ür de ezente Parallelserung der Sotware schleßen das Kaptel ab. 3.1 Polyedrsches Datenormat Das CFD-Tool benutzt de FVM zur Dskretserung der PDG des augebauten mathematschen Modells. Voraussetzung daür st, dass ür das betrachtete Lösungsgebet en numersches Netz bzw. Gtter exstert, sehe Kaptel 2.1. Das Netz st aus zweerle Hnscht erorderlch. Zum Enen denert es de dskreten Orte, an denen de jewelgen Varablen berechnet werden, zum Anderen ermöglcht es de Konstrukton der KV, de zur Integraton der Derentalglechungen herangezogen werden. De Art der verwendeten Rechennetze hat drekten Enluss au das nterne Datenormat enes CFD-Codes, denn deser muss während der Programmlauzet das Netz mt allen darau denerten Varablen m Specher abblden. Der Entwur des Datenormates reduzert sch also zunächst au de Frage, mt welchen Netzen der CFD-Code arbeten soll Netzarten Grundsätzlch gbt es zwe Arten von numerschen Netzen, solche mt strukturertem und solche mt unstrukturertem Aubau. Im 3-dmensonalen Fall, bestzen de eldnneren Knoten enes strukturerten Netzes genau 6 Nachbarknoten. De Struktur des gesamten Netzes kann mthle des Indexraumes I und der Dmenson max, jmax und kmax n den enzelnen Indexrchtungen, j und k vollständg beschreben werden. Jeder eldnnere Knoten bestzt also neben der egentlchen Koordnate (x,y,z) m physkalschen Raum P endeutge Koordnaten (,j,k) m zugehörgen Indexraum I. Sene drekten Nachbarn werden durch Varaton der Indces um ±1 errecht, vgl. FERZIGER und PERIC [23], also bespelswese (-1,j,k) oder (+1,j,k). Erolgt das Abschreten der Knoten m strukturerten Netz mmer au deselbe Art und Wese st es ncht nötg, den Indexraum explzt zu spechern. Be enem unstrukturerten Netz lassen sch de Nachbarschatsverhältnsse zwschen den enzelnen Knoten ncht mehr so enach ableten. Es exstert ken durchgängger Indexraum mehr und de Abhänggketen der Knoten m Netz müssen zusätzlch zu den renen (x,y,z)-koordnaten der Knoten beretgestellt werden.

34 20 ZWART [108] schrebt, dass strukturerte Netze wegen hres enach zu beschrebenden nneren Aubaus eher gebräuchlch waren als unstrukturerte Netze. Be komplexen Geometren zegt sch allerdngs schnell en prnzpeller Nachtel der strukturerten Vernetzung. De Notwendgket, enen durchgänggen Indexraum zu schaen, schränkt deren Flexbltät erheblch en. De unstrukturerte Vernetzung unterlegt deser Beschränkung ncht, wodurch unstrukturerte Netze n der Lage snd, auch hochkomplexe Geometren ohne Probleme abzublden. Das Entwurskonzept des CFD-Tools zelt au en möglchst bretes Ensatzspektrum ab. De Verwendung ener strukturerten Datenbass würde dessen Ensatzmöglchketen von vornheren enschränken. Zum heutgen Zetpunkt st der Ensatz unstrukturerter Netze m CFD-Berech wet verbretet. So bestzen de mesten modernen CFD-Codes, we bespelswese CFX, FLUENT, STAR-CCM+ oder open FOAM [64], ene unstrukturerte Datenbass. Desem Trend wrd auch m CFD-Tool entsprochen, zumal de Fähgket zur unkomplzerten Verarbetung anspruchsvoller Geometren neben Genaugket, Stabltät und Geschwndgket en wchtges Qualtätskrterum ür jeden CFD-Code darstellt. Der durch das unstrukturerte Format verursachte zusätzlche Specherbedar kann n desem Kontext übrgens außer Acht gelassen werden. De au dem Rechennetz denerten Lösungsvarablen verbrauchen m Normalall wesentlch mehr Specher. Tabelle 3-1: Ensatzspektrum, Flexbltät und Genaugket enes CFD-Programms n Abhänggket von sener nternen Datenbass; De polyedrsche Datenbass geht als de lexbelste Lösung mt ausrechender Genaugket hervor Datenbass m CFD-Code kartessch kont. strukt. elem. unstrukt. polyedrsch kartessch Netztypen kont. strukt. elem. unstrukt. polyedrsch Flexbltät 1) - o + ++ Genaugket Legende: - o + ++ kont. strukt. elem. unstrukt. nutzbar nedrg neutral hoch sehr hoch konturangepasst strukturert elementbezogen unstrukturert 1) De Flexbltät kann mt ener Mehrblockstratege generell erhöht werden

35 21 Tabelle 3-1 zegt, welche Netztypen von den unterschedlchen nternen Datenormaten enes CFD-Codes verarbetet werden können. De Tabelle verenert de bshergen Betrachtungen und enthält de strukturerten Formate kartessch bzw. konturangepasst, sowe de unstrukturerten Formate element-bezogen bzw. polyedrsch. Be den kartessch strukturerten Netzen snd de Netzlnen mmer entlang der Koordnatenachsen ausgerchtet. De Verarbetung komplexer Geometren st deshalb ncht möglcht. Be konturangepasst strukturerten Netzen olgen de Indexlnen des zugehörgen Indexraumes der Kontur der Geometre. De Flexbltät stegt gegenüber dem kartesschen Format erheblch. Elementbezogen unstrukturerte Netze bestzen gegenüber polyedrsch bzw. allgemen unstrukturerten Netzen ene engeschränkte Anzahl vom Elementtypen. Mest snd das Tetraeder, Hexaeder, Prsmen und Pyramden. De Konventon reduzert de Komplextät und den Specherbedar der Netze, da de Inormatonen über de Zelllächen be vorgegebener Knotennummererung enes jeden Elementtyps wegallen. Das elementbezogene unstrukturerte Format oerert zusammen mt dem allgemen polyedrschen Format de höchste Flexbltät be der Vernetzung. En genauere Betrachtung der n Tabelle 3-1 augeührten Netztypen lässt erkennen, dass ausgehend vom allgemenen hn zum spezalserten Format ene Abwärtskompatbltät vorlegt. So kann jedes strukturerte Netz bespelswese als Spezalall enes unstrukturerten Netzes augeasst werden, das sch au den Elementtyp Hexaeder beschränkt. Übrgens werden unstrukturerte Netze, mt entsprechend ausgerchteten hexaedrschen Elementen bswelen rreührender Wese als kartessche Netze bezechnet. Solche Netze wesen gemenhn aber kenen durchgänggen Indexraum au, da se de kartessche Struktur an den Rändern ot augeben. In Tabelle 3-1 allen se unter de Kategore polyedrsch unstrukturert. De Genaugket enes CFD-Codes wrd stark vom jewelgen Dskretserungsschema der konvektven Flüsse beenlusst. De Dskretserung bs zu ener Genaugket zweter Ordnung beretet unabhängg von der Art der Datenhaltung kene Probleme. Der Ensatz höherwertger Verahren st allerdngs mt ener unstrukturerten Datenbass ncht mehr so enach möglch, denn dann st ür de Dskretserung mest mehr als ene Nachbarzellschcht erorderlch. De Beschränkung au ene Genaugket zweter Ordnung wrd n Anbetracht der hohen Flexbltät ener unstrukturerten Datenhaltung ür de mesten Fälle aber als völlg akzeptabel erachtet. Insgesamt betet de polyedrsche Datenbass be ausrechender Genaugket somt de höchste Flexbltät und das breteste Spektrum nutzbarer Netzormate. Se st deshalb als Datenbass m Sotwareentwur des CFD-Tools vorgesehen. Es olgt en erster Entwur der Datenbass. Numersche Netze bestzen ene klare herarchsche Struktur, de den Aubau der enzelnen Zellen regelt. Bld 3-1 zegt enen Dodekaeder, der als Bespel ür ene allgemen unstrukturerte bzw. polyedrsche Zelle dent. Der Dodekaeder besteht aus 12 Tellächen. Jede der Tellächen st wederum durch enen geschlossenen Polygonzug begrenzt. Jeder Polygonzug bestzt 5 Eckpunkte. De Eckpunkte oder Knoten schleßlch werden durch hre Koordnaten denert. Ene Zelle st somt durch de Lste der Tellächen, jede Telläche wederum durch das begrenzende Polygon, und jedes Polygon durch de Lste der Eckpunkte denert. Au das gesamte Netz bezogen lautet de Rehenolge der Herarcheebenen von oben nach unten damt: Zellen, Flächen und Knoten. Es st ncht nötg de Polygone als separate Herarcheebene enzuühren. Ihr Aubau kann be der Flächen-

36 22 denton durch de Rehenolge der enzelnen Knoten mplzt berückschtgt werden. Im Übrgen macht es ür de spätere Dskretserung Snn, am Umlausnn der Knoten auch de Rchtung der Flächennormalen estzumachen. Der Umlausnn der Knoten und de Flächennormale blden deshalb n der Regel en Rechtssystem. Bld 3-1: Dodekaeder als Bespel ür ene polyedrsche Zelle; Dese bestzt 12 Tellächen; Jede der Tellächen wrd durch en Polygon mt 5 Eckpunkten begrenzt; Der Umlausnn der Eckpunkte oder Knoten um ene Telläche bldet mt der zugehörgen Flächennormale en Rechtssystem De beschrebene Struktur objektorentert nachzublden, st ncht gerade schwer. De Herausorderung besteht allerdngs darn, ene möglchst ezente Implementerung zu schaen. Zunächst legt es nahe, de enzelnen Komponenten des Netzes als egene Zell-, Flächen- und Knoten-Objekte vorzusehen und de gesamte Netzstruktur aus solchen Objektlsten auzubauen. Nachtelg an desem klassschen Ansatz st, dass be der späteren Dskretserung vele ndrekte Indexzugre entstehen und dadurch de Programmablaugeschwndgket stark ledet. Im CFD-Tool werden de Komponenten deshalb ncht enzeln gespechert. Stattdessen seht der Entwur vor, de Herarcheebenen m Ganzen als Objekte abzublden. Dadurch st es möglch den gesamten Aubau des Netzes n enge wenge endmensonale Lsten zusammenzuassen. Bld 3-2 zegt de UML-Dagramme ür de Klassen PolyCellLayout und PolyFaceLayout. De Klassen snd dentschen n Aubau und Funktonaltät. De Doppelung erolgt ledglch daür, dass de Funktonsaurue der beden Klassen bezogen au de spezelle Bedeutung der Herarcheebenen endeutg unterschedbar bleben. Bede Objekte bestzen jewels ene Lste von Indzes der nächst nedrgeren Herarcheebene, sowe ene Lste von Hlsndzes. Sollen bespelswese alle Flächenndzes F ener bestmmten Zelle C aus dem PolyCellLayout ausgelesen werden, muss zunächst über de Zugrsunktonen get_ront_cf( C ) und get_back_cf( C ), aus der Lste von Hlsndzes en Anangs- bzw. Endwert bestmmt werden. Mthle deser beden Werte können dann de zur Zelle gehörenden Flächenndzes über de Zugrsunkton get_f( CF ) augelesen werden. Das gleche Prnzp glt be den zu ener Fläche gehörenden Knotenndces N ür de Klasse PolyFaceLayout. Der Aubau der beden Datenstrukturen kann zudem lecht anhand des n Bld 3-2 abgebldeten vollständg ndzerten 2d-Netz nachvollzogen werden. Der Aubau der beden Datenstrukturen st übrgens m 2d-Fall und m 3d-Fall völlg dentsch. Das Vektoreld mt den renen Knotenkoordnaten vervollständgt schleßlch de enzelnen

37 23 Komponenten der polyedrschen Datenbass zur Specherung des Netzes. De Spezkaton der Vektorelder ndet sch weter unten m Abschntt über de verügbaren Datentypen, der konkrete Entwur der Vektorelder olgt n Kaptel 3.3, das de Tensorarthmetk m CFD-Tool erläutert. numersches Netz: m_ront_cf: m_f: numersches Netz: m_ront_fn: m_n: Bld 3-2: Datenstrukturen ür de ezente Specherung polyedrscher Netze am Bespel enes unstrukturert ndzerten 2d-Netzes mt 3x3 Zellen; De Datenstrukturen sehen m 3d-Fall genauso aus; C = cell; CF = cell-ace; F = ace; FN = ace-node; N = node Mehrblockstratege De Verwendung der Mehrblockstratege stegert de Flexbltät der enzelnen Netzormate unabhängg vonenander, sehe Tabelle 3-1. De Methodk ührt enen zusätzlchen Abstraktonslevel en, ndem se das zu vernetzende Lösungsgebet zunächst n grobe Blöcke autelt. De enzelnen Blöcke bestzen abhängg vom Format der Datenbass ene hexaedrsche oder allgemene Form. De Mehrblockstratege erhöht de Flexbltät nsbesondere be CFD-Codes mt strukturerter Datenbass beträchtlch. Se

38 24 gestattet nämlch, den durchgänggen Indexraum an den Interaces zwschen den Blöcken zu unterbrechen, sehe LILEĆ ET AL. [55]. Verschedene Bespele ür de erolgreche Anwendung der Mehrblockstratege be der strukturerten Vernetzung komplexer Geometren aus dem technschen Berech nden sch bespelswese n den Arbeten von KRONSCHNABL [48], EINZINGER [22], STEINBRECHER [89], SCHUSTER [85] und BÖHM [10]. Über de klasssche Anwendung hnaus, st de Mehrblockstratege auch noch n verschedenen anderen Berechen von Nutzen. Als Bespele denen her de Berückschtgung wechselnder Bezugssysteme und de geometrebaserte Parallelserung. Angeschts der Velalt hrer Anwendungsmöglchketen st klar, dass auch de Mehrblockstratege n den Entwur des CFD-Tools augenommen wrd. Der Ensatz blockstrukturerter Rechennetze be der Valderung neuer mathematscher Modelle st äußerst snnvoll. Generell ühren strukturerte Netze, deren Zellausrchtung au das Strömungseld abgestmmt st, zu ener besseren Dskretserung. We berets gezegt, steht de Verwendung strukturerter Netze aber ncht m Wderspruch zu enem unstrukturerten CFD-Code. Das Smulatonsergebns st be glecher Dskretserung und glechem Netz unabhängg von der verwendeten Datenbass. So zegen de Anwendungsbespele n Kaptel 5 ausschleßlch blockstrukturert vernetzte Geometren. De Erzeugung von qualtatv hochwertgen strukturerten Rechennetzen ür komplexe Geometren verursacht allerdngs enen hohen Zetauwand. De Erahrung zegt, dass deser Auwand m ndustrellen Umeld kaum gerechtertgt st. Im Gegensatz zur Wssenschat st dort mest ausrechend, en qualtatv rchtges Ergebns zu erzelen. De Verwendung unstrukturerter Netze stellt n desem Fall de lexblere und schnellere Lösung dar. Das gewählte Desgn des CFD-Tools kann au natürlche Wese bede Anwendungsälle bedenen. De blockwese geglederte, unstrukturert polyedrsche Datenhaltung, m Weteren als blockpolyedrsch bezechnet, macht des möglch Denton der Kontrollvolumen (KV) Das numersche Netz bldet mt den Knoten und Zellen de Grundlage be der Autelung des Lösungsgebets n nte KV. De KV müssen dabe n das Rechengebet so engepasst sen, dass se sch ncht überlappen und das Rechengebet vollständg auüllen. Für de Konstrukton der KV gbt es prnzpell zwe unterschedlche Herangehenswesen, de zellzentrerte Methode und de knotenbaserte Methode, vgl. HIRSCH [37] oder FER- ZIGER und PERIC [23]. Be der zellzentrerten Methode stmmen de Zellen mt den KV überen, und de Knoten legen an den Ecken der KV. Bespele ür zellzentrerte Verahren nden sch unter anderem be ZWART [108], EINZINGER [22] und SKODA [86]. Be der knotenbaserten Methode werden de KV dagegen um de Knotenpunkte des Netzes herumkonstruert. De KV setzen sch antelsmäßg aus mehreren angrenzenden Zellen zusammen. De Knoten blden jetzt ncht mehr de Ecken sondern de Mttelpunkte der KV. Da au dese Art und Wese sozusagen en zwetes numersches Netz entsteht, wrd de knotenbaserte Methode auch als duale Gtter Methode bezechnet, sehe HUURDEMAN [39] oder REXROTH [71]. In der Lteratur nden sch vele wetere Bezechnungen ür de knotenbaserte Methode. RAITHBY et al. [67] sowe RAW et al. [69] verwenden se als elementbaserte FVM. Be BALINGA und PATANKAR [7], we auch be SCHNEIDER und RAW [83] kommt se als KV-baserte FEM zum Ensatz, be BARTH [9] als Zell Knoten Methode. Das Grundprnzp blebt aber mmer dasselbe.

39 25 De objektve Bewertung der beden vorgestellten Methoden st ncht lecht. ZWART [108] dskutert hre Vor- und Nachtele unter anderem anhand des Genaugket/Kosten- Verhältnsses, der spezellen Modellerung sowe persönlcher Präerenzen. Beleuchtet man Dskretserung, Specherauwand und Geschwndgket stellt sch das Problem letztlch wrklch als ene Frage des persönlchen Geschmacks dar. Kenes der beden Verahren betet grundsätzlch ene höhere Ablaugeschwndgket oder enen gerngeren Specherbedar. Dese Egenschaten hängen stark von der Güte der konkreten Implementerung ab. Legt ene verglechbare Dskretserung vor, so glt außerdem, dass deren Genaugket und Stabltät drekt von der Qualtät des zugrundelegenden numerschen Netzes abhängg. Des st ür bede Verahren n glechem Maße zutreend. Das Rechennetz sollte das Lösungsgebet mmer so abblden, dass Genaugket und Stabltät ncht unnötg beenträchtgt werden. Von ener hohen Netzqualtät sprcht man m Allgemenen dann, wenn das Rechennetz dese Anorderungen erüllt. Um de Netzqualtät zu quantzeren, können unterschedlche Kenngrößen herangezogen werden. De Verzerrung, de Streckung und das Expansonsverhältns der Zellen snd gängge Größen ür deren Beschrebung. Be der zellzentrerten Methode stmmen de Zellen des Netzes drekt mt den nten KV überen. De Netzqualtät hat deshalb ene unmttelbare Aussagekrat über de Auswrkung des Netzes au das numersche Verahren. Be der knotenbaserten Methode, be der sch de KV und de Zellen unterscheden, stellt de Netzqualtät nur en mttelbares Krterum dar. Deser Sachverhalt st de Grundlage daür, dass m CFD-Tool de zellzentrerte Methode mplementert wrd. Das Dualtätsprnzp der knotenzentrerten Methode kann m Übrgen auch be der Netzgenererung genutzt werden. So kann en mttels Delaunay-Trangulerung erzeugtes Netz lecht n en polyedrsches Vorono-Netz überührt werden Dskrete Specherorte m Netz Das numersche Netz denert neben den KV auch de dskreten Specherorte der Feldvarablen. Das CFD-Tool verwendet ür den Aubau der KV de zellzentrerte Methode. Dementsprechend wrd der Großtel der Lösungsvarablen n den Mttelpunkten der Zellen, de be der zellzentrerten Methode de KV repräsenteren, gespechert. De Volumenntegrale n den Transportglechungen können so unmttelbar ausgewertet werden. Zusätzlch st es hlrech bestmmte Feldvarablen n den Mttelpunkten der Zelllächen zu spechern. Bespele herür snd der Massenstrom m& oder der Zelllächennterpolatonsaktor λ. Bede werden be der Dskretserung der konvektven Flüsse n den Transportglechungen benötgt. Neben den KV und den Flächen stellen de Knoten des Netzes de drtte Möglchket zur Specherung von Feldvarablen dar. Be der zellzentrerten Methode wrd davon allerdngs mest ken Gebrauch gemacht. An den Knoten denerte Feldvarablen werden höchstens temporär zum Exporteren des Smulatonsergebnsses n enem knotenbaserten Format benötgt. Um zu verdeutlchen, ob ene bestmmte Feldvarable den Zellen, Flächen oder Knoten des Netzes zugeordnet st, unterschedet das CFD-Tool logsch zwschen Zell-, Flächen- und Knoteneldern. Bld 3-3 veranschaulcht de dskuterten Spechermöglchketen der Feldvarablen anhand enes enachen polyedrschen Netzes. Von oben nach unten snd de Specherorte ür Knoten-, Flächen- und Zellelder dargestellt.

40 26 Bld 3-3: Knoten, Flächen und Zellen als dskrete Spechermöglchketen m unstrukturerten Polyedernetz; Be Flächen- und Zelleldern wrd explzt zwschen dem nneren Berech und dem oder den Randberech(en) unterscheden

41 27 De Specherorte können zusätzlch danach gestaelt werden, ob se am Rand oder m Innern des Rechengebetes legen. Des st nsbesondere zur Angabe unterschedlcher Randbedngungen ür de spätere Dskretserung wchtg. So unterschedet das CFD-Tool be den Zell- und Flächeneldern zwschen Randberechen, Interaces und dem Gebetsnneren. De Datenpostonen werden dabe mmer so umsortert, dass zuerst der netznnere Berech, danach de Interaces und zuletzt de Randbereche anenandergereht durchnummerert snd. Dadurch st der enache berechswese Zugr über den Start und Schlussndex des jewelgen Berechs be der Dskretserung möglch, sehe Bld 3-4. Da das Netz selbst kene Randzellen bestzt, werden dese be der zellzentrerten Methode als unendlch dünne Schcht erzeugt. Dese Zellschcht ällt mt den Randlächen des orgnären numerschen Netzes zusammen. Der Kunstgr st notwendg, um auch ür de den Zellen zugeordneten Feldvarablen Randbedngungen spezzeren zu können. Im Falle der Interaces st das ncht nötg. Allerdngs muss jedem Interace de angrenzende Zellschcht des Nachbarnetzes mtgetelt werden. Das polyedrsche Netz n Bld 3-3 west zwe unterschedlche Randbereche au. En Verglech der dskreten Specherpostonen der Zell- und der Flächenelder zegt, dass dese an den Randberechen jewels überenstmmen. Das polyedrsche Datenormat ermöglcht generell, de ree Umsorterung der Zell- und Flächenpostonen. Be enem mplzten Lösungsverahren beenlusst de Konvektvtät und Indzerung der eldnneren Zellen de Besetzungsstruktur der Koezentenmatrx. Durch de geschckte Sorterung der Zellen wrd de Bandbrete der Matrx möglchst gerng gehalten. Des wrkt sch postv au de Zugrszeten und de Stabltät veler teratver Lösungsverahren aus. Ene bewährte Stratege zur geschckten Indzerung der Zellen st bespelswese der Algorthmus nach CUTHILL und McKEE [17]. De Konventon über de Specherpostonen der Zellelder m CFD-Tool verlangt ledglch, dass de eldnneren Zellen nsgesamt nach vorne sortert snd. De relatve Poston der eldnneren Zellen zuenander st davon ncht berührt und kann zur Redukton der Bandbrete der Koezentenmatrx re optmert werden. Bld 3-4: Mnklasse zur Specherung des Anangs- und Schlussndexes der unterschedlchen Bereche der Flächen- und Zellelder m numerschen Netz Hlsstrukturen ür de Dskretserung Be der Dskretserung der Derentalglechungen werden neben den Datenstrukturen, de den Aubau des numerschen Netzes beschreben, zusätzlche Hlsstrukturen benötgt, de den Indexzugr au de verschedenen Feldvarablen erlechtern. De KV snd be der zellzentrerten Methode dentsch mt den Zellen des numerschen Netzes. De Auswertung enes Oberlächenntegrals erordert demnach, de Werte aller betroenen

42 28 zellbezogen gespecherten Varablen von den Zellmttelpunkten an de dazwschen legenden Zelllächen zu nterpoleren. Iterert en Algorthmus herür enach über alle Zellen des Netzes, wrd der größte Tel deser Interpolatonen doppelt durchgeührt. Das legt daran, dass jede nnere Fläche Bestandtel von exakt zwe Zellen st, vgl. Bld 3-5. Erolgt de Auswertung der Oberlächenntegrale hngegen so, dass de Iteratonsschlee über alle Flächen des Netzes läut, erhält man enen wesentlch ezenteren Algorthmus. De notwendgen Interpolatonen werden dann ür jede Fläche nur enmal durchgeührt. Das Ergebns ener Interpolaton kann dann jewels ür bede angrenzenden Zellen verwendet werden. Wertet en Oberlächenntegral Flüsse durch de Tellächen enes KV aus, muss unterscheden werden, ob de Flüsse n das KV hnen- oder aus dem KV herausgehen. Herür wrd de Rchtung der Oberlächennormalen herangezogen. Ist en Fluss postv, so läut er n Rchtung der Oberlächennormalen, st er stattdessen negatv, so läut er genau entgegengesetzt. Bezechnet der nedrgere Index zweer benachbarter Zellen de Master- Zelle und der höhere de Slave-Zelle und wrd zudem de Oberlächennormale der dazwschen legenden Fläche mmer von der Master- zur Slave-Zelle hn ausgerchtet, so st endeutg denert, welches der beden angrenzenden KV der Fluss beüllt und welches er entleert. Dese Konventon ermöglcht ür de Auswertung der Flüsse, über de Flächen des Netzes zu tereren. Bld 3-5: De nneren Tellächen bestzen ene Master- und ene Slave-Zelle; Ihr Umlausnn wrd so gewählt, dass de jewelge Flächennormale von der Master- zur Slave-Zelle zegt De Entwüre der Klassen PolyCellLayout und PolyFaceLayout zur Beschrebung des numerschen Netzes leern kene Aussage darüber, welche Zellen zu ener bestmmten Fläche gehören. Deshalb müssen ür de Dskretserung der Oberlächenntegrale nach obgem Schema zwe Lsten engeührt werden, de de Verknüpung zwschen enem Flächenndex F und dem dazugehörgen Master-Zellndex bzw. Slave-Zellndex leern. Bld 3-6 zegt den Inhalt der beden Lsten m_master_f und m_slave_f ür das angegebene unstrukturert ndzerte 2d-Netz. Das Vorgehen blebt absolut dentsch, wenn der 3d- Fall betrachtet wrd. De Randlächen bestzen egentlch nur noch Master-Zellen. Durch de künstlche Schcht von Randzellen können aber dennoch Slave-Zellen ür de Randlächen angegeben werden. De Lste m_slave_f spegelt des ab dem Flächenndex F = 12 weder.

43 29 numersches Netz: m_master_f: m_slave_f: Bld 3-6: Verknüpung zwschen den Tellächen und hren angrenzenden Master- und Slave-Zellen am Bespel des unstrukturert ndzerten 2d-Netzes mt 3x3 Zellen; De Lsten m_master_f und m_slave_f ordnen jedem Flächenndex enen Master- und Slave-Zellndex zu und erlechtern so de Dskretserung von Oberlächenntegralen; F = ace Für mplzte Lösungsverahren snd wetere Hlsdaten notwendg, de de Besetzungsstruktur der Matrx des lnearen Glechungssystems wedergeben. Das CFD-Tool verwendet ausschleßlch Fnte-Volumen-Dskretserungen, de au de erste Nachbarzellschcht ener Polzelle beschränkt bleben. De so entstehenden Rechenmolekühle gewährlesten ene gernge Bandbrete der Lösungsmatrx. De sch ergebende Besetzungsstruktur der Matrx kann ähnlch we das Layout des numerschen Netzes n endmensonalen Lsten gespechert werden. Das CFD-Tool verwendet herzu das komprmerte Zelenspecherormat CRS (Compressed-Rowwse-Storage), vgl. BARRET et al. [8], das ledglch de von Null verschedenen Koezentenenträge spechert. De Klasse PolyMatrxLayout nmmt de Besetzungsstruktur der Matrx m beschrebenen Format au. Ihr Entwur st n Bld 3-7 dargestellt. Um alle Spaltenenträge Col ür ene bestmmte Zele Row auszulesen, wrd zunächst über de Funktonen get_ront_pos( Col ) bzw. get_back_pos( Col ) de Start und Endposton m Hlsarray der Spaltenndces bestmmt. Mt den zurückgegebenen Werten Pos können dann de Indzes aller Spaltenenträge mt der Funkton get_column( Pos ) ausgelesen werden. Bld 3-7 zegt das sch ergebende Datenbld m Falle des dargestellten unstrukturert ndzerten 2d-Netzes mt 3x3 Zellen. De Datenstruktur seht m 3d-Fall genau glech aus. Für de mplzte Dskretserung von Volumen- und Oberlächenntegralen werden zusätzlche Verknüpungen abgeletet, de den drekten Zugr au de Koezenten der Lösungsmatrx erlauben, sehe Bld 3-7. Be der Auswertung der Volumenntegrale wrd sowohl der Index der Zelle C als auch der Index des Dagonalkoezenten PolePos benötgt. Daür wrd de Lste m_pole_c engeührt, de zu gegebenem Zellndex den entsprechenden Dagonalndex zurückleert. Be der Auswertung der Oberlächenntegrale müssen außerdem enem bestmmten Flächenndex F de Indzes PolePos und NborPos des Dagonal- und des Nachbarkoezenten der Master-Zelle, bzw. des Dagonal- und Nachbarkoezenten der Slave-Zelle zugeordnet werden. Daür snd de Lsten m_master_pole_f und m_master_nbor_f bzw. m_slave_pole_f und m_slave_nbor_f vorgesehen, de zu gegebenem Flächenndex de entsprechenden Koezentenndzes zurückleern. Zu beachten st, dass de Lsten m_master_nbor_f, m_slave_pole_f und m_slave_nbor_f nur über de nneren Flächen des Netzes gehen, denn zu den Randlächen exsteren n der Matrx kene entsprechenden Enträge.

44 30 numersches Netz: m_ront_pos: m_pole_c: m_column: Besetzungsstruktur der Matrx: m_master_pole_f: m_master_nbor_f: m_slave_nbor_f: m_slave_pole_f: Bld 3-7: Entwur zur Darstellung der Besetzungsstruktur der Matrx ür das abgebldete unstrukturert ndzerte 2d-Netz; Das Schema blebt m 3d-Fall glech; De Lsten m_pole_c bzw. m_master_pole_f, m_master_nbor_f, m_slave_nbor_f und m_slave_pole_f ermöglchen den drekten Koezentenzugr be der Dskretserung von Volumen- bzw. Oberlächenntegralen; C = cell; F = ace; pole = Pol; nbor = Nachbar Verügbare Tensortypen In partellen Derentalglechungen treten Varablen mt unterschedlchen mathematschen Egenschaten au. Der Begr Tensor ordnet de Varablen nach der Anzahl hrer Komponenten en. Jeder Tensor bestzt de Dmenson d und den Rang r. De Anzahl nk der Komponenten enes Tensors ergbt sch zu: r n k = d. (3.1) Der Sotwareentwur des CFD-Tools betrachtet ausschleßlch den 3-dmensonalen Fall, sowe Tensoren vom Rang r 2. Des st ausrechend ür de n deser Arbet behandelten Derentalglechungen. De Datenbass des CFD-Tools könnte aber ohne wetere Probleme au Tensoren mt enem Rang r > 2 ergänzt werden. Tensoren mt Rang 0 bezechnet man auch als Skalare, Tensoren mt Rang 1 als Vektoren. Dese Benennungen snd lechter engängg als de Unterschedung der Tensoren nach hrem Rang. Aus desem Grund halten se auch Enzug n de Datenbass des CFD-Tools. Tensoren mt Rang 2 werden dann enach als Tensoren bezechnet. Bespele ür Skalare, Vektoren bzw. Tensoren aus der Fludmechank snd der statsche Druck p, de Geschwndgket u bzw. der Geschwndgketsgradent u / x j.

45 31 Tabelle 3-2 asst de Klasszerung der verügbaren Tensortypen zusammen. De angegebenen Datentypen können jewels als Werteeld oder Enzelwert deklarert werden. Der konkrete Klassenentwur der Datentypen olgt n Kaptel 3.3, das de gesamte Tensorarthmetk ür das CFD-Tool ausührlch behandelt. Skalare, Vektoren und Tensoren können als Zell-, Flächen- und Knotenelder angelegt werden. Tabelle 3-2: Zusammenassung der verügbaren Tensortypen m CFD-Tool; Dmenson d=3; N entsprcht der Feldgröße Tensor Rang Anzahl der Komponenten Bezechnung n der Mathematk Varablenbezechnung m CFD-Tool 1 Skalar Sca N x 1 Skalar-Feld ScaSet 3 3-Vektor Vec N x 3 3-Vektor-Feld VecSet 9 3x3-Matrx Ten N x 9 3x3-Matrx-Feld TenSet 3.2 Modularserung der Hauptgruppen Der vorlegende Abschntt beschätgt sch mt der Konkretserung des n Kaptel 2.5 ür das CFD-Tool entworenen Schchtenmodells. Daür wrd der gesamte Entwur zunächst n unktonale Hauptkomponenten augledert und de notwendgen Verknüpungen der enzelnen Komponenten zuenander geklärt. CFD-Solver solver++.exe lädt nutzt lädt Geometremodule lbgeox.dll denert CFD-Bblothek lbspp.lb denert Glechungsmodule lbequx.dll mplementeren mplementeren Netzkoppelalgorthmen En-/Ausgabealgorthmen Netztransormatonsalgorthmen Hydrodynamsches System Turbulenz Bld 3-8: Konzept zur Auglederung der CFD-Sotware n Haupt- und Untergruppen und unktonaler Zusammenhang zwschen den enzelnen Modulen

46 32 Bld 3-8 veranschaulcht das Konzept der unterschedlchen Haupt- und Untergruppen des CFD-Tools. De Kernkomponente, de benahe de gesamte Funktonaltät der Sotware ür de weter außen legenden Schchten benhaltet st de statsche CFD- Bblothek lbspp.lb. De beden Module lbgeox.dll und lbequx.dll stellen Platzhalter ür alle dynamschen Lauzetbblotheken zur Geometrebearbetung und Glechungsmodellerung dar. De enzelnen Module mplementeren hre Funktonaltät durch Enbnden des zentralen Kernbaustens und der darn denerten Klassenschnttstellen. De Sptze oder das Dach des gesamten Bauwerks bldet das ausührbare Programm solver++.exe, das de gesamte Funktonaltät aller Module unter sch verent. Es nutzt de Klassennteraces der Solverbblothek lbspp.lb und erschleßt sch damt de Funktonaltät der dynamschen Bblotheken. Lauzetkonguraton Programmntalserung Konguratonsdate my-cong.xml Parameterdate my-job.xml Modulverügbarket Modulauswahl Modellbldung (anwenderspezsch) Installaton (anwenderspezsch) Bld 3-9: Inormatonsluss bem Laden der Lauzetkonguraton als Telmenge der verügbaren Solvermodule In Bld 3-9 st der Inormatonsluss dargestellt, der sch be jeder CFD-Smulaton mt dem CFD-Tool enstellt. Nach der Intalserung des Programms wrd zunächst ene zentrale Konguratonsdate ausgelesen, de alle verügbaren Module spezzert. De Konguratonsdate st anwenderspezsch, wodurch de Funktonaltät des CFD-Tools ohne komplette Neunstallaton auch m Nachhnen noch lecht erwetert werden kann. Ist de Modulverügbarket bekannt, können de ür de konkrete CFD-Smulaton benötgten Module dynamsch geladen werden. De Auswahl der Module erolgt dabe mplzt durch de Modellbldung bzw. Parametrerung über das Joble. Insgesamt ergbt sch so de ertge Lauzetkonguraton ür de jewelge CFD-Smulaton.

47 Tensorarthmetk Das Lösen parteller Derentalglechungen mthle der FVM erordert de Integraton der Glechungen über jedes KV m Rechennetz. Während der anschleßenden Dskretserung der Integralterme treten relatv enache arthmetsche Ausdrücke au. Se beschreben de lokale Änderung ener Lösungsvarable m KV n Abhänggket der Flüsse über de Ränder sowe der autretenden Quellen und Senken. Trotz hrer Enachhet stellen dese Ausdrücke allerdngs ene der häugsten Fehlerquellen be der programmertechnschen Umsetzung der FVM dar. Des legt m Wesentlchen daran, dass Programmersprachen we bespelswese C, C++ oder Fortran von sch aus kene Tensorrthmetk kennen. De be der Dskretserung autretenden Terme können deshalb ncht drekt n hrer natürlchen und ntutven Schrebwese n de Algorthmen übernommen werden. Velmehr st der Programmerer gezwungen, de Terme n hre Komponentenschrebwese zu zerlegen, bevor er se n den Quelltext enbnden kann. Zunächst kompakte Formeln werden so schnell unüberschtlch und lang, wodurch sch enschlechende Fehler, zum Bespel durch Vertauschen enzelner Komponenten bem Koperen und Enügen, nur schwer erkennen lassen. Deser Sachverhalt wrd am besten an enem enachen aber repräsentatven Bespel erörtert. Als Modellglechung dent de lneare Extrapolaton der skalaren Varable φ. Nach Ensten scher Summenkonventon lautet dese: φ0 φ = φ ( ) 0 + r r, 0. (3.2) x In de Komponentenschrebwese gebracht, ergbt sch ür selbge Glechung dagegen: φ0 φ0 φ0 φ = φ0 + ( rx rx,0 ) + ( ry ry,0 ) + ( rz rz, 0 ). (3.3) x y z Bede Ausdrücke snd n mathematschem Snne absolut äquvalent. Der Verglech hrer Schrebwesen macht aber dennoch deutlch, we schnell grundsätzlch enache Tensorarthmetk unter Verwendung der Komponentenschrebwese unüberschtlch und somt anällg ür Syntaxehler wrd Herkömmlch überladene Operatoren Ene objektorenterte Programmersprache we C++ betet au den ersten Blck ene relatv enache Lösung. De Erstellung neuer Datentypen n Form von Objekten st Bestandtel hres Grundkonzepts. So st es möglch, verschedene Tensorklassen ohne größere Probleme zu mplementeren. De benötgten arthmetschen Verknüpungsoperatonen können den Klassen durch Überladen der Operatoren als Memberunktonen hnzugeügt werden. Au dese Art und Wese wrd es möglch alle arthmetschen Ausdrücke n hrer Kurzschrebwese zu mplementeren. Der entstehende Quelltext wrd lechter wartbar. Das vorgeschlagene Desgn hat aber enen entschedenden Nachtel,

48 34 denn de Operanden bnärer Ausdrücke werden n C++ mmer paarwese evaluert. Bestehen dese Ausdrücke nun aus klenen Vektoren, beobachten VELDHUIZEN [99] sowe VELDHUIZEN und JERNIGAN [101] enen beträchtlchen Perormance Verlust gegenüber ener explzten Implementerung n Fortran oder C, de de Ausdrücke komponentenwese aber n enem Zug behandelt. Bld 3-10 zegt de enzelnen Telschrtte, de en Programm ür de Auswertung der Operatoren au der rechten Sete von Modellglechung (3.2) abarbeten muss. Herbe wrd verenachend angenommen, dass der Gradent der Varable φ als egene vektorelle Größe abgespechert st. Insgesamt entstehen während des Prozesses dre temporäre Objekte. Dese Objekte haben de Augabe, das Ergebns der letzten Operaton zwschenzuspechern und ür de jewels nächste Operaton zur Verügung zu stellen. Glechung (3.2) wrd so Schrtt ür Schrtt berechnet, bs schleßlch das Ergebns eststeht. De temporären Objekte werden nach hrem Gebrauch durch den Auru hres Destruktors automatsch gelöscht. De Zuwesung des Ergebnsses an de skalare Varable φ beendet den gesamten Prozess. φ0 φ = φ ( ) 0 + r r, 0 x φ φ = φ + x vec 0 0, t1 ph = ph0 + ph_grad0*( r r0 ) ; ph = ph0 + ph_grad0*vec_t1 ; φ = φ0 + scat 2 ph = ph0 + sca_t2 ; φ = sca t3 ph = sca_t3; Bld 3-10: Entstehung temporärer Objekte be der paarwesen Evaluaton von Operatoren n C++ am Bespel von Modellglechung (3.2) Das Anlegen und Löschen temporärer Objekte verursacht hohe Kosten. Es muss als Hauptursache ür de schlechte Perormance des herkömmlch objektorenterten Desgns angeührt werden. Trotz der Optmerungstechnken moderner Compler bleben de temporären Objekte n den Ausdrücken bestehen, wel se ür de Weterverarbetung der enzelnen Zwschenergebnsse benötgt werden, sehe herzu auch MEYERS [58] und HÄRDTLEIN [35]. Aus desen Gründen st das tradtonelle Operatorüberladen n C++ ür perormance-relevante Bereche we dem wssenschatlchen Hochlestungsrechnen kaum geegnet und kann mt handoptmerten Implementerungen, de de Tensorarthmetk explzt komponentenwese aulösen, ncht mthalten. Anderersets verleren de Rechenergebnsse von schnellen aber ehlerhaten Programmen hre Aussagekrat. Außerdem wrd m wssenschatlchen Berech de qualtatve Bewertung unterschedlcher physkalscher Modelle unmöglch, wenn deren ehlerree Implementerung ncht gewährlestet werden kann.

49 35 Im Sotwareentwur des CFD-Tools werden de Desgnzele hohe Geschwndgket und lecht lesbare Tensorarthmetk glech gewchtet. De Umsetzung deser Desgnvorgaben gescheht durch den Entwur sogenannter ET, ener spezellen Technk au dem Gebet der TMP. Der Ensatz von ET ermöglcht es, de beschrebenen Perormanceprobleme mt den herkömmlch überladenen Operatoren zu umgehen ohne de Vortele ener komakten Schrebwese zu verleren, vgl. herzu auch VELDHUIZEN [100]. De olgenden Telabschntte beschreben den Entwur der ET ür de Tensorarthmetk m CFD-Tool. Um de grundlegende Idee hnter ET zu verstehen, wrd zunächst der Aubau von Syntaxbäumen und deren tradtonelle Umsetzung n ener möglchen Klassenherarche beschreben. Aus den daraus erschtlchen Gesetzmäßgketen letet sch dann de Implementerung der ET ab Syntaxbäume zur Beschrebung der arthmetschen Ausdrücke Be der Auswertung enes arthmetschen Ausdrucks st es m Allgemenen vortelhat, dessen strukturellen Aubau n der Gesamthet zu erassen. Das legt daran, dass ene bestmmte Operaton nnerhalb des Ausdruckes jewels au alle Operanden angewandt werden muss, de Operanden aber selbst weder Unterausdrücke blden können. Desem Sachverhalt wrd übrgens automatsch entsprochen, wenn jemand enen Ausdruck per Hand von der kompakten n de komponentenwese Darstellung umormt. ScaBnaryPlus Sca: ph0 VecBnaryMultplcates Vec: ph_grad0 VecBnaryMnus Vec: r Vec: r0 Bld 3-11: Graphsche Darstellung des Syntaxbaumes nach dem Parsen von Modellglechung (3.2) Der strukturelle Aubau enes Ausdruckes wrd durch sene Syntax beschreben. De darn enthaltenen Inormatonen, das heßt de Operatoren, de Operanden und de Rehenolge, mt der de Operatoren au de Operanden angewendet werden müssen, kann durch enen Syntaxbaum ausgedrückt werden. Analysert man bespelswese Modellglechung (3.2), so ergbt sch der Syntaxbaum, der n Bld 3-11 abgebldet st. Der Baum st dabe von Oben nach Unten zu lesen. De Operatoren blden jewels de Verzwegungen des Baumes, an deren Ästen de Operanden ene Ebene teer stzen. Ist en Operand en termnaler Ausdruck, sprch ene Varable, so bldet er en Blatt, st er dagegen weder ene Operaton, bldet er enen weteren Verzwegungspunkt. In Modellglechung (3.2) snd nur

50 36 bnäre Operatoren, also Operatoren durch de genau zwe Operanden verknüpt werden, enthalten. Der abgebldete Syntaxbaum hat deshalb mmer genau zwe Zwege an jedem Knoten. Natürlch können n ener Glechung auch unäre Operatoren, also Operatoren durch de nur en Operand verarbeten wrd, autreten. Im zugehörgen Syntaxbaum entsprngt dann am Operatorknoten nur en Ast. De Verarbetung enes Syntaxbaumes gescheht m Gegensatz zu sener Erzeugung von unten nach oben. Des erklärt sch dadurch, dass en Operatorknoten mmer erst dann ausgewertet werden kann, wenn de Werte der Operanden an senen Ästen schon bekannt snd. Im Syntaxbaum aus Bld 3-11 muss demnach als Erstes de Subtrakton der Vektoren r und r0 durchgeührt werden. Mt desem Ergebns kann als nächstes de Skalar-Multplkaton mt dem Gradenten ph_grad0 und danach de Summaton mt der Varablen ph0 durchgeührt werden. Dese Verarbetungsvorschrt entsprcht genau dem Ablauplan, der berets be der paarwesen Evaluaton der Operatoren n Bld 3-10 dargestellt worden st Implementerung m klasssch objektorenterten Desgn Programmertechnsch kann der Syntaxbaum ür de Ausdrücke als Sonderall enes Kompostums betrachtet werden. Das Kompostum stellt en bekanntes Entwursmuster der objektorenterten Programmerung dar und st bespelswese m GoF-Buch [32] beschreben. De Tel-Ganzes Bezehung des Kompostums entsprcht dabe den Verknüpungen zwschen den Operatoren und hren Operanden m Syntaxbaum. Be der Implementerung des Musters werden de Verknüpungsvorschrten genauso we de Varablen durch konkrete Klassen dargestellt und von ener gemensamen abstrakten Bassklasse abgeletet. Durch en derartges Desgn st es möglch, sowohl termnale we ncht termnale Ausdrücke enhetlch zu behandeln und ene herarchsche Objektstruktur auzubauen. Letztere st Grundvoraussetzung zur Nachbldung der n enem arthmetschen Ausdruck enthaltenen Syntax. De Interpretaton der augebauten Struktur wrd dann durch Auru ener Zugrsunkton au de Objektkomponenten, de n der Bassklasse des Entwurs denert st, ausgelöst. In den abgeleteten Kndklassen muss de Zugrsunkton dann jewels ausmplementert werden. De Implementerung erolgt dabe nach enem enachen Schema: Verkörpert de Klasse ene Varable, so leert der Auru der Zugrsunkton den Varablenwert zurück, repräsentert de Klasse dagegen ene Verknüpungsoperaton, so bewrkt der Auru, dass de zugehörge Operaton ausgeührt wrd. Des zeht dann wederum den Auru der Zugrsunktonen der Operanden nach sch. Durch dese enache Vorschrt wrd de Objektstruktur sukzessve abgearbetet. Der rekursve Prozess wrd beendet, wenn alle Operanden ener Verknüpungsoperaton aus Varablen bestehen, und das Ergebns der Operaton nach oben wetergerecht werden kann. Das entsprcht genau der beschrebenen Funktonswese des Syntaxbaumes. Da der Auru der Zugrsunktonen komponentenwese erolgt, muss be hrer Implementerung der Rang der Ausdrücke berückschtgt werden. Im CFD-Tool gbt es, bezogen au de Denton n Kaptel 3.1, dre Typen von Varablen: Skalare, Vektoren und Tensoren. Für jeden Typ wrd ene abstrakte Bassklasse vorgesehen, von der dann sowohl de Varable selbst als auch de Verknüpungsoperatonen der Varable abgeletet werden. Insgesamt entstehen so dre Klassenherarchen nach dem Entwursmuster des

51 37 Kompostums. Für de Zuordnung ener Operaton zur rchtgen Herarche st nur der Typ hres Ergebnsses ausschlaggebend. Betrachtet man Modellglechung (3.2), bedeutet das bespelswese, dass das Skalarprodukt zwschen dem Gradentenvektor ph_grad0 und der Derenz aus den beden Ortsvektoren r und r0, zu den skalaren Ausdrücken gehört. De Operanden des Skalarproduktes werden dagegen zu den vektorellen Ausdrücken gezählt. Deses Vorgehen stellt ene typschere Implementerung der gesamten Tensorarthmetk scher. Fehlerhate Konstrukte, de durch de Verknüpung zweer ncht zuenanderpassender Typen entstehen, werden so automatsch vom Compler erkannt und angezegt. So macht das betrachtete Skalarprodukt nur dann Snn, wenn bede Operanden vektorelle Ausdrücke snd. Bld 3-12: Klassendagramm ür de objektorenterte Implementerung zur Interpretaton skalarer und vektoreller Ausdrücke mt Hle der Entwursvorlage des Kompostums [32]

52 38 Der resulterende Klassenentwur zur Interpretaton skalarer und vektoreller Ausdrücke st n Bld 3-12 dargestellt. Zur besseren Überscht snd dabe ledglch dejengen Operatorklassen gelstet, de konkret be der Auswertung von Modellglechung (3.2) engesetzt werden. Für das Verständns des Entwurs st das völlg ausrechend. De Stellen, an denen neue Operatorklassen n de Klassendagramme engeügt werden können, snd darüber hnaus jewels durch dre Punkte gekennzechnet. De Zugrsunktonen ür skalare Ausdrücke snd über de Klammeroperatoren denert. De Zugrsunktonen ür vektorelle Ausdrücke snd dagegen über Member-Funktonen, de den jewelgen Komponentennamen tragen, denert. Ergänzend snd ür de augeührten Verknüpungsoperatonen de Rechenvorschrten angegeben, de bem Auru hrer Zugrsunktonen abgearbetet werden müssen. Nun blebt noch de Frage zu klären, was den Auru der Zugrsunktonen bewrkt und gegebenenalls de Evaluaton des durch de Objektkomposton verkörperten Syntaxbaums auslöst. De Antwort ndet sch n den Zuwesungsoperatoren der Varablen, de automatsch de Zugrsunktonen der übergebenen Ausdrücke auruen. In den Klassenentwüren von Bld 3-12 snd jewels zwe spezalserte Versonen ür de Zuwesungsoperatoren angegeben. De ene st ür de explzte Zuwesung enes Varablenwertes bestmmt, de andere ür de Zuwesung enes Ausdrucks und dem darn mplzt enthaltenen Ergebns. In Verbndung mt dem Aubau von Syntaxbäumen ermöglcht der vorgestellte objektorenterte Klassenentwur ganz allgemen de verzögerte und komponentenwese Auswertung arthmetscher Ausdrücke. Im Verglech zur paarwesen Evaluaton mttels überladener Operatoren zegt das Desgn aber trotzdem kenerle Perormancevortele. Durch de Regeln der Vererbung müssen de n den abstrakten Bassklassen denerten Zugrsunktonen als vrtuell deklarert werden. Nur so wrd zur Lauzet de rchtge Verson der jewelgen Kndklasse augeruen. Der Compler kann ür dese Funktonen damt aber kene Inlnng-Optmerungen durchühren. Ene späte Bndung während der Lauzet st de Folge. Im entstehenden Overhead bem Funktonsauru legt dann de schlechte Perormance des Desgns begründet. Für den Syntaxbaum muss also ene ezentere Implementerungstechnk geunden werden, durch de sämtlche Optmerungen berets zur Übersetzungszet ablauen können Implementerung mt Expresson Templates (ET) Das klasssche Desgn zur Implementerung der Syntaxbäume basert au der Verwendung dreer abstrakter Bassklassen als Grundlage ür de verschedenen Skalar-, Vektorund Tensorausdrücke. De enzelnen Bassklassen enthalten dabe kenerle egene Daten. Se deneren ledglch den ren vrtuellen Komponentenzugr, der de gemensame Schnttstelle der konkret abgeleteten Kndklassen bldet. Durch den Vererbungsmechansmus wrd zur Lauzet schergestellt, dass mmer de rchtge Memberunkton augeruen wrd, auch dann, wenn en Objekt we n den unären und bnären Operatonsklassen als Zeger vom Typ der Bassklasse abgespechert st. Deses Verhalten bezechnet man n der objektorenterten Welt als Lauzet Polymorphsmus. Es gehört zu den grundlegenden Vorzügen ener jeden objektorenterten Sprache und macht de Implementerung als Kompostum erst möglch. Der Lauzet-Polymorphsmus st glechzetg aber gerade ür de schlechte Perormance des klassschen Entwurs verantwortlch. C++

53 39 ermöglcht durch de TMP, desen Nachtel zu neutralseren und ene wesentlch schnellere Implementerungsvarante ür de Tensorarthmetk m CFD-Tool zu entwckeln. In der objektorenterten Programmerung werden nach LANGER und KREFT [49] gemensame Egenschaten durch gemensame Bassklassen ausgedrückt, n der TMP dagegen mttels Namenskonventonen und Gemensamketen be der Namensgebung. An de Stelle der vrtuellen Funktonen des objektorenterten Ansatzes treten also enache ncht-vrtuelle Funktonen, de ledglch enen bestmmten Namen und ene kompatble Sgnatur bestzen. Konsequenterwese erschenen abstrakte Bassklassen be der TMP dann überlüssg zu sen, da se ja ledglch das Interace ür den vrtuellen Komponentenzugr m objektorenterten Ansatz beretstellen. Das st aber nur engeschränkt rchtg, denn de zwangswese Zugehörgket enes Ausdruckes zu ener der dre Klassenherarchen begründet de Typscherhet des klassschen Desgns. Ergo dar das Erben von den gemensamen Bassklassen ncht entallen, denn auch de templatebaserte Varante der Syntaxbäume soll Typscherhet gewährlesten. Per Denton muss en skalarer Ausdruck auch weterhn klar von enem vektorellen oder tensorellen Ausdruck unterschedbar bleben. Es glt also enen Mechansmus zu hnterlegen, be dem das polymorphe Verhalten der Zugrsunktonen ncht über vrtuelles Ableten realsert wrd. ScaExpr ExprT +operator()() : double +get_expr()() : const ExprT& statc_cast< const ExprT& >( *ths )() statc_cast< const ExprT& >( *ths ) Bld 3-13: Skalare und vektorelle Grundtypen m templatebaserten Klassenentwur der Tensorarthmetk; De Member-Funktonen ür den Komponentenzugr setzen den Complezet-Polymorphsmus des CRTP um [15] Für den templatebaserten Neuentwur der Klassen wrd ene Technk der TMP genutzt, de als Curously Recurrng Template Pattern (CRTP) bekannt st. Das von COPLIEN [15] geprägte Idom ersetzt den langsamen und damt nachtelgen Lauzet-Polymorphsmus durch enen statschen Polymorphsmus, der vom Compler berets be der Programmerstellung augelöst werden kann. Das CRTP wrd häug n Kombnaton mt dem Barton-Nackman-Trck präsentert, dar aber ncht mt desem verwechselt werden, sehe

54 40 VANDEVOORDE und JOSUTTIS [98]. Es nutzt de Tatsache aus, dass ene Klasse hre egene Kndklasse rekursv als Template-Parameter erhalten kann. Damt st der Bassklasse der Typ hrer Kndklasse berets zur Complezet vollständg bekannt und jeder Funktonsauru kann korrekt augelöst werden. Der Bassklassen-Entwur zur typscheren templatebaserten Implementerung der Syntaxbäume st n Bld 3-13 dargestellt. We bem klassschen Desgn gbt es gemäß den dre verschedenen Varablentypen, Skalar, Vektor und Tensor, auch bem templatebaserten Entwur dre Klassenstämme, nämlch ScaExpr, VecExpr und TenExpr. De Klasse TenExpr st aus Platzgründen n Bld 3-13 allerdngs ncht dargestellt. De Klassenstämme snd nun ncht mehr abstrakt. Zur Ausbldung des Complezet-Polymorphsmus bestzen se jewels den Template-Parameter ExprT, durch den hnen der abgeletete Klassentyp rekursv mtgetelt wrd. Der Komponentenzugr st m Gegensatz zum klassschen Desgn ncht-vrtuell. Stattdessen wrd der Komponentenauru enach durch en statsches Cast an de m Template-Parameter angegebene Kndklasse wetergerecht und somt der Polymorphsmus der herkömmlchen Vererbung mtert. Da de Member- Funktonen nun ncht länger vrtuell sen müssen, kann se der Compler wegoptmeren. Au dese Wese wrd verglchen mt dem klassschen Desgn wesentlch schnellerer Maschnencode erzeugt. De Bassklassen bestzen zusätzlch de Methode get_expr(). Dese stellt ene rene Zweckdenlchket dar und verkürzt de Konverterung der Bassklassen n den Klassentyp des Template-Parameters. En Anwendungsbespel ür de Funkton get_expr() ndet sch m nächsten Abschntt, der sch mt den Creator- Funktonen beschätgt. VecExpr< Vec > VecExpr< ExprT > Vec -m_val_x : double -m_val_y : double -m_val_z : double +operator=(en v : Vec&) : Vec& +operator=(en e : VecExpr< ExprT >&) : Vec& +x() : double +y() : double +z() : double m_val_x m_val_y m_val_z Bld 3-14: Skalare und vektorelle Datentypen m templatebaserten Klassenentwur der Tensorarthmetk; De Memberunktonen ür den Komponentenzugr leern de gespecherten Werte zurück; Für Daten und Ausdrücke snd jewels gesondert Zuwesungsoperatoren denert De Klassen ür de egentlchen Varablentypen des CFD-Tools werden nun mthle des CRTP von den dre Bassklassen-Templates abgeletet. Durch de Rekurson übergbt sch jeder Varablentyp m Template-Parameter an sene Bassklasse. De Varablentypen selbst bestzen kene Template-Parameter mehr, se snd ganz normale Klassen. Den zugehörgen Entwur der Klassen Sca bzw. Vec ür de Datentypen Skalar bzw. Vektor zegt Bld De Klasse Ten ür den Datentyp Tensor entällt weder aus Platzgründen. Se wrd be der syntaktschen Analyse von Modellglechung (3.2) ncht benötgt. Für den konkreten Entwur ener Tensorklasse können de beden abgebldeten Datentypen Sca und Vec als drekte Vorlage benutzt werden. Varablentypen stellen termnale Ausdrücke

55 41 dar. Somt müssen de komponentenwesen Zugrsunktonen hrer Klassen wrklch abgespecherte Werte zurückleern. Neben desen Zugrsunktonen bestzen de Klassen außerdem noch enen Zuwesungsoperator operator=(), der n zwe unterschedlchen Versonen aus-geührt wrd. De Erste seht allgemen de Zuwesung von Ausdruckstypen, de zwete spezell de von Varablentypen vor. Dese berets vom klassschen Desgn her bekannte Dverskaton ermöglcht ene aggressve Optmerung be der Zuwesung typglecher Varablenklassen. Nebenbe bemerkt macht es durchaus Snn, auch entsprechende Über-ladungen ür de kombnerten Operatoren operator+=() und operator-=() n den Klassen vorzusehen. Der vorlegende Entwur berückschtgt das aber ncht. Als nächstes werden de Klassen ür unäre Ausdrücke m CFD-Tool von den dre Bassklassen-Templates ScaExpr, VecExpr und TenExpr abgeletet. Jeder Ausdruck übergbt sch weder m Template-Parameter an sene Bassklasse und mplementert den Complezet-Polymorphsmus der CRTP-Technk. De Ausdrücke snd selbst ebenalls weder Klassen-Templates. Se werden mt den Typen des Operanden und der jewelgen Rechenoperaton parametrert. Hervorzuheben st, dass de Operaton ene egenständge Hlsklasse darstellt, de ene Schnttstelle ür de komponentenwese Evaluerung bestzt. Man vergleche dese Entwursstratege mt dem klassschen Desgn. Dort st ene Operaton mmer drekt n enen extra ür se spezalserten Ausdruck ntegrert. De Zuordnung enes Ausdrucks zu enem der dre Klassenstämme unktonert we m klassschen Desgn. Se rchtet sch jewels nach dem Ergebns der Operaton. Bld 3-15 zegt de beden UML-Dagramme der Klassen ScaUnary bzw. VecUnary ür unäre Skalar- bzw. Vektorausdrücke. Aus Platzgründen st das entsprechende Klassen-Template TenUnary ür unäre Tensorausdrücke ncht dargestellt. Es st so we de beden abgebldeten Klassenentwüre augebaut. De Methoden ür den Komponentenzugr verwenden de Evaluerungsunktonen der oben beschrebenen Operatonsklassen. Somt wrd we m klassschen Entwur durch den Komponentenzugr mplzt auch de Evaluerung der Ausdrücke angestoßen. Bespele ür de n Modellglechung (3.2) benötgten Operatonsklassen snd n Bld 3-16 zu nden. In der Glechung snd zwar nur bnäre Ausdrücke enthalten, de Operatonsklassen ür de her besprochenen unären Ausdrücke bestzen jedoch denselben Aubau, seht man davon ab, dass hre Evaluerungsunktonen nur enen Operanden als Übergabeparameter akzepteren. Bld 3-15: Unäre Skalar- und Vektorausdrücke m templatebaserten Klassenentwur der Tensorarthmetk; De Operatonsklassen zur komponentenwesen Evaluerung werden als Template-Parameter übergeben

56 42 Bld 3-16: Bnäre Scalar- und Vektorausdrücke m templatebaserten Klassenentwur der Tensorarthmetk; De Verknüpungsoperatonen snd n egenständgen Operatonsklassen enthalten; Es snd nur de zur Evaluerung von Modellglechung (3.2) benötgten Operatonsklassen abgebldet De Klassen ür bnäre Ausdrücke kompletteren de templatebaserte Implementerung der Syntaxbäume m CFD-Tool. Se werden n gewohnter Wese rekursv von den dre Bassklassen-Templates ScaExpr, VecExpr und TenExpr abgeletet. De erzeugten Ausdrücke blden selbst weder Klassen-Templates. Ihre Template-Parameter spechern de Typen der beden Operanden, sowe der Verknüpungsoperaton. Das resulterende Desgn entsprcht damt prnzpell dem der unären Ausdrücke, sehe oben. In Bld 3-16 snd de beden Klassen-Templates ScaBnary bzw. VecBnary ür bnäre Skalar- bzw. Vektorausdrücke zu sehen. Das Dagramm des drtten Klassen-Templates TenBnary ür bnäre Tensor-Ausdrücke entällt weder. Es glecht denen der beden angegebenen Entwüren. De Operatonsklassen kapseln de egentlchen Rechenoperatonen ür de Ausdrücke. Der Zugr au ene Operaton erolgt dabe jewels mthle der Methoden zur

57 43 komponentenwesen Evaluerung, de alle Operatonsklassen beretstellen. De Operatonsklassen stellen rene Funktonsobjekte dar. Se snd deshalb als Hlsklassen konzpert worden, welche ausschleßlch statsche Methoden bestzen, vgl. BOOCH [12]. Das brngt den Vortel, dass ene Operatonsklasse ncht extra nstanzert werden muss, bevor hre Methoden zur komponentenwesen Evaluerung augeruen werden können. De ohnehn notwendge Parametrerung enes Ausdrucks mt dem Typ der Operatonsklasse st völlg ausrechend. De Kapselung der Operatonen n egenständgen Hlsklassen macht außerdem de Implementerung neuer Operatonen sehr bequem. So st ledglch au de Schnttstellenkonventon zu achten, de das Vorhandensen der Methoden zur komponentenwesen Evaluerung voraussetzt. Bld 3-16 zegt bespelhat de Entwüre ür de Operatonsklassen, de zur Parametrerung der bnären Ausdrücke n Modellglechung (3.2) benötgt werden. Im Enzelnen snd das de Klassen VecBnaryMultplcates zur Bldung des Skalarproduktes zweer Vektoren, ScaBnaryPlus zur Addton zweer Skalare sowe VecBnaryMnus zur Subtrakton zweer Vektoren. Be der Instanzerung der Ausdrücke st darau zu achten, dass der Typ enes Ausdruckes mt dem Ergebns der hn parametrerenden Operaton überenstmmen muss. De Operatonstypen VecBnaryMultplcates und ScaBnaryPlus snd bespelswese nur ür bnäre Skalarausdrücke bestmmt, wohngegen der Typ VecBnaryMnus bnäre Vektorausdrücke voraussetzt. Durch de Nutzung der CRTP-Technk kann n der template-baserten Implementerung der Ausdrücke au den Lauzet-Polymorphsmus ganz verzchtet werden. Des ührt zu ener höchst ezenten Implementerung. Denn ohne den tradtonellen Lauzetpolymorphsmus betet de CRTP-Technk ene wesentlch besser optmerbare Implementerung ür de Tensorarthmetk m CFD-Tool, vgl. herzu auch ISERNHAGEN und HELMKE [40]. Insgesamt ührt de Implementerung mt ET zu ener Ansammlung lose gekoppelter Klassenschablonen ür de arthmetschen Ausdrücke m CFD-Tool. Es se noch enmal betont, dass de Enührung ener neuen Operaton explzt zu kener neuen Ausdrucksklasse ührt. Velmehr wrd de bestehende Klassenschablone ür de bnären bzw. unären Ausdrücke enach mt der neuen Operaton parametrert. Damt unterschedet sch der templatebaserte Entwur grundsätzlch vom klassschen Desgn Creator-Funktonen und überladene Operatoren De Anwendung der ET-Technk schat ene ezente Implementerung ür de Tensorarthmetk m CFD-Tool. De entwckelten Klassen-Templates ür de arthmetschen Ausdrücke blden de mathematschen Formeln als Syntaxbäume ab. Dadurch st es möglch, de komponentenwese Auswertung ener Glechung vom Compler erledgen zu lassen. Durch de Klassen-Templates allene ergbt sch allerdngs noch kene benutzerreundlche Klassen-Bblothek. Bslang muss der Programmerer de Syntaxbäume, de de Formeln repräsenteren, von Hand erstellen. Dabe entstehen m Allgemenen komplexe und geschachtelte Template-Aurue. De Parameter enes Klassen-Templates snd be dessen Instanterung mmer vollständg anzugeben. Für ene anwenderreundlche Implementerung zur Vermedung von Programmerehlern st das völlg nakzeptabel. De Bldung der Syntaxbäume sollte vor dem Programmerer vollständg verborgen bleben. Ene elegante Lösung ür das vorlegende Problem betet de Enührung sogenannter Creator-Funktonen. Das snd Funktons-Templates, de dabe helen, de Erstellung von Klassen-Templates wesentlch zu verenachen. Denn m

58 44 Gegensatz zu Klassen-Templates müssen de Parameter von Funktons-Templates ncht mmer explzt angegeben werden. Der Compler kann dese selbst herleten, wenn se durch de enzelnen Argumenttypen der Funktons-Templates endeutg hervorgehen (automatc type deducton, sehe STROUSTRUP [90]). Tabelle 3-3: Lste aller überladenen unären und bnären Operatoren zur Erstellung arthmetscher Ausdrücke; s und t snd Skalare; a und b snd 3-Vektoren; a und j b snd 3x3-Matrzen j Unäre Operatoren Mnus Plus Bnäre Operatoren Subtrakton Addton Matrzenmultplkaton Skalarmultplkaton Skalardvson Skalarprodukt (nneres Produkt) Typ des Operanden Typ des Ergebnsses Schrebwese n der Mathematk Sca Sca s - s Vec Vec a - a Ten Ten aj - A Sca Sca + s + s Vec Vec + a + a Ten Ten + aj + A Typen der Operanden Typ des Ergebnsses Sca Sca s t Vec Vec Schrebwese n der Mathematk a b Ten Ten j j Sca Sca s + t Vec Vec Schrebwese m CFD-Tool Schrebwese m CFD-Tool s - t a - b a b A - B a + b Ten Ten j j Ten, Vec Vec j j s + t a + b a + b A + B a b a b Ten, Ten Ten j jk Sca Sca s t Sca, Vec Vec s a Vec, Sca Vec a s Sca, Ten Ten s aj A * b A * B s * t s * a a * s s * A Sca Sca t / s t / s Vec, Sca Vec a / s a / s Ten, Sca Ten a j / s A / s Vec Sca a b a * b Be der Parametrerung der Klassen-Templates ür de arthmetschen Ausdrücke m CFD-Tool muss der Typ der Hlsklasse ür de jewelge Operaton angegeben werden. De konkrete Instanz enes arthmetschen Ausdrucks st x mt deser Operaton verbunden. Es legt nahe, de Creator-Funktonen über de Funktonsnamen drekt mt

59 45 den jewelgen Operatonen n Bezug zu setzen und hnen ledglch de Operanden als Argumente zu übergeben. Ihr Auru m Quelltext entsprcht dann wetgehend dem Erschenungsbld mathematscher Funktonen. Besonders elegant st de Verwendung überladener Operatoren als Creator-Funktonen, sehe HÄRDTLEIN [35] und LEHN [51]. Au dese Wese bleben m Quelltext auch de Verknüpungssymbole der orgnären mathematschen Formeln erhalten. Darüber hnaus berückschtgt der Compler be der Auswertung überladener Operatoren de üblchen Rechenregeln we Punkt vor Strch sowe de Klammersetzung. template< class ExprT1, class ExprT2 > nlne ScaBnary< ExprT1, ExprT2, ScaBnaryPlus< ExprT1, ExprT2 > > operator+( const ScaExpr< ExprT1 >& e1, const ScaExpr< ExprT2 >& e2 ) { typede ScaBnary< ExprT1, ExprT2, ScaBnaryPlus< ExprT1, ExprT2 > > Expr; return Expr( e1.get_expr(), e2.get_expr() ); } Bld 3-17: Überladener Operator+ als Creator-Funkton zur mplzten Erstellung des Klassen-Templates ür den zugehörgen arthmetschen Ausdruck Bld 3-17 beschrebt bespelhat de Erzeugung enes Klassen-Templates zur Addton zweer skalarer Ausdrücke. Für de Creator-Funkton wrd der bnäre Operator operator+() überladen. Als Argumente werden nur de beden Operanden übergeben. De Typdenton nnerhalb des Funktonsrumpes st der besseren Überschtlchket halber gewählt und ür de grundsätzlche Implementerung unerheblch. Der Operator rut ledglch den Konstruktor des Klassen-Templates au. Er st deshalb als Inlne-Funkton deklarert und kann vom Compler wegoptmert werden. De restlchen Creator-Funktonen m CFD- Tool snd genau we der überladene Operator operator+() augebaut. De Creator- Funktonen ür de unären Ausdrücke wesen allerdngs nur en Argument au. Ist ene bestmmte arthmetsche Operaton glechzetg ür Skalar-, Vektor- und Tensorausdrücke denert, so st de zugehörge Creator-Funkton auch als Skalar-, Vektor- und Tensorverson vorhanden. Tabelle 3-4: Lste der wchtgsten Funktonen zur Erstellung der zugehörgen arthmetschen Ausdrücke; s st en Skalar; a v und b v snd 3-Vektoren; A st ene 3x3-Matrx Funktonen Typ des Operanden Typ des Ergebnsses Schrebwese n der Mathematk Schrebwese m CFD-Tool Betrag Sca Sca s abs( s ) Vec Sca a v abs( a ) 2 Quadrat Sca Sca s sqr( s ) Quadratwurzel Sca Sca s sqrt( s ) Determnante Ten Sca det A det( A ) v v Kreuzprodukt Vec Vec a b cross( a, b )

60 46 Alle unären und bnären Operatoren, de m CFD-Tool als Creator-Funktonen genutzt werden, lstet Tabelle 3-3 au. De Operatoren bewrken, dass der Quelltext ür arthmetsche Formeln wetgehend der orgnären Schrebwese n der Mathematk entsprcht. Es exsteren allerdngs ncht ür alle arthmetschen Operatonen überladene Operatoren. De Creator-Funktonen snd n solchen Fällen normale Funktons-Templates. Um de gute Lesbarket des Quelltextes zu bewahren, lehnt sch de Namensgebung deser Funktonen nahe an de gebräuchlchen Namen der mathematschen Operatonen an. Tabelle 3-4 enthält enge wchtge Creator-Funktonen, de m CFD-Tool als enache Funktons- Templates denert snd. De Lste st ncht vollständg. Se leert ledglch enge Bespele zum Verglech der verschedenen Schrebwesen n der Mathematk und m CFD-Tool. ph = ph0 + ph_grad0* ( r r0 ); operator-( r, r0 ) VecBnary< Vec, Vec, VecBnaryMnus< Vec, Vec > >( r, r0 ) vec_t1 Instanz Typ VecExpr1 ph = ph0 + ph_grad0*vec_t1; operator*( ph_grad0, vec_t1 ) ScaBnary< Vec, VecExpr1, VecBnaryMultplcates< Vec, VecExpr1 > >( ph_grad0, vec_t1 ) sca_t2 Instanz Typ ScaExpr2 ph = ph0 + sca_t2; operator+( ph0, sca_t2 ) ScaBnary< Sca, ScaExpr2, ScaBnaryPlus< Sca, ScaExpr2 > >( ph0, sca_t2) sca_t3 Instanz Typ ScaExpr3 ph = sca_t3; Bld 3-18: Ablau be der automatschen Erstellung des Syntaxbaums ür Modellglechung (3.2) durch Creator-Funktonen n Form überladener Operatoren De Creator-Funktonen machen de entwckelten ET des CFD-Tools zu enem hochezenten Werkzeug. Des glt sowohl ür de überladenen Operatoren we auch ür de normalen Funktons-Templates. De überladenen Operatoren unktoneren we de entsprechenden mathematschen Symbole. De enzelnen Operatonen können enach anen-

61 47 ander gehängt werden. De Funktons-Templates werden we gewöhnlche mathematsche Funktonen benutzt. Se akzepteren als Argumente neben renen Varablen genauso arthmetsche Ausdrücke. Der Compler letet de notwendgen Instanterungen aus den m Quelltext ormulerten Glechungen ab und erstellt de zugehörgen Syntaxbäume. Dese ermöglchen hm anscheßend de komponentenwese Evaluaton der Glechungen ür de Wertzuwesung. Bede Prozessabläue snd vollständg gekapselt und werden be der Programmerstellung automatsch vom Compler angestoßen. ph() = sca_t3(); Zugr ScaBnaryPlus< Sca, ScaExpr2 >::eval(ph0, sca_t2) Aulösung ph0() + sca_t2() ph() = ph0() + sca_t2() Zugr VecBnaryMultplcates< Vec, VecExpr1 >::eval(ph_grad0, vec_t1) Aulösung ph_grad0.x()*vec_t1.x() + ph_grad0.y()*vec_t1.y() + ph_grad0.y()*vec_t1.y() ph() = ph0() + ph_grad0.x()* vec_t1.x() + ph_grad0.y()* vec_t1.y() + ph_grad0.y()* vec_t1.y(); Zugr VecBnaryMnus< Vec, Vec > >::eval_x( r, r0 ); ::eval_y( r, r0 ); ::eval_z( r, r0 ) Aulösung ph() = ph0() + ph_grad0.x()*( r.x() r0.x() ) + ph_grad0.y()*( r.y() r0.y() ) + ph_grad0.y()*( r.z() r0.z() ); r.x() r0.x() r.y() r0.y() r.z() r0.z() Bld 3-19: Ablau be der komponentenwesen Evaluaton von Modellglechung (3.2), ausgelöst durch den Auru des Zuwesungsoperators der Varablen ph De enzelnen Arbetsschrtte, de der Compler nachenander n den beden Telprozessen snngemäß abarbeten muss, snd n Bld 3-18 und Bld 3-19 zusammengeasst. Als Bespel dent de bekannte Modellglechung (3.2). Der Aubau des Syntaxbaumes st n Bld 3-18 dargestellt. Ausgehend von der ursprünglchen Glechung löst der Compler de enzelnen Operatoren sukzessve n der vorgeschrebenen Rehenolge au und bldet de Instanzen ür de entsprechenden Ausdrücke. Nach und nach entsteht so der Syntaxbaum, der be der komponentenwesen Evaluaton der Glechung m zweten Telprozess benötgt wrd. De denerten Typen und Instanzen n Bld 3-18 denen nur der Über-

62 48 schtlchket. Se entstehen so natürlch ncht explzt während der Programmerstellung. Bld 3-19 beschrebt de olgende komponentenwese Evaluaton. Dese wrd durch den Zugr au de Hlsvarable sca_t3 be der Wertzuwesung an de Varable ph ausgelöst. Da de Hlsvarable n Wrklchket en Ausdruck st und den kompletten Syntaxbaum enthält, muss deser schrttwese bs zu den termnalen Ausdrücken ausgewertet werden. So wrd Modellglechung (3.2) automatsch n hre Komponentenschrebwese gebracht und m Maschnencode engebettet. De Telschrtte werden alle vom Compler abgearbetet. De Geahr von Fehlern be der umständlchen komponentenwesen Formulerung der Glechung durch den Programmerer wrd vollständg umgangen. Durch ET-Programmerung lauen de beden Telprozesse berets während der Programmerstellung ab. Im Maschnencode snd de arthmetschen Glechungen dann berets vollständg n hrer Komponentenschrebwese enthalten. Dadurch entstehen während der Programmausührung kene unnötgen Lauzetverluste. De Creator-Funktonen erlauben glechzetg, de Glechungen m Quelltext n hrer kompakten und überschtlchen Tensor-Schrebwese zu ormuleren Datenelder und Adapterklassen Für de Fnte Volumen (FV) Dskretserung müssen de mesten Varablen als Datenelder angelegt werden. Se beschreben de dskrete Wertevertelung au den Stützstellen des Rechennetzes. De Klassen ScaSet, VecSet und TenSet snd dazu dar, de Datentypen Skalar, Vektor und Tensor als Feld zu spechern. Bld 3-20 zegt de zugehörgen UML- Klassendagramme ür de Dateneldklassem ScaSet und VecSet. Der Entwur der Klasse TenSet ür de Tensorelder st ncht dargestellt. Er entsprcht denen der beden abgebldeten Klassen ScaSet bzw. VecSet. Da de Datenelder m CFD-Tool mest sehr vele Datenobjekte enthalten, glt es, en möglchst ezentes Specherkonzept ür de Dateneldklassen zu entwckeln. So legen deren Enträge ncht drekt objektbezogen als echte Skalare, Vektoren oder Tensoren, sondern komponentenbezogen als Rohdatensätze vor. Dese Stratege versprcht en Höchstmaß an Specherezenz und schert glechzetg enen konstant schnellen Indexzugr au de Komponenten. De Member-Funktonen resze() bzw. sze() ermöglchen de Änderung bzw. Abrage der vorlegenden Feldgröße. De Namensgebung lehnt sch an de entsprechenden Funktonen n den Contanerklassen der C++ Standardbblothek an. Skalare, Vektoren und Tensoren snd termnale Ausdrücke. Das ändert sch natürlch ncht, wenn dese Varablentypen als Dateneld angelegt snd. De Funktonen der Dateneldklassen, de den komponentenwesen Zugr au de Datenelder ermöglchen, leern deshalb auch her echte Werte zurück. Se benötgen allerdngs noch zusätzlch de Poston des Entrags m Dateneld als Argument. Für de Objektzuwesung bestzen de Dateneldklassen nur ene Verson des Zuwesungsoperators operator=(). Se regelt de drekte Kope typglecher Dateneldobjekte. De algebraschen Blanzglechungen, de be der FV Dskretserung entstehen, gelten m Allgemenen nur n bestmmten Telberechen des Recheneldes. Das legt daran, dass de Feldgrenzen wegen der Randbedngungen ot anders dskretsert werden müssen als das Feldnnere. Im CFD-Tool werden de algebraschen Blanzglechungen generell ür jedes Kontrollvolumen enzeln ormulert. Klassen-Templates ür eldwese denerte algebra-

63 49 sche Ausdrücke gbt es ncht. Dementsprechend brauchen de Dateneldklassen kenen Zuwesungsopertor ür derartge Objekte beretstellen. Bld 3-20: Feldwese skalare und vektorelle Daten- und Adaptertypen; De eckgen Klammeroperatoren der Datenklassen leern Adaptertypen zurück; Dese erlauben de Verwendung der Datenelder zusammen mt den Klassen-Templates ür de arthmetschen Ausdrücke

64 50 Das gewählte Specherkonzept der Dateneldklassen brngt en Problem mt sch. Der Entwur der Dateneldklassen ScaSet, VecSet und TenSet seht vor, de Datenelder komponentenbezogen zu spechern. Daher st der herkömmlche Indexzugr au de egentlchen Datenobjekte ncht drekt möglch. De Dateneldklassen müssen de Datenobjekte vom Typ Sca, Vec bzw. Ten erst aus den komponentenbezogenen Rohdaten erstellen und dese dann per Instanz zurückleern. Das macht den objektbezogenen Indexzugr au de Datenelder extrem nezent. Trotzdem erschent es snnvoll zu sen, de Dateneldklassen mt den entwckelten ET kombneren zu wollen. Das glt besonders vor dem Hntergrund, dass be der FV Dskretserung de mesten Varablen als Datenelder vorlegen. Mt den Adapterklassen ScaAdapter, VecAdapter bzw. TenAdapter st es möglch, den vorlegenden Konlkt auzulösen. De dre Adapterklassen ungeren als Platzhalter ür de Datenklassen Sca, Vec bzw. Ten. Ihre Schnttstellen entsprechen damt genau denen der zu vertretenden Datenklassen. Bld 3-20 zegt de zugehörgen UML-Klassendagramme ür de Klassen ScaAdapter und VecAdapter. Das entsprechende Dagramm ür de Klasse Ten- Adapter st aus Platzgründen ncht dargestellt. De Adapterklassen werden mthle des CRTP von den Bassklassen-Templates ScaExpr, VecExpr bzw. TenExpr abgeletet. Dadurch können se n Kombnaton mt den restlchen Klassen-Templates ür de arthmetschen Ausdrücke verwendet werden. Im Gegensatz zu den Datenklassen bestzen de Adapterklassen kene egenen Komponentendaten. Stattdessen enthalten se ene Reerenz au en Dateneldobjekt und ene Indexvarable. De Verknüpung zwschen Dateneld und Index ermöglcht den Adapterklassen we normale Datenklassen auzutreten. De komponentenwesen Zugrsunkonen der Adapterklassen ruen bespelswese enach de entsprechenden Funktonen des Dateneldobjekts au und übergeben desen zusätzlch de Indexvarable. Mthle der entwckelten Adapterklassen kann der objektbezogene Indexzugr n den Dateneldklassen ScaSet, VecSet und TenSet nun lecht umgesetzt werden. Als Zugrsunkton nutzen de Dateneldklassen den überladenen Klammeroperator operator[](), vgl. Bld Deser gbt enach en passendes Adapterobjekt mt Reerenzen au de Dateneldklasse und den Index zurück. De Adapterobjekte enthalten nur Reerenzen. Se können vom Compler be der Aulösung der arthmetschen Ausdrücke vollständg wegoptmert werden. Anhand enes Bespels wrd abschleßend demonstrert, we enach de entwckelten Dateneldklassen und ET des CFD-Tools zur Formulerung algebrascher Glechungen au dskreten Rechengebeten engesetzt werden können. Dazu wrd Modellglechung (3.2) zunächst so ormulert, dass se de lneare Extrapolaton des nächsten eldnneren Wertes φ n an den Rechengebetsrand φ bnd beschrebt: φ φ bnd = φn + ( r, n r, bnd ), (3.4) x n wobe de Indces n bzw. bnd de jewelgen Kontrollstellen m Rechengebet markeren. Bld 3-21 zegt, we ene entsprechende Implementerung ür Glechung (3.4) mthle der

65 51 entwckelten ET m CFD-Tool ausseht. De arthmetschen Ausdrücke werden be der Programmerstellung automatsch komponentenwese augelöst. Alle Varablen stellen Dateneldobjekte dar. De Varable φ erhält den Namen ph. Der Gradent der Varablen φ wrd we zuvor als egenständge Varable verarbetet. Er erhält den Name ph_grad. De Bezechnung des Ortsvektors r m Quelltext blebt erhalten. ph[bnd] = ph[n] + ph_grad[n]*( r[n] r[bnd] ); ph(bnd) = ph(n) + ph_grad.x(n)*( r.x(n) r.x(bnd) ) + ph_grad.y(n)*( r.y(n) r.y(bnd) ) + ph_grad.z(n)*( r.z(n) r.z(bnd) ); Bld 3-21: Implementerung von Glechung (3.4) mthle der entwckelten ET sowe komponentenwese Aulösung der arthmetschen Ausdrücke durch den Compler 3.4 Parallelserung De CFD-Smulaton stellt hohe Anorderung sowohl an den Arbetsspecher als auch an den Prozessor enes Computers. Dabe schlägt de gewählte Modellkomplextät drekt au de Rechenzeten und den Specherverbrauch durch. De Verenerung des physkalschen Modells resultert mest n enem komplexeren und umangrecheren Glechungssystem mt ener zwangsläug höheren Anzahl benötgter Rechenoperatonen. De Verbesserung des geometrschen Modells durch Verenerung der Rechennetze oder Aunahme weterer geometrscher Komponenten bewrkt zunächst enen höheren Specherbedar, erordert glechzetg aber auch ene größere Rechenlestung, da de Modellglechungen ür ene höhere Anzahl von Kontrollvolumen ausgewertet werden müssen. De Gesamtperormance enes CFD-Codes st somt sowohl vom verügbaren Specher als auch von der verügbaren Rechnergeschwndgket abhängg. Durch Erweterung des Rechenspechers bzw. Erhöhung der Prozessorlestung kann desem Sachverhalt bs zu enem bestmmten Maß entsprochen werden. Darüber hnaus st de Stegerung der Gesamtperormance nur noch durch Parallelserung der verwendeten Sotware möglch. Im Berech des wssenschatlchen Hoch- und Höchstlestungsrechnens st de Verwendung hochparalleler Anwendungen Quasstandard. Nach FLYNN [27] können parallele Computer n ver unterschedlche Klassen engetelt werden. De Klasszerung erolgt dabe nach der Anzahl der Steuerungsenheten und der Vertelung des Spechers, sehe Bld Der klasssche von Neumann Rechner zum Bespel bldet als Sngle-Instructon-Sngle-Data Maschne (SISD) das ene, de Multple- Instructon-Multple-Data Maschne (MIMD) mt mehreren unterschedlchen Prozessoren und Datenströmen das andere Extrem deser Taxonome, sehe PACHECO [65] und RICHTER[73]. Hardwaresetg können MIMD Computersysteme zusätzlch nach hrer Specherarchtektur n shared memory, zu Deutsch gemensamer genutzter Specher, und dstrbuted memory, zu Deutsch vertelter Specher, untertelt werden. Shared memory steht allgemen ür ene starke Hardwarekopplung, dstrbuted memory ür ene

66 52 eher lose Hardwarekopplung mt langsamerem Nachrchtenaustausch über das Netzwerk. Vergleche herzu nden sch z.b. be DONGARR und DUNIGAN [19], sowe be JIA und SUNDÉN [42]. Ene andere Möglchket MIMD Computersysteme genauer zu spezzeren rchtet sch nach dem verwendeten Programmermodell. In der Lteratur haben sch de beden Bezechnungen Sngle-Program-Multple-Data (SPMD) und Multple- Program-Multple-Data (MPMD) etablert, sehe DAREMA ET AL. [18] und KARP [44]. Bld 3-22: Flynns Taxonome [27] und de Programmermodelle Sngle-Program-Multple-Data SPMD und Multple-Program-Multple-Data MPMD ür parallele Computersysteme Für de numersche Strömungssmulaton st SPMD von besonderem Interesse. Her ühren alle Prozesse dasselbe Programm au jewels verschedenen sch ncht überlappenden Berechen der Gesamtgeometre aus. De enzelnen Prozesse werden entweder lokal au enem Computer oder vertelt au mehreren vernetzten Computern ausgeührt. SPMD st ür shared memory we auch ür dstrbuted memory oder ener Kombnaton aus bedem geegnet und damt hochlexbel. Über en vorgegebenes Kommunkatonsmodell tauschen de Prozesse an den gemensamen Schnttstellen zwschen den enzelnen Telgeometren hre Daten aus. Falls der Kommunkatonsauwand beschränkt blebt, skalert dese Methode mt der Anzahl der Prozesse. Da de Prozesse zudem nur de von hnen zu bearbetenden Telmenge der Gesamtdaten laden müssen, blebt der Specherbedar pro Prozess beschränkt. Das US amerkansche natonale Insttut ür Standards und Technologe NIST beschrebt SPMD als den gegenwärtg am wetesten verbreteten Stl der parallelen Programmerung [95]. Auch der vorgestellte Sotwareentwur deser Arbet verwendet SPMD als zugrunde legendes paralleles Programmermodell. Darüber hnaus wrd jedem Prozess genau en denerter Telberech der gesamten Rechengeometre zugewesen. Des stellt kene Enschränkung der Programmunktonaltät dar, da be stark unterschedlchen Geometreautelungen mehrere Prozesse au enem Prozessorkern zusammengeasst werden

67 53 können. De Kommunkaton zwschen den enzelnen Prozessen be SPMD wrd als Message-Passng bezechnet. Jeder Prozess bestzt enen von den restlchen Prozessen unabhänggen Specher. Der drekte Specherzugr zwschen unterschedlchen Prozessen st ncht möglch, der Datentranser erolgt ausschleßlch über den Nachrchtenaustausch, sehe THOLE [92]. Für Computer mt verteltem Specher stellt Message- Passng das optmale Programmermodell dar. Durch de Kapselung der Prozessdaten und de Redukton au den renen Nachrchtenaustausch st Message-Passng auch ür MPMD Anwendungen geegnet. Prnzpell können völlg verschedene Programme mtenander gekoppelt werden, solange se ener gemensamen Kommunkatonsrehenolge genügen. Her wrd aber ohne Enschränkung ür de vorlegende Problemstellung ausschleßlch der SPMD Fall betrachtet. De Parallelserung enes Programms mt Message-Passng erolgt explzt durch den Programmerer. Der Datenaustausch zwschen den Prozessen muss m Kontrollluss der Sotware durch Kommunkatons- und Steuerroutnen berückschtgt werden. Üblcherwese gescheht des unter Zuhlenahme ertger Programmbblotheken, de de gesamte Organsaton und den Aubau des Nachrchtenaustausches sowe de Verwaltung der enzelnen Prozesse übernehmen. Bedngt durch de Synchronsaton des Programmlusses sowe den Nachrchtenaustausch ällt be parallelen Programmen nach dem Message-Passng Paradgma en gewsser zetlcher Overhead an, der zunmmt je enger de enzelnen Prozesse mtenander verbunden snd, d. h. je mehr Daten zwschen den Prozessen ausgetauscht werden müssen und je stärker der Kontrollluss enes Prozesses von dem der anderen abhängt. Der optmale Parallelserungsgrad wrd dann errecht, wenn de Gesamtaugabe n völlg unabhängge Telaugaben zerlegbar st. Nach BADER und KRANNICH [6] kann de Güte ener Parallelserung durch de parallele Beschleungung S und de parallele Ezenz E bewertet werden. Bede Kenngrößen snd sowohl von der Anzahl der Prozesse P, als auch von der charakterstschen Problemgröße n abhängg. De parallele Beschleungung berechnet sch als Quotent aus der Rechenzet ür enen Prozess und der Rechenzet ür P Prozesse: S ( n P) ( n,1) ( n, P) T, =. (3.5) T De parallele Ezenz st als Verhältns der parallelen Beschleungung zur Anzahl der Prozesse denert: E ( n P) ( n,1) ( n, P) ( n, P) T S, = =. (3.6) P T P Aus den Glechungen (3.3) und (3.4) olgt, dass be dealem Parallelserungsgrad E(n, P) = 1 der Speedup lnear mt der Anzahl der Prozesse skalert. Entsteht durch de Parallelserung en Overhead, glt E(n, P) < 1 und der Speedup skalert unterproportonal mt der Anzahl der Prozesse. De parallele Ezenz enes Programms wrd aber ncht nur durch de Wahl des Programmlusses beenlusst. Be jedem Datenaustausch entsteht en

68 54 zusätzlcher Overhead durch das Message-Passng System selbst. Somt hängt de Ezenz auch von der Geschwndgket der verwendeten Programmbblothek ab. De beden bekanntesten Standards ür Message-Passng snd de Parallel Vrtual Machne (PVM) [33] und das Message-Passng Interace (MPI) [56][57]. En Verglech zwschen beden Spezkatonen würde her zu wet ühren, ndet sch aber z. B. be GROPP und LUSK [34]. Da MPI m wssenschatlchen Hoch- und Höchstlestungsrechnen heute den de acto Standard ür paralleles Programmeren mt Message-Passng denert, wrd es be der Grobstrukturerung des vorgestellten Sotwarekonzeptes ausgewählt. De konkrete Implementerung erolgt mt der open-source Bblothek MPICH2 des Argonne Natonal Laboratory, de bede Message-Passng Standards, MPI-1 und MPI-2, unterstützt. MPICH2 st sowohl n der Programmersprache FORTRAN als auch n den Programmersprachen C/C++ verügbar. De Bblothek st n beden Sprachen hoch perormant. Für Wndows und ür verschedene Unx Plattormen stehen zudem ertge Dstrbutonen zum Download aus dem Internet beret. En Message-Passng-System betet dem Programmerer de notwendge Funktonaltät zur Parallelserung sener Sotware. Dabe st es von Vortel de Parallelserung berets n der rühen Phase des Sotwareentwurs zu berückschtgen, da se mtunter te n de Programmstruktur engret. Au den nächsten Seten werden de grundlegenden Funktonen von MPI und de damt n Verbndung stehenden Desgnentschedungen ür de Parallelserung des CFD-Tools vorgestellt Intalseren der parallelen Umgebung und Beretstellen des Kontextes Steht berets bem Start de Anzahl der Prozesse est und ändert sch dese über de Programmlauzet ncht, so st de Anwendung statsch. Im Gegensatz dazu wrd ene Anwendung als dynamsch bezechnet, wenn de Anzahl der Prozesse während der Lauzet vareren kann. Das Auspalten der Prozesse (orkng) st m MPI-2 Standard enthalten, wrd aber noch ncht von velen Implementerungen unterstützt. De ausgewählte Bblothek MPICH2 erüllt zwar grundsätzlch desen Standard, ür das CFD-Tool entstehen aber kene Nachtele, wenn de Prozessanzahl berets bem Start bekannt sen muss. Zur Scherung der Porterbarket au Computer de über kene MPICH2 Installaton verügen, wrd deshalb en statsches Modell verwendet. Für de Intalserung der Parallelen Umgebung stellt das Message-Passng-System de Intalze-Funkton zur Verügung. Solang dese Funkton noch ncht augeruen wurde, kann kene andere Funktonaltät des Message-Passng-Systems genutzt werden. De Intalserung muss genau enmal erolgen. Der mehrache Auru der Intalze-Funkton stellt enen Fehler dar. Im CFD-Tool ruen alle Prozesse de Intalze-Funkton als ersten Beehl n der Man-Routne der Hauptanwendung au. Alle Prozesse, de von der parallelen Umgebung gestartet worden snd, werden automatsch zu ener Gruppe, de als Welt (world) bezechnet wrd, zusammengeasst. Dese Gruppe repräsentert dabe verenacht de Lste aller gestarteten Prozesse und st lokal n jedem Prozess verügbar. Bestmmte Problemstellungen erordern, dass von deser Gruppe wetere Untermengen gebldet werden. Prozesse können zu jeder Zet ohne Reerenz au andere Prozesse neue Gruppen blden oder bestehende Gruppen zerstören. Den kon-

69 55 kreten Anwendungsall aus der CFD leert de Multphysk Smulaton. Her blden de Gruppen Bereche mt bestmmten physkalschen Egenschaten. Da dese wederum durch en egenes Rechenmodell abgebldet werden, st her nnerhalb ener Gruppe zudem auch en bestmmter Programmluss vorgegeben. Für de Kommunkaton zwschen den Prozessen ener Gruppe werden sogenannte Intrakommunkatoren denert. En Intrakommunkator st en Handle au enen spezschen Kontext, den de Prozesse nnerhalb der Gruppe telen. Grundsätzlch können Nachrchten, de nnerhalb enes bestmmten Kontexts gesendet werden, nur weder n demselben Kontext empangen werden. Wrd der Kontext als Radorequenz nterpretert, dann verwenden alle Kommunkatoren, de au desen Kontext verwesen, deselbe Radorequenz. De Motvaton ür den Kontext st Modulartät. De Prozesse ener Gruppe können ür hre Kommunkaton mehrere unterschedlche Kontexte beretstellen. Das st nsbesondere ür de objektorenterte Programmerung wchtg. De Datenkapselung stellt her ene grundlegende Sprachegenschat dar. Kann den Objekten ener Klasse exklusv en bestmmter Kontext ür den Datenaustausch zugeordnet werden, dann st de Datenkapselung be der Kommunkaton zwschen desen Objekten automatsch gewährlestet, auch wenn n der glechen Prozessgruppe noch andere Objekte Nachrchten senden. De Umsetzung deses Konzepts ndet sch be der Detallerung der Komponentenbaustene weder, sehe Kaptel Au makroskopscher Ebene betet der Kontext de Scherhet, dass unterschedlche Programmmodule, de n deselbe Umgebung ntegrert werden, ncht ungewollt unterenander nterageren, sehe Kaptel Kommunkatonsormen zwschen den Prozessen Be der Punkt-zu-Punkt-Kommunkaton snd mmer genau zwe Prozesse betelgt. En Prozess trtt als Sender, der andere als Empänger au. Aus Programmscht heßt das, dass sowohl der Sender senen Zelprozess als auch der Empänger senen Quellprozess explzt benennen muss. Grundsätzlch wrd be deser Kommunkatonsart unterscheden, ob ene Nachrcht synchron oder asynchron versendet bzw. empangen wrd. Der synchrone Nachrchtenaustausch st verglechbar mt enem Handschlag der beden betelgten Prozesse. Unter bestmmten Umständen kann das zur Blockade des Programmlusses ühren. Im CFD-Tool arbeten de enzelnen Prozesse jewels au ncht überlappenden Gebeten der gesamten Rechengeometre. Über de Interaces zwschen den enzelnen Gebeten müssen de Strömungsvarablen der angrenzenden Rechenzellen ausgetauscht werden. Bld 3-23 stellt desen Vorgang zunächst als synchronen Datentranser m Sequenzdagramm dar. Würden bede Prozesse zuerst senden und danach empangen, wäre der Programmluss zwangsläug blockert. Abhle schat de Berückschtgung der Prozessnummer, de nnerhalb der Prozessgruppe bekannt st. Durch kreuzweses Vertauschen des Sende- bzw. Empangsbeehls abhängg von der Prozessnummer wrd de Blockade augehoben. Blden de Seten enes Interaces ene Perodztät, be der das Rechengebet au sch selbst verwest, kann de Blockade so allerdngs ncht behoben werden. Ene Opton wäre her, we n Bld 3-24 llustrert, zwschen nternen und externen Interaces zu unterscheden und Nachrchten ledglch an den externen Interaces über MPI auszutauschen. Dese Stratege wrd bespelswese m blockstrukturerten CFD-Löser NS3D verolgt, sehe SKODA [86] und EINZINGER [22].

70 56 Prozess 0 Prozess 1 Prozess 0 Prozess 1 Transer 0 Transer 1 Transer 0 Transer 1 Bld 3-23: Datenluss be synchroner Punkt-zu-Punkt-Kommunkaton; Lnks: Blockade der betelgten Prozesse durch glechzetgen synchronen Datenversand; Rechts: Lösen der Blockade durch Platzeren des Sende- und Empangsaurus n Abhänggket von der Prozessnummer I. zykl. Verwes II. ext. Verknüpung Bld 3-24: Datenluss be synchroner Punkt-zu-Punkt Kommunkaton; Umgehen der Blockade be Selbstverwesen durch Unterschedung von nternem und externem Datentranser Ene mt Hnblck au de Objektorenterung konsstentere Lösung betet der asynchrone Nachrchtenaustausch über MPI. Er st deshalb m CFD-Tool generell ür den Datentranser an allen Rechengebetsgrenzen vorgesehen. Be der asynchronen Kommunkaton müssen de Prozesse hren Programmluss zunächst ncht auenander abstmmen. Der Sende- und Empangsbeehl wrd ohne Rückscht au den Partnerprozess abgesetzt. Jeder Prozess trggert enach alle n hm enthaltenen Interaces ab. De be deser Kommunkatonsart notwendge Puerung der Daten erolgt durch das Message-Passng-System und st ncht Augabe der parallelen Anwendung selbst. Allerdngs muss der vollständge Abschluss des Nachrchtenaustausches explzt geprüt werden, bevor au de ausgetauschten Daten zugegren wrd. Gescheht das ncht, läut der CFD-Code Geahr mt korrumperten Daten zu rechnen. Zur Überprüung, ob en asynchroner Kommunkatonsvorgang abgeschlossen st, stellt das Message-Passng-System sowohl ene ncht blockerende Test- als auch ene blockerende Warteroutne beret. Für de Beendgung des Austauschvorganges an den Interaces genügt de blockerende Warteunkton, denn es st ncht von Bedeutung, an welchem Interace der Vorgang als erstes abgeschlossen st, sondern nur, dass er vollständg an allen Interaces enes Prozesses abgeschlossen st. Bld 3-25 veranschaulcht den Ablau bem asynchronen Datentranser an den Interaces des CFD-Tools.

71 57 Bld 3-25: Datenluss be asynchroner Punkt-zu-Punkt-Kommunkaton; Kene Blockade möglch, aber Test des erolgrechen Datentransers nötg Im Gegensatz zur Punkt-zu-Punkt-Kommunkaton, snd be der kollektven Kommunkaton mmer alle Prozesse ener bestmmten Gruppe betelgt. Um ene kollektve Kommunkaton mt ener Untermenge von Prozessen n ener Gruppe ausühren zu können, muss grundsätzlch ene neue Gruppe, de dese Untermenge beschrebt, gebldet werden, denn an der kollektven Kommunkaton müssen mmer alle Prozesse ener Gruppe telnehmen. Für enge kollektve Funktonen exsteren aber Platzhalterargumente, de be der Datenübergabe verwendet werden können, um den auruenden Prozess von der Operaton auszuschleßen. De enachste Form der kollektven Kommunkaton stellt de Barrere dar. De Barrer-Funkton blockert den auruenden Prozess solange, bs alle anderen Prozesse der Gruppe de Funkton augeruen haben. Um de Synchronsaton der enzelnen Prozesse nnerhalb der Module des CFD-Tools zusätzlch abzuschern, wrd de barrer-funkton nach allen größeren Datenbearbetungsblöcken, we zum Bespel der Iteraton enes Glechungsobjektes, sehe Kaptel 4.2.1, augeruen. Zum renen Um- bzw. Neuvertelen von Daten au de Prozesse ener Gruppe denen de Broadcast-, Scatterund Gather-Funktonen. All dese Operatonen haben gemensam, dass de betroenen Daten be deren Übermttlung ncht verändert werden. De globalen Reduce-Funktonen hngegen denen dazu, de übergebenen Daten be deren Transer mthle des angegebenen Operators zu verändern. Als Operatoren stehen unter Anderem de Summe, das Produkt und der Mnmum- bzw. Maxmum-Operator zu Verügung. Das Resduum st ene wchtge Kenngröße n jeder mplzten CFD-Smulaton. Es wrd als globaler Indkator ür de Konvergenz der Rechnung herangezogen. Da das gesamte Glechungssystem ener Prozessgruppe m CFD-Tool durch de Parallelserung au den Specher mehrerer Prozesse augetelt st, muss das Resduum zunächst über alle Prozesse der Gruppe ausummert und das Ergebns der Operaton dann weder au de Prozesse vertelt werden. Des gescheht während der Iteraton der Glechungsobjekte durch de Allreduce-Funkton n Verbndung mt dem Summen-Operator En- und Ausgabe von Daten De En- und Ausgabeströme ener Konsolenanwendung stellen de externen Schnttstellen dar, über de während der Lauzet Inormatonen ausgetauscht werden können. Bem CFD-Tool snd des erstens de Ausgabeströme cout und cerr der Engabestrom cn und der Ausgabestrom clog werden ncht verwendet und zwetens de En- und Ausgabe-

72 58 ströme zum Lesen und Schreben von Dateen. Berückschtgt man, dass das CFD-Tool ene SPMD Anwendung st, ergbt sch de Frage nach der Organsaton der Datenenbzw. -ausgabe bezogen au de Parallelserung. Gruppe A Gruppe B Bld 3-26: Ablau der Resduenausgabe n der Konsole; Der Masterprozess der Weltgruppe, her Prozess 0 aus Gruppe A, sammelt de Resduen von den Masterprozessen aller übrgen Gruppen en, her Prozess 2 aus Gruppe B, und gbt dese n der Konsole synchronsert aus Als Erstes wrd dese Frage ür de Konsolenausgabeströme geklärt. Das Message- Passng-System generert ür de parallele Anwendung automatsch ene enhetlche Umgebung. Das bedeutet, dass de Konsolenausgabeströme aller Prozesse mt der auruenden Konsole verknüpt werden. Wollen nun mehrere Prozesse ohne zusätzlche Synchronsaton glechzetg Daten ausgeben, kommt es m Allgemenen zu enem Durchenander und de ausgegebenen Daten werden unlesbar. Im CFD-Tool beschränkt sch de Ausgabe von Statusnormatonen mt dem Ausgabestrom cout m Wesentlchen au de aktuellen Resduen der Glechungsobjekte und de damt n Verbndung stehenden Inormatonen. Dabe schreben alle Glechungsobjekte enes Prozesses hren aktuellen Iteratonsstatus ungeachtet der Prozesszugehörgket n enen lokalen Ausgabepuer. Deser Ausgabepuer wrd nach jedem Iteratonsdurchgang der Glechungen von der Iteratonsschlee des Masterprozesses aller lokalen Gruppen an den Master der Weltgruppe gesandt und von eben desem, we n Bld 3-26 dargestellt, synchronsert ausgegeben. Be den übrgen Prozessen läut de Resduenausgabe ns Leere. Für de Ausgabe von Fehlerbenachrchtgungen durch den Ausgabestrom cerr muss anders verahren werden. Da jeder Fehler unwegerlch zum Abbruch der parallelen Anwendung ühren muss, st bem Autreten enes Fehlers kene Synchronsaton zwschen den Prozessen mehr möglch. Des wrd weter unten m Abschntt über de Fehlerbehandlung begründet. Für de Fehlerausgabe st das an deser Stelle allerdngs nebensächlch. De Konsequenz heßt ledglch, dass auch de Fehlerausgabe ncht synchronsert ablauen kann. De Inormaton über das Autreten des Fehlers wrd unabhängg davon ausgegeben. Im ungünstgsten Fall steht se allerdngs m Konlkt mt ener anderen Ausgabe und st nur schwer lesbar, sehe Bld 3-27.

73 59 u. U. Durchenander Bld 3-27: Ablau der Fehlerausgabe n der Konsole; Ene Synchronsaton st her ncht möglch; Im ungünstgsten Fall kolldert de Fehlerausgabe mt ener anderen Ausgabe und st nur schwer lesbar Nun blebt de Prozessorgansaton bem Lesen und Schreben von Dateen zu lösen. Der MPI-2 Standard [57] denert Funktonen, de das parallele Enlesen bzw. Spechern von Daten aus bzw. ns Datesystem regeln. De Routnen setzen voraus, dass en zusammenhängender Datensatz, n der Regel en Array enes bestmmten Datentyps, enach au de betreenden Prozesse augetelt st. Soll deser Datensatz n enem Fle, gespechert werden, wrd jedem Prozess en denerter Berech nnerhalb des Fles zugewesen, n den er sen Datenragment schrebt. Das Gleche glt umgekehrt ür den Fall, dass der Datensatz engelesen wrd. De drekte Verwendung deser MPI-Funktonen kann allerdngs bem Lesen und Spechern der komplexen CFD-Daten sehr auwändg sen. Darüber hnaus st zu beachten, dass durch de Funktonen de modulare Nutzung bestehender Sotwarebblotheken zur Hgh-End Datenverarbetung erschwert wrd. Als Bespel seen her nur de Formate XML [104], Tecplot, CGNS [3] und HDF5 [91] genannt, ür de solche Bblotheken re verügbar m Internet exsteren. Bld 3-28: Modell ür de vertelte, voll symmetrsche Datenen- bzw. Datenausgabe Für das CFD-Tool snd zwe Modelle entwckelt worden, de de parallelserte Datenverarbetung bem Lesen und Schreben der Dateen abblden, ohne de MPI-En- und Ausgabeunktonen zu verwenden. Das erste der beden Modelle repräsentert de sogenannte voll symmetrsche Konguraton. Her lest bzw. schrebt jeder Prozess sene egene Date. Das zugehörge Sequenzdagramm st n Bld 3-28 vsualsert. Jeder Prozess agert völlg unabhängg von den anderen. Während des Lesens bzw. Schrebens der Daten st kenerle Synchronsaton notwendg. Deshalb st de symmetrsche Kongu-

74 60 raton durch enen sehr hohen Parallelserungsgrad geprägt. Ene Konsequenz und mtunter en Nachtel des Modells st allerdngs, dass de Daten völlg vertelt n unabhänggen Dateen abgelegt werden. Soll das vermeden werden oder st das unmöglch, so betet das zwete Modell, sehe Bld 3-29, ene Lösung. Das gezegte Sequenzdagramm stellt de asymmetrsche Konguraton dar. Im Gegensatz zur vorhergen Lösung ageren de enzelnen Prozesse nun n gegensetger Abhänggket. Das Lesen und Schreben aller Daten wrd vom Masterprozess übernommen. Durch den sequentellen Ablau müssen aber alle Prozesse synchronsert werden. De asymmetrsche Konguraton st deshalb m Verglech zur symmetrschen durch enen gerngeren Parallelserungsgrad gekennzechnet. Vortelhat st her aber de zentrale Datenhaltung. Bld 3-29: Modell ür de zentralserte, asymmetrsche Datenen- bzw. Datenausgabe Gruppe A Gruppe B Bld 3-30: Resduenauzechnung; De Masterprozesse ener jeden Gruppe, her Prozess 0 aus Gruppe A und Prozess 2 aus Gruppe B, spechern de Resduen ür hre Gruppe jewels n ener egenen Date Durch hre völlg unterschedlchen Lösungsansätze können de beden vorgestellten parallelen En- bzw. Ausgabemodelle jewels allene ncht jede Problemstellung abdecken. Velmehr muss au den Enzelall bezogen der jewels geegnetste Lösungsansatz ausgewählt werden. Dabe kann de spezelle Lösung natürlch etwas von den vorgestellten dealserten Abläuen der beden Modelle abwechen. Im CFD-Tool erolgt bespelswese

75 61 de Resduenauzechnung ncht zu verwechseln mt der berets dskuterten Resduenausgabe m Grunde völlg symmetrsch. Dese Konguraton st her am snnvollsten, wel de Resduen nach jeder Iteraton der Glechungsobjekte ortlauend abgespechert werden sollen. Alle Resduen snd nun aber nnerhalb hrer jewelgen Prozessgruppe glech, sodass nur de Gruppenmaster an der Auzechnung betelgt werden müssen. Das Modell zur Resduenauzechnung st n Bld 3-30 dargestellt. Obwohl her ncht alle Prozesse völlg glechmäßg am Spechern der Daten betelgt snd, st das symmetrsche Grundprnzp trotzdem klar zu erkennen Fehlerbehandlung Der n der Programmersprache C++ bekannte Mechansmus der Ausnahmebehandlung (excepton handlng) stellt en mächtges Werkzeug dar. Er wurde spezell entwckelt, um de Fehlerbehandlung n Programmen, de aus unabhängg entwckelten Komponenten bestehen, zu unterstützen, sehe STROUSTRUP [90]. Das Konzept trennt das Autreten enes Fehlers von dessen Behandlung. Damt st es möglch, enen Fehler, der n enem Programmmodul autrtt und dort ncht behandelt werden kann, ns Hauptprogramm weterzurechen und erst dort zu behandeln. Trt en Programmmodul konkret au en Problem, das es ncht lösen kann, wrt es enach ene Ausnahme (throw) und hot darau, dass de übergeordnete Ebene deses Problem behandelt (catch). Be der Parallelserung mt MPI st nun zu beachten, dass bem Weren der Ausnahme de Abarbetung des unmttelbar olgenden Beehlscodes unterbrochen und stattdessen an de Stelle zur Ausnahmebehandlung gesprungen wrd. Da en Fehler n ener SPMD Anwendung ncht zwangsläug n allen Prozessen glechzetg autrtt, wrd der koordnerte Programmablau zwschen den Prozessen gestört. Des kann zur Blockade der Anwendung ühren, alls m Beehlscode nach der Stelle, an der der Fehler autrtt, en Synchronsatonsvorgang zwschen den Prozessen stattndet. Der MPI Standard besagt ür de Fehlerbehandlung allgemen, dass n ener SPMD Anwendung jeder Fehler zum Abbruch aller Prozesse ühren muss. Herür wrd de Abort- Funkton beretgestellt, de das Message-Passng-System veranlasst, de gesamte parallele Anwendung soort abzubrechen, alls se rgendwo nnerhalb enes Prozesses augeruen wrd. Bezogen au den Ausnahmebehandlungsmechansmus bedeutet das, dass jede Ausnahme zum Auru der Abort-Funkton ührt. Das muss be der Entwcklung aller Module des CFD-Tools berückschtgt werden Beenden der parallelen Umgebung Zum normalen Beenden ener mt MPI parallelserten Anwendung steht de Fnalze- Funkton zur Verügung. De Funkton räumt alle bestehenden MPI Datenstrukturen au und muss von jedem Prozess augeruen werden. Kommunkatonsvorgängen, de noch aktv snd, werden allerdngs ncht abgebrochen, des muss durch den Programmablau selbst gewährlestet sen. Nach Beendgung der parallelen Umgebung kann ken MPI- Beehl mehr ausgeührt werden. Selbst ene erneute Intalserung durch de Intalze- Funkton st ncht möglch. Im CFD-Tool ruen alle Prozesse de Fnalze-Funkton als letzten Beehl n der Man-Routne der Hauptanwendung au.

76 62 4 Detallerung der Komponentenbaustene Kaptel 4 detallert das zuvor entworene Grobdesgn der Sotwarekomponenten. Es kombnert de entworenen Klassenbaustene und präsentert de programmertechnsch umgesetzte Repräsentaton von Geometre und Glechungen. Zur Berechnung der notwendgen geometrschen Größen sowe zur Dskretserung der Glechungsterme werden sogenannte Schemataklassen engeührt. Darüber hnaus beschätgt sch das Kaptel mt der Lösung der be der Dskretserung entstehenden LGS. Den Abschluss des Kaptels bldet de Vorstellung der Algorthmenklassen, de de korrekte Ablausteuerung des CFD-Tools während der numerschen Smulaton scherstellen. 4.1 Repräsentaton der numerschen Netze PolyMesh- und PolySlce-Klassen De Klasse PolyMesh bldet den zentralen Specherort ür de Daten der Zell-, Flächen-, und Knotenelder sowe ür de Datenstrukturen zur Specherung des Aubaus des numerschen Netzes. De Daten snd allesamt durch Objektkomposton n de Klasse PolyMesh ntegrert und können jewels über geegnete Zugrsunktonen abgeruen bzw. gesetzt werden. Überdes benhaltet de Klasse PolyMesh ene Lste von PolySlce-Objekten. Dese Objekte repräsenteren de enzelnen Bereche des numerschen Netzes, also das Innere, de Interaces und de Ränder. PolySlce-Typen nutzen de n Kaptel 3.1 denerte Klasse Extent zur Specherung der Zellen- bzw. Flächenausdehnung ür de Dskretserung. De Klassen InternalPolySlce, PolyInteraceSlce und PolyBoundarySlce snd alle von der Bassklasse PolySlce abgeletet und können somt n de Lste von PolySlce-Objekten augenommen werden. Zur Spezzerung neuer oder zum Löschen alter Bereche bestzt das PolyMesh de Member-Funktonen add_slce(), remove_slce() und remove_all_slces(). Mt der Funkton get_all_slces() kann de gesamte Lste von Netzberechen ausgegeben werden. PolyMeshund PolySlce-Klassen snd Zegerklassen, de Egenschaten zur Reerenzzählung erben se von der gemensamen Bassklasse Base. Neben den berets augezählten Datenstrukturen benhaltet de Klasse PolyMesh außerdem noch MPI-Kommunkatoren, de ür den netzbezogenen Datenaustausch zwschen den verschedenen Prozessen benötgt werden. De Modelle zum Datenaustausch snd n Kaptel 3.4 beschreben. Au de Kommunkatoren kann über entsprechende get- bzw. set-funktonen zugegren werden. Für de Berechnung ren geometrscher Größen, we dem Zellvolumen oder dem Zelllächennhalt, stellt de Klasse PolyMesh de Funkton apply() zur Verügung. Dese erwartet Hlsobjekte vom Typ GeoScheme. De Objekte werden nnerhalb der apply()-funkton an de PolySlces durchgerecht. Dese wählen dann schleßlch de ür hren Berechstyp geegnete Berechnungsunktonaltät der GeoScheme-Objekte aus. De GeoScheme-Objekte werden noch genauer unter Punkt vorgestellt.

77 63 Zum Laden und Spechern der Daten bestzt de Klasse PolyMesh de Member-Funktonen load() und save(). Für de Aktualserung der enzelnen Daten, bespelswese nach ener geometrschen Transormaton st de Funkton update() vorgesehen. Der statsche Klassenentwur ür das PolyMesh und de verschedenen PolySlce-Typen st n Bld 4-1 zu sehen. Au de explzte Darstellung der zu Anang erwähnten Dateneld- und Layoutobjekte wrd der Überschtlchket halber verzchtet. De Entwüre ür dese Objekttypen nden sch n Kaptel 3. namespace MPI aus MPICH-lb Bld 4-1: De PolyMesh-Klasse als zentrale Datenstruktur, de de PolySlce-Klassen ür den nneren Berech, de Interaces und de Ränder des numerschen Netzes sowe de MPI-Kommunkatoren ür de Parallelserung beretstellt Geometrevarablen Be der Dskretserung der Erhaltungsglechungen werden verschedene Varablen benötgt, de de geometrschen Verhältnsse m numerschen Netz beschreben. De Varablen werden von der Klassen PolyMesh nach dem Laden des numerschen Netzes automatsch berechnet und können über de jewelgen Zugrsunktonen der Klasse bequem drekt abgeruen werden. Tabelle 4-1 lstet de wchtgsten Geometrevarablen sortert als Knoten-, Flächen-, und Zellelder, sowe de entsprechenden Zugrs-

78 64 unktonen der Klasse PolyMesh au. De enzelnen Varablen werden mthle der Klassen ScaSet, VecSet und TenSet, de n Kaptel 3.3 entworen wurden, abgebldet. Neben den gänggen Varablen zur Beschrebung der geometrschen Verhältnsse benhaltet de Lste auch den Zelllächennterpolatonsaktor λ zur Interpolaton zweer Zellwerte an de dazwschen legende Fläche und den Tensor G j zur Gradentenberechnung mthle des Least-Squares-Ansatz. Tabelle 4-1: Lste der wchtgsten Varablen zur Beschrebung der geometrschen Egenschaten des numerschen Netzes m CFD-Tool Varable Beschrebung Specherort m Netz Varablentyp n PolyMesh Zugrsunkton m PolyMesh x, n Knotenkoordnate Knoteneld VecSet get_center_n() x, Zelllächenmttelpunkt VecSet get_center_f() λ Zelllächennterpolatonsaktor ScaSet get_lambda_f() Flächeneld n Zelllächennormale VecSet get_normal_f() S Zelllächennhalt ScaSet get_area_f() x, c Zellmttelpunkt VecSet get_center_c() Ω Zellvolumen Zelleneld ScaSet get_volume_c() G j Tensor ür de Least-Squares- Gradentenberechnung TenSet get_gj_c() De relatve Lage der Knotenkoordnaten x, n, der Flächenmttelpunkte x, und der Zellenmttelpunkte x, c bezogen au en KV st n Bld 4-2 zu sehen. De Knotenvarablen stellen enen ntegralen Bestandtel des numerschen Netzes dar. Se werden zusammen mt dem Zellen- und dem Flächen-Layout bem Enlesen des Netzes ntalsert. Bld 4-2: Knotenkoordnaten x,n, Flächenmttelpunkte x, und Zellenmttelpunkte x,c enes KV

79 Berechnungsschemata Deser Abschntt stellt den Entwur der Klassen ür de Berechnungsschemata der Netzvarablen des CFD-Tools vor. De Schemata übernehmen de korrekte Intalserung der Varablen aus Tabelle 4-1 und werden automatsch nach dem Enlesen des Netzes ausgeührt. Für de geometrschen Berechnungen müssen de dre unterschedlchen Bereche Gebetsnneres, Interace und Gebetsrand des Netzes berückschtgt werden. Desem Sachverhalt trägt de Bassklassen GeoScheme Rechnung. Se denert über de dre Member-Funktonen on_nternal(), on_nterace() und on_boundary() de benötgten Schnttstellen. Der zugehörge statsche Klassenentwur st n Bld 4-3 zu sehen. De Klassen ür de konkreten Berechnungsschemata werden von deser Bassklasse abgeletet. Es st möglch, ür ene bestmmte Geometrevarable unterschedlche Berechnungsphlosophen anzuwenden. Daür müssen de Berechnungsschemata lexbel erstellt und gespechert werden können. De Bassklasse GeoScheme st deshalb als Zegerklasse konzpert. De nötgen Egenschaten ür de Reerenzzählung letet se von der Klasse Base ab. Um de Berechnungsschemata von den Dskretserungsschemata, sehe Kaptel 4.2.2, abzugrenzen snd se m Namensraum Calc:: angesedelt. De Geometrevarablen müssen n ener bestmmten Rehenolge berechnet werden. Des st nötg, da de Varablen tels vonenander abhängen. De nacholgenden Berechnungsvorschrten snd n der Rehenolge augeührt, de auch de Klasse PolyMesh be der Varablenberechnung verwendet. De zugehörgen Klassenentwüre der Berechnungsschemata ür de enzelnen Geometrevarablen snd aus Platzgründen ncht explzt dargestellt. Se olgen drekt aus dem Entwur der Bassklasse GeoScheme. namespace Calc Bld 4-3: Bassklasse zur Implementerung der Berechnunsschemata ür de Geometrevarablen des numerschen Netzes; De Berechnung der Varablen gledert sch n de unterschedlchen Bereche des Netzes au Flächenbezogene Größen Als erstes müssen de Zelllächenmttelpunkte x, berechnet werden. Daür snd de Knotenkoordnaten x, n notwendg. De Werte werden enach über alle KV-Flächen des Gebetsnneren, der Interaces und der Gebetsränder bestmmt. Im CFD-Tool snd zwe unterschedlche Vorschrten mplementert. Be der kantengewchteten Berechnungs-

80 66 phlosophe nach WUNDERER [106] werden de Zelllächenmttelpunkte über Gewchtungsaktoren l n bestmmt: l n x, n x, n + x, n x, =, (4.1) next n last ln x, n n x, =. (4.2) l n n De geometrschen Zelllächenmttelpunkte dagegen werden enach als Mttelwerte der Kontenkoordnaten der enzelnen Zelllächen gebldet: n x, =. (4.3) 1 n x, n Glechung (4.3) stellt das standardmäßge Berechnungsschema m CFD-Tool dar. Als nächstes st de Berechnung der Zelllächennhalte S an der Rehe. Se erordert weder de Knotenkoordnaten x, sowe de gerade bestmmten Flächenmttelpunkte n x,. De Werte werden drekt über alle KV-Flächen des Gebetsnneren, der Interaces und der Gebetsränder bestmmt. Der Zelllächennhalt setzt sch dabe aus den Tellächennhalten der durch den Flächenmttelpunkt x, und jewels zwe Knotenkoordnaten augespannten Dreecke zusammen: S = 1 2 ( x n x, ) ( x, n x ) next, n,. (4.4) De Bestmmung der Zelllächennormalenvektoren n, erolgt unter Zuhlenahme der Knotenkoordnaten x, n sowe der Flächenmttelpunkte x,. Zur Normerung der Zelllächennormalenvektoren werden außerdem de berets berechneten Zelllächennhalte S herangezogen. Des st ncht zwngend notwendg, spart aber Rechenzet. De Werte werden unabhängg vonenander über alle KV-Flächen des Gebetsnneren, der Interaces und der Gebetsränder bestmmt. De Berechnungsvorschrt ür de Zelllächennormalenvektoren lautet: ( x, n x, ) ( x, n x ) next 1 n, =, 2S n. (4.5)

81 67 Zellbezogene Größen Für de Intalserung der Zellmttelpunkte x, c snd de Flächenmttelpunkte x, notwendg. De Werte werden zunächst ür alle KV des Gebetsnneren berechnet. De Zellmttelpunkte an den Interaces werden danach ausgetauscht. De Zellmttelpunkte an den entarteten KV der Gebetsränder korresponderen mt den jewelgen Flächenmttelpunkten x, und werden von desen übernommen. We be den Flächenmttelpunkten gbt es auch ür de Zellmttelpunkte m CFD-Tool zwe Berechnungsschemata. Das lächengewchtete Schema lautet: S x, c x, c =. (4.6) S c In Glechung (4.6) treten de berets berechneten Flächennhalte S, sehe Glechung (4.4), au. Für de geometrsche Bestmmung der Zellmttelpunkte wrd enach der Mttelwert der zugehörgen Flächenmttelpunkte x, gebldet: c x, c =. (4.7) 1 c x, Glechung (4.7) stellt das standardmäßge Berechnungsschema m CFD-Tool dar. Für de Berechnung der Zellvolumen Ω c werden sowohl de Knotenkoordnaten x, n, de Flächenmttelpunkte x, als auch de Zellmttelpunkte x, c benötgt. De Werte werden zunächst ür alle KV des Gebetsnneren gebldet. De Werte an den Interaces werden danach ausgetauscht, de Werte an den entarteten KV der Gebetsränder zu Null gesetzt. Jedes Zellvolumen setzt sch aus den Telvolumna der durch den Flächenmttelpunkt, den Zellmttelpunkt und jewels zwe Zelllächenknoten augespannten Tetraeder zusammen: Ω c 1 = 6 ( x, x, c ) [ ( x, n x, ) ( x, n x )] next, c n. (4.8) Geometrsche Hlsgrößen Für de Berechnung der Zelllächennterpolatonsaktoren λ werden sowohl de Flächenmttelpunkte x, als auch de Mttelpunkte der Master-Zellen x, m und der Slave- Zellen x, s benötgt. De Werte werden unabhängg vonenander über alle KV-Flächen des Gebetsnneren, der Interaces und der Gebetsränder bestmmt. De Zelllächennterpo-

82 68 latonsaktoren ermöglchen de Interpolaton ener Varable, de als Zelleneld gespechert st, an de KV-Flächen, sehe Kaptel De Vorschrt zur Bestmmung der Interpolatonsaktoren λ lautet: x, x, m λ =. (4.9) x x, s, m Zur Gradentenberechnung der Zellvarablen kann neben dem Gaußschen Integralsatz auch der Least-Squares-Ansatz herangezogen werden, sehe bespelswese open FOAM [64] und Glechung (4.15). Für de Berechnung der Hlstensoren werden dabe ledglch de Mttelpunkte der Master-Zellen x, m und der Slave-Zellen s ( x x ) s,, s, m x, benötgt: =, (4.10) 1 T s, s, G j, c = 2. (4.11) s c, De Werte werden als erstes ür alle Zellen des Gebetsnneren gebldet. Danach werden de Tensoren an den Interaces ausgetauscht und an den entarteten Zellen der Gebetsränder als Nulltensoren angenommen Geometremodkaton Konservatve Dskretserungen au bewegten numerschen Netzen müssen ener geometrschen Zwangsbedngung olgen, de als Space Conservaton Law (SCL) oder Raumerhaltungsglechung bekannt st, sehe THOMAS und LOMBARD [93]. De Formel lässt sch drekt über de Lebntz Regel aus Glechung (1.5) herleten, wenn = 1 gesetzt wrd: d dt dω = Ω S w n ds. (4.12) Glechung (4.12) besagt, dass de Änderung des KV-Inhalts während enes Zetntervals glech der Änderung der durch de Bewegung genererten Flüsse über de KV-Grenzen sen muss. Werden be der Dskretserung der Erhaltungsglechungen Zelllächengeschwndgketen verwendet, de das SCL ncht erüllen, entstehen m Rechengebet ungewollt Massequellen und dadurch unter Umständen auch Konvergenzschwergketen. Verormen sch de Netze be der Bewegung ncht, we das bespelswese n den roterenden Schauelkanälen von Turbomaschnen der Fall st, können de Zelllächengeschwndgketen drekt aus der vorgegebenen Netzknematk errechnet werden, sehe SKODA [86].

83 Repräsentaton der Erhaltungsglechungen Equaton- und Scope-Klassen De Equaton-Klasse denert de zentrale Schnttstelle ür de Dskretserung der unterschedlchen Erhaltungsglechungen. Alle Glechungen müssen m CFD-Tool deshalb von der Equaton-Klasse abgeletet werden. De Schnttstelle der Equaton-Klasse benhaltet de nt()-funkton und de terate()-funkton. De nt()-funkton belegt das Strömungsgebet zu Begnn ener Rechnung mt der vorgegebenen Startlösung und den Randwerten der Lösungsvarablen der Equaton-Klasse. De terate()-funkton dskretsert und löst das Problem enmal. Falls de zu lösende Problemstellung mehrere Glechungsobjekte benhaltet, de gekoppelte Glechungen repräsenteren, muss de terate()-funkton so lange ür jedes Glechungsobjekt augeruen werden, bs de Gesamtlösung konvergert st. Aus desem Grund leert de terate()-funkton nach dem Lösungsschrtt das erzelte Endresduum, sehe Kaptel 4.3, zurück. De Kontrolle der momentanen Lösungsqualtät m Verhältns zum engestellten Abbruchkrterum st damt drekt möglch, sehe Kaptel 4.4. De Dskretserung der Glechungen erolgt baserend au dem numerschen Netz, das durch de PolyMesh-Klasse repräsentert wrd. Deshalb spechert de Equaton-Klasse enen entsprechenden Verwes au en PolyMesh-Objekt. Der Verwes kann über de Funktonen get_mesh() und set_mesh() bearbetet werden. In der PolyMesh-Klasse werden de unterschedlchen Bereche des numerschen Netzes durch Slce-Objekte dargestellt, sehe Kaptel Das Gegenstück herzu blden de Scope-Objekte n der Equaton-Klasse. De Scopes repräsenteren dabe de Randbedngungen der Glechungen. Zu den enzelnen Slces gbt es korresponderende Scopes. Dem InternalPolySlce st das InternalScope, dem PolyInteraceSlce das InteraceScope und dem Poly- BoundarySlce das BoundaryScope zugeordnet. De Equaton-Klasse und de Scopes blden damt zusammen mt der PolyMesh-Klasse und den Slces ene duale Vererbungsherarche. Für de Angabe neuer bzw. das Löschen alter Scopes bestzt de Equaton-Klasse Zugrsunktonen, de denen ür de Slces n der PolyMesh-Klasse glechen. We de PolyMesh- und de Slce-Klassen aus Kaptel snd auch de Equaton- und de Scope-Klassen als Zegerklassen konzpert. De Egenschaten zur Reerenzzählung erben se weder von der Bassklasse Base. Da ür de Dskretserung der Randbedngungen der Start- und Stop-Index des zugehörgen Randbereches des Netzes benötgt wrd, spechert jedes Scope-Objekt enen drekten Verwes au das assozerte Slce-Objekt. Zur Implementerung der get_slce()- Funktonaltät n den Scopes wrd ene Stratege verwendet, de als Covarant Return Types bezechnet wrd. Das vorgestellte Desgn ür de Glechungsdskretserung ordnet de Randbedngungen den Glechungen zu. Als Alternatve könnten prmtve Randbedngungen, also vorgegebene Werte und Gradenten, auch drekt den Lösungsvarablen zugeordnet werden. Des erschent m ersten Hnblck logsch, da de Randbedngungen ja drekt de Werte der Lösungsvarablen beenlussen. Im CFD-Tool wrd dennoch der andere Weg engeschlagen. Des legt zum Enen daran, dass ncht nur prmtve sondern auch gemschte Randbedngungen mplementerbar sen sollen, de glechzetg mehrere Größen beenlussen. Ene solche Randbedngung st der vorgegebene Totaldruck am Rechengebetsentrtt, der mplzt sowohl den statschen Druck als auch de Geschwndgketen vorgbt.

84 70 En anderer wchtger Grund de Klassenherarchen der Randbedngungen drekt au de Glechungsklassen zu bezehen, besteht darn, Systeme aus mehreren Glechungen n enem Objekt zusammengeasst betrachten zu können. En Bespel herür st de enge Koppelung zwschen Impulsglechungen und Massenerhaltung, de n Abhänggket dskretsert und gelöst werden können, sehe ZWART [108]. In desem Fall st de Formulerung der Randbedngungen bezogen au das Gesamtsystem wesentlch bequemer, als ür jede Lösungsvarable enzeln. Bld 4-4: De Equaton-Klasse als Bass ür de Glechungsdskretserung; De Scope-Klassen mplementeren verschedene Randbedngungen; De Equaton-Klasse und de Scope-Klassen blden ene duale Vererbungsherarche mt der Polymesh-Klasse und den PolySlce-Klassen Berechnungsschemata Deser Abschntt stellt den Entwur der Dskretserungsschemata des CFD-Tools vor. De Klassen übernehmen de korrekte Dskretserung der Terme n den Derentalglechungen, dabe snd verschedene Versonen ür vektorelle und skalare Terme vorgesehen. Es gbt Schemata zur Gradentenberechnung, sowe Konvektons-, Dusons-, Massenstrom- und Zetschemata. De unterschedlchen Randbedngungen werden, we zuvor be der Berechung der Geometrevarablen, über entsprechende Member- Funktonen berückschtgt. De Gradentenschemata bestzen de Funktonen on_nternal(), on_nterace() und on_boundary(), de Dusons-, Konvektons- und Massenstromschemata dagegen on_nternal(), on_nterace() sowe on_x_grad() bzw. on_x_value() ür de ent-

85 71 sprechenden Randbedngungen. Für de Zetschemata gbt es explzte und mplzte Implementerungen. Se bestzen darüber hnaus ledglch de Funkton on_nternal() zur Dskretserung. Bld 4-5 zegt exemplarsch de statsche Klassenherarche ür de skalaren Konvektonsschemata, de zur lexblen Auswahl weder als Zegerklassen konzpert snd. Um de Dskretserungsschemata von den renen Berechnungsschemata aus Kaptel 4.1.3, abzugrenzen snd dese m Namensraum Impl:: bzw. Expl:: angesedelt. Base namespace Impl Impl::ScaConvScheme +on_nternal(en slce : InternalPolySlce*) +on_nterace(en slce : PolyInteraceSlce*) +on_x_grad(en slce : PolyBoundarySlce*) +on_x_value(en slce : PolyBoundarySlce*)... Impl::ScaConvSchemeUDS Impl::ScaConvSchemeMINMOD Impl::ScaConvSchemeCDS Bld 4-5: De Klassenherarche der skalaren Konvektonsschemata als Bespel ür das Desgn der Dskretserungsschemata; De Konvektonsschemata unterscheden nach Feldnnerem, Interaces, von Neumann- und Drchlet-Randbedngungen Bld 4-6: Denton enger häug ür de Dskretserung benötgter geometrscher Größen De olgenden Abschntte beschätgen sch mt der Berechnung der Gradenten, sowe der Dskretserung der enzelnen Terme am Bespel der skalaren Transportglechung (1.9). Daür werden zunächst enge wchtge geometrsche Größen denert, sehe Bld 4-6. s, bezechnet den Zellverbndungsvektor zwschen der Master-Zelle m und der Slave-Zelle s. Ist deser Vektor normert, dann st er als ~ s, dargestellt. n, st der Nor-

86 72 malenenhetsvektor an der Zellläche, sehe auch Kaptel Der Verbndungsvektor zwschen Zellmttelpunkt x, m und Flächenmttelpunkt x, schleßlch wrd als r, bezechnet. Gradentenberechnung Be der Dskretserung snd de Gradenten der n den Zellen gespecherten Lösungsvarablen erorderlch. Dese können m CFD-Tool au zwe unterschedlche Arten berechnet werden. Mt dem Gaußschen Integralsatz und der Approxmaton der Oberlächen- und Volumenntegrale lässt sch ene Bezehung zwschen dem Gradent der skalaren Varable φ m Zellmttelpunkt und hren Werten an den Flächenmttelpunkten enes KV herstellen: φ x c s φ n, c Ω c S ( λ ) φ m, (4.13) φ = λ φ + 1. (4.14) Glechung (4.14) stellt herbe ene lneare Interpolaton der Varablenwerte φ m der Master- und φ s der Slave-Zelle an de KV-Fläche mthle des Interpolatonsaktors λ, sehe Glechung (4.8), dar. In den Anwendungsbespelen deser Arbet wurde ausschleßlch de Gaußsche Methode zur Gradentenberechnung herangezogen. Bem Least-Squares-Ansatz wrd der Gradent als Mnmerungsproblem augeasst und nach olgendem Prnzp gelöst: φ x c c s 1 2, G j, m s, ( φ φ ) s m, (4.15) wobe der Zellverbndungsvektor s, nach Glechung (4.10), und der Hlstensor G j, m nach Glechung (4.11) berechnet werden. De beden Berechnungsmethoden legen m CFD-Tool sowohl n ener skalaren als auch n ener vektorellen Form vor, de darüber hnaus zur Stablserung der Dskretserung unterrelaxert werden können. De Relaxaton erolgt nach olgender Vorschrt, wobe mt old de letztbekannten Werte und mt new de neu berechneten Werte gekennzechnet werden: φ x c g φ = ω x new c g ( ω ) old φ x + 1. (4.16) c g Der Relaxatonsaktor ω legt normalerwese be etwa 0.8.

87 73 Konvektve Flüsse Der konvektve Fluss c F n Glechung (1.9) über de KV-Fläche lautet: F c ( m& m& w ) φ =, (4.17) wobe de Derenz m & m& w den relatven Massenstrom durch de KV-Oberläche darstellt. Deser wrd als bekannt angenommen und aus dem momentanen Geschwndgketseld berechnet. Zur Dskretserung der konvektven Flüsse muss nun de Zellvarable φ von der Master-Zelle m und der Slave-Zelle s an de KV-Flächen nterpolert werden. De Genaugket der gewählten Interpolatonsvorschrt steht dabe m Gegensatz zur resulterenden Stabltät des numerschen Verahrens, sehe PATANKAR [66]. Im Folgenden werden enge Interpolatonsverahren, de m CFD-Tool verügbar snd, vorgestellt. Zur überschtlchen und dmensonslosen Darstellung wrd de Normalzed- Varable-Formulaton (NVF) nach LEONARD und MOKHTARI [52] herangezogen. Dese beruht au ener lokal endmensonalen Betrachtung des konvektven Flusses. Mt dem Wert φ U der stromau legenden Zelle U und dem Wert φd der stromab legenden Zelle D kann de Varable φ zunächst n ene dmensonslose Darstellung gebracht werden: ~ φ φ φ φ φ U = = 1 D U φd φ. (4.18) φ φ D U Im Gegensatz zu strukturerten Netzen st es be allgemen unstrukturerten Netzen ncht möglch den Wert φ U der stromau legenden Zelle U drekt anzugeben. Um desen Konlkt auzulösen, wrd ene Formulerung nach JASAK et. al [41] verwendet, be der de Derenz φd φu durch den Gradenten von φ der zentralen Zelle C ausgedrückt wrd: φ φ D φu = 2 ( x, D x, C ) x. (4.19) C Der Verbndungsvektor x, D x, C der Zellmttelpunkte der stromab legenden und der zentralen Zelle entsprcht dabe der Denton von s aus Bld 4-6. Durch Ensetzen von Glechung (4.19) n Glechung (4.18) ergbt sch ür de dmensonslose Varable ~ φ : ~ φ φ = 1 φ 2, D x D φ. C ( x x ), C (4.20)

88 74 Glechung (4.20) benötgt den stromau legenden Wert φ U ncht mehr und kann deshalb problemlos auch m unstrukturerten Fall verwendet werden. Welche der beden an de jewelge Zellläche grenzenden Zellen als zentrale bzw. stromab legende Zelle gewertet wrd, st abhängg vom lokalen Massenstrom m & m&. Insgesamt ergbt sch: w φ φ C C = φ ; m = φ ; s φ = φ ; D D s φ = φ ; m x x, D, D x x, C, C = s ; = s ; λ = λ = λ ; ( m& m& ) 0 ( 1 λ ); ( m& m& ) < 0 w w, (4.21) wobe m weder de Master-Zelle und s de Slave-Zelle bezechnet. In Glechung (4.21) st außerdem der allgemene Interpolatonsaktor λ mt angegeben, der aus dem Zelllächennterpolatonsaktor λ, sehe Glechung (4.8), ebenalls n Abhänggket vom lokalen Massenstrom w m & m& berechnet werden kann. De enachste Interpolatonsvorschrt zur Dskretserung der konvektven Flüsse st de Stromau-Interpolaton bzw. das Upwnd-Derencng-Scheme (UDS). De Interpolatonsvorschrt nmmt als Zelllächenwert ~ φ enach den Wert ~ φ C der stromau legenden Zelle an: ~ ~ φ = φ C. (4.22) Das UDS st unengeschränkt stabl, aber ledglch erster Ordnung genau. Der entstehende Dskretserungsehler wrkt be Strömungssmulaton we ene schenbar erhöhte physkalsche Duson, sehe zum Bespel JUSUF [43]. Trotz deses Nachtels wrd das UDS wegen sener hohen Stabltät aber häug zusammen mt hochaulösenden Interpolatonsschemata engesetzt. Dabe wrd das UDS mplzten berückschtgt, und das hochaulösende Schema über enen Korrekturterm explzt nachgezogen. De Methode wurde erstmals von KHOSLA und RUBIN [45] vorgeschlagen. Für den Zelllächenwert φ ergbt sch: φ UDS mpl HOS UDS ( φ ) + β ( φ φ ) expl =, (4.23) HOS wobe β als Blendng-Faktor mt 0 β 1 ungert. φ dent als Platzhalter ür das hochaulösende Dskretserungsschema (Hgh-Order-Scheme). Das Central-Derencng-Scheme (CDS) st ene Interpolatonsvorschrt, de zweter Ordnung genau st. In der dmensonslosen Darstellung der NVF lautet se: ~ ~ φ = λ +. (4.24) ( 1 λ) φ C

89 75 Nachtelg am CDS st, dass es m Gegensatz zum UDS ncht unengeschränkt stabl st und oszllerende Lösungen erzeugen kann, sehe PATANKAR [66]. Im CFD-Tool st das CDS über de nachgezogene Korrektur nach Glechung (4.23) mplementert De stable und glechzetg zwete Ordnung genaue Approxmaton der konvektven Flüsse st en undamentales Problem n der Numerk. Hochaulösende lmterende Verahren zelen darau ab, ene stable Dskretserung höherer Ordnung beretzustellen. Se stellen ene Kombnaton verschedener Bassverahren dar, sehe SKODA [86]. Im Rahmen deser Arbet werden das OSHER-Schema nach CHAKRA-VARTHY und OSHER [14], sowe das MINMOD-Schema (MINmum MODulus) nach HARTEN [36] verwendet. De Interpolatonsvorschrt ür das OSHER-Schema lautet n der NVF: ~ ~ 1 ( λ + 1) φc 0 φc ( λ + 1) ~ 1 ~ φ = 1 φc 1. (4.25) ( λ + 1) ~ φc sonst Mt dem MINMOD-Schema ergbt sch n der NVF ür de Varable ~ φ : ~ ~ 1 ( λ + 1) φc 0 φc 2 ~ ~ 1 ~ φ = λ + ( 1 λ) φc φc 1. (4.26) ~ 2 φc sonst Bld 4-7 zegt das Normalzed-Varable-Dagramm (NVD) ür das UDS, das CDS, das OSHER- sowe das MINMOD-Schema. Das ausgegraute Dreeck sowe de Dagonale des UDS spannen zusammen den stablen Berech au. Sowohl das OSHER- als auch das MINMOD-Schema verlassen desen Berech ncht. Nur das CDS kann Instabltäten erzeugen. Bld 4-7 macht zudem deutlch, we stark der Verlau der Kurven bem CDS, bem OSHER- und bem MINMOD-Schema von der Inhomogentät des Rechennetzes ( λ < 0, 5 oder λ > 0, 5 ) abhängt. Unabhängg davon snd de dre letztgenannten Verahren allesamt zweter Ordnung genau.

90 76 ~ φ 1,2 1 UDS ~ φ 1,2 1 CDS 0,8 0,8 0,6 0,6 0,4 0,2 UDS 0,4 0,2 CDS λ = 0,25 CDS λ = 0.5 CDS λ = 0,75 0-0,2 0 0,2 0,4 0,6 0,8 1 1,2-0,2 ~ φ C c 0-0,2 0 0,2 0,4 0,6 0,8 1 1,2-0,2 ~ φ C c 8 ~ φ 1,2 1 MINMOD ~ φ 1,2 1 OSHER 0,8 0,8 0,6 0,6 0,4 0,2 MIN λ = 0,25 MIN λ = 0.5 MIN λ = 0,75 0,4 0,2 OSH λ = 0,25 OSH λ = 0.5 OSH λ = 0,75 0-0,2 0 0,2 0,4 0,6 0,8 1 1,2-0,2 ~ φ C 8 c 0-0,2 0 0,2 0,4 0,6 0,8 1 1,2-0,2 ~ φ C c Bld 4-7: Dskredserungsschemata der konvektven Flüsse m NVD; De Verläue der Kurven ergeben sch durch varerende Werte des Interpolatonsaktors λ; Für homogene Rechennetze glt λ = 0,5 Dusve Flüsse Au de lnke Sete gebracht lautet der dusve Fluss Fläche : F d φ = Γ n x S d F n Glechung (1.9) über de KV-. (4.27) Der Gradent von φ n der Master-Zelle m bzw. der Slave-Zelle s lässt sch über den Gauss-Ansatz nach Glechung (4.13) oder den Least-Squares-Ansatz nach Glechung (4.15) berechnen und anschleßend mt der lnearen Interpolaton nach Glechung (4.14) an de Zellläche nterpoleren. De mplzte Verarbetung der entstehenden Terme

91 77 würde aber ncht nur de unmttelbaren, sondern auch de nächst weter enternten Nachbarzellen des KV betreen. Des würde zu großen Rechenmolekülen ühren, de m CFD-Tool so ncht vorgesehen snd. MUZAFERIJA [61] schlägt vor, statt der Ortsabletung von φ n Normalenrchtung de Änderung n Zellverbndungsrchtung zu verwenden: φ φ n ~ s x x φs φm =, (4.28) s wobe s~ der normerte Zellverbndungsvektor s st. Für weng gescherte KV glt n ~ s, vergleche Bld 4-6. Der Term n Glechung (4.28) kann lecht mplzt dskretsert werden. Da neben der Master-Zelle m ledglch de Slave-Zellen s als unmttelbarer Nachbar betroen st, bleben de resulterenden Rechenmoleküle klen. De Abwechung deser Approxmaton kann zusätzlch über ene explzte Nachkorrektur kompensert werden: F d φ = Γ ~ φ s + ~ x x ( n s ) S. (4.29) Der überstrchene Term n Glechung (4.29) bezechnet den lnear nach Glechung (4.14) an de Zellläche nterpolerten Gradenten von φ, der explzt n der Dskretserung behandelt wrd. Mt der Approxmaton aus Glechung (4.28) ergbt sch dann ür de dusven Flüsse: F d s = Γ s ( φ φ ) m mpl φ + x expl ( n s ) S ~. (4.30) ZWART [108] schlägt ene lecht modzerte Varante von Glechung (4.30) vor: mt F d = Γ ( φ φ ) mpl φ x exp l ( n α ~ s ) S s m α + (4.31) s 1 α = n s ~. (4.32) Hern st α en zusätzlcher Skalerungsaktor. Fällt de Rchtung von n mt der Rchtung von s~ zusammen so glt α = 1, andernalls verstärkt der Faktor den mplzt verar-

92 78 beteten Term n Glechung (4.31). Für stark verzerrte Netze ührt ZWART [108] zusätzlch den Faktor ω en. De dusven Flüsse schreben sch dann d olgendermaßen: F d = Γ ( φ φ ) s s m 1 α α + d ω mpl φ + x ( n αs ) ~ ( φ φ ) s s m 1 α d ω exp l S. (4.33) d ω hat dabe typscherwese enen Wert von 0.8. Bede Dskretserungsmethoden ür de konvektven Flüsse snd als Schemataklassen m CFD-Tool hnterlegt. De Ergebnsse m Anwendungstel wurden dabe ausschleßlch nach der Methodk aus Glechung (4.30) erzelt. Im Falle ener vektorellen Größe st der dusve Fluss umangrecher als ür ene skalare Größe. Im Falle der Impulsglechungen lautet der dusve Fluss mt dem Newtonschen Stogesetz ür den vskosen Spannungstensor bespelswese: F u u u, d j k, = µ n j + n j S µ j n j S x j x δ x. (4.34) 3 k 2 u Der erste Term n Glechung (4.34) entsprcht dem skalaren Term aus Glechung (4.27). Deshalb wrd er analog dazu dskretsert. De beden restlchen Terme werden explzt mt den an de Zelllächen nterpolerten Gradenten der Geschwndgketen berechnet. Im CFD-Tool st der dusve Fluss ür de Impulsglechungen als egenes Dskretserungsschema hnterlegt. Instatonärer Term Der Term ür de Zetabletung aus Glechung (1.9) gbt de zetlche Entwcklung der skalaren Größe φ weder und wrd als Volumenntegral behandelt. Für de Zetabletung selbst stehen verschedene mplzte und explzte Schemataklassen zur Verügung. Bespelhat sollen an deser Stelle de Euler-Dskretserung: d n ( ρφω) ( ρφω) ( ρφω) dt c = c t o c, (4.35) sowe de Dre-Zetebenen-Methode, sehe SKODA [86]: d n o ( ρφω) ( 3ρφΩ) ( 4ρφΩ) + ( ρφω) dt c = c 2 t c oo c (4.36)

93 79 genannt werden. In Glechung (4.35) und (4.36) steht n ür den aktuellen Zetschrtt, wohngegen o enen und oo zwe Zetschrtte davor bezechnet. De Euler-Dskretserung st ledglch erster Ordnung genau, wohngegen de Dre-Zetebenen-Methode ene Genaugket zweter Ordnung auwest. Nachtelg dabe st allerdngs, dass de Methode Werte von φ ür de letzten beden Zetschrtte benötgt. De Dre-Zetebenen-Methode st als ren mplztes Zetschrttverahren mplementert. De Euler-Methode steht als mplztes sowe explztes Verahren zur Verügung. Im explzten Fall müssen de restlchen Terme von Glechung (1.9) zusätzlch mt Werten von φ berechnet werden. Das o explzte Schema benutzt herür enach das durch de Dskretserung der übrgen Terme o entstandene LGS und wertet es ür φ aus. Massenströme Für de Auswertung der konvektven Terme n Glechung (1.9) wrd der Massenstrom m& an den Zelllächen benötgt. Im CFD-Tool st der Massenstrom drekt als Flächenvarable vorgesehen. Er kann aus den Zellwerten der Master-Zelle m und der Slave-Zelle s olgendermaßen berechnet werden: mt u & = ρ u + rj n S x (4.37) j m r x, x, c =. (4.38) De überstrchenen Terme bezechnen dabe ene lneare Interpolaton entsprechend Glechung (4.14). r stellt her den Verbndungsvektor zwschen dem Flächenmttelpunkt x, und dem Integratonspunkt x, c der Lnearkombnatonen aus m KV des numerschen Netzes weng geschert, verschwndet x, c. x, und x, s dar. Snd de Quellterme De Quellterme werden als Volumenntegrale behandelt und können durch Iteraton über alle KV des numerschen Netzes sehr enach bestmmt werden. Da de Quellterme der enzelnen Glechungen sch n der Regel stark unterscheden, sehe bespelswese de Terme au der rechten Sete der turbulenten Glechungen n Kaptel 5.1.2, st ür se ken egener Klassenentwur als Dskretserungsschema vorgesehen.

94 Löser ür lneare Glechungssysteme Be der mplzten Dskretserung entsteht ür de enzelnen partellen Derentalglechungen jewels en LGS, das de algebraschen Blanzglechungen ür jedes KV m Lösungsgebet enthält. De enzelnen Glechungen haben de Form: + φ Pφ P anb NB bp. (4.39) NB a = De Matrxenträge a P der Hauptdagonalen und a NB der Nachbarn benhalten dabe de be der Dskretserung mplzt behandelten Terme, wohngegen de rechte Sete b P de explzt behandelten Terme, de nachgezogenen Korrekturen sowe de Beträge der Randbedngungen enthält. Zur Stablserung von Glechung (4.39) muss dese n mehreren Schrtten gelöst werden. In jedem Schrtt wrd mmer nur en Bruchtel der jewelgen Lösung verwendet. Dese Methodk stellt kenen zusätzlchen zetlchen Nachtel dar, da das mathematsche Modell ludmechanscher Problemstellungen aus mehreren vonenander abhänggen Glechungen besteht, de m Allgemenen ohnehn n ener Iteratonsschlee sequentell hnterenander gelöst werden, sehe Kaptel 4.4. Mt dem Unterrelaxatonsaktor ω stellt sch olgender unktonaler Zusammenhang ür de Varable φ φ zum Iteratonsschrtt n en: φ n P = φ + ω n n ( φ φ ) n 1 φ 1 P P P, (4.40) wobe φ de egentlche Lösung des LGS bezechnet. De Bezehung aus Glechung (4.40) kann n Glechung (4.39) engearbetet werden. Insgesamt ergbt sch dann ür das zu lösende LGS: a 1 φ. φ P n n 1 ω n φp + anbφnb = bp + apφ φ P { ω NB 144ω a P b P (4.41) Glechung (4.41) west gegenüber Glechung (4.39) ene erhöhte Dagonaldomnanz au. Darn legt de stablserende Wrkung deser Methodk begründet. Zur Lösung des LGS (4.41) gret das CFD-Tool au ene Programmbblothek zurück, de von FLURL [24] entwckelt worden st. Se enthält mt den beden vorkondtonerten Krylov-Unterraum-Verahren BCGstab nach VAN DER VORST [96] und BCGstab(l) nach SLEIJPEN et al. [87], sowe der ILU-D und enem algebraschen Mehrgtterverahren nach RAW [68] verschedene hochezente teratve Lösungsalgorthmen. Zur Bewertung der Güte der Lösung zum Iteratonsschrtt n wrd das Resduum herangezogen. Dese Größe beschrebt das Unglechgewcht zwschen rechter und lnker Sete des LGS und st we olgt denert:

95 81 r n P = b P a + a n n Pφ P NBφNB. (4.42) NB r P st ene Feldvarable. Zur enacheren Beurtelung wrd se betragswese ausgewertet. De m CFD-Tool verwendete P2- oder Eukldsche Norm lautet: n ( ) P n r P = r 2 P 2. (4.43) 4.4 Programmablausteuerung De Programmablausteuerung enes CFD-Codes st eng mt der gewählten Zetdskretserung verknüpt. Es lassen sch dre grundlegende Strategen auzählen. Im Enzelnen st das der statonär-mplzte, der nstatonär-mplzte und der nstatonär-explzte Ansatz. Be der statonär-mplzten Smulaton werden de Glechungen des mathematschen Modells n ener nchtlnearen Iteratonsschlee so lange sequentell gelöst, bs das gewünschte Konvergenzkrterum ür alle Glechungen erüllt st. De nchtlnearen Iteratonen werden auch als äußere Iteratonen bezechnet, um se von den nneren Iteratonen zur Lösung der mplzt dskretserten Glechungssysteme zu unterscheden. Für de nstatonär-mplzte Smulaton muss zusätzlch um de äußere Iteratonsschlee noch ene Zetschlee gepackt werden. De Zetschlee terert mt der engestellten Zetschrttwete so lange bs de gewünschte Anzahl an Zetschrtten errecht st. Instatonär-explzte Verahren bestzen ebenalls ene Zetschlee, benötgen aber nnerhalb deser kene zusätzlche Iteratonsschlee mehr, da ür de Berechnung des mathematschen Modells zum aktuellen Zetpunkt nur en enzger Durchgang über de explzt dskretserten Glechungen nötg st. Base Algorthm -m_mesh : PolyMesh* -m_equatons : Equaton** +run() +add_equaton(en new_equaton : Equaton*) +remove_equaton(en/aus old_equaton : Equaton*) +remove_all_equatons() +get_mesh() : PolyMesh* +set_mesh(en new_mesh : PolyMesh*) IteratonLoop ImplSteadyLoop ImplUnsteadyLoop ExplUnsteadyLoop Bld 4-8: Klassenentwur der Steueralgorthmen ür de Iteratonsschleen m CFD-Tool; Zu unterscheden st de mplzt-statonäre, de mplzt-nstatonäre und de explzt-nstatonäre Schlee

96 82 Bld 4-9: Flussdagramme der unterschedlchen Steueralgorthmen zur Implementerung von mplzt statonären, mplzt nstatonären und explzt nstatonären Verahren

97 83 Obwohl dese dre Strategen au den ersten Blck relatv enach zu überblcken schenen, ergeben sch dennoch komplexe Programmabläue, wenn zusätzlche Steuerparameter berückschtgt werden. Vor allem de mplzten Verahren wesen her schnell ene ganze Kaskade von Abragen au, da bespelswese snnvoll st ür de äußere Iteratonsanzahl sowohl en Mnmum als auch en Maxmum vorzugeben oder en Backup-Intervall enzuühren. De Berückschtgung der Besonderheten der enzelnen Verahren n enem Gesamtalgorthmus st zwar möglch, ührt aber zu extrem unüberschtlchen und schwer wartbaren Code. Im CFD-Tool werden deshalb Algorthmenobjekte engeührt, de de dre Strategen getrennt umsetzen und den Programmablau jewels passend steuern. Bld 4-8 zegt den entsprechenden Klassenentwur der Bassklasse Algorthm, von der de enzelnen Iteratonsschleen abgeletet werden. Zum Lösen der Glechungen müssen de Algorthmenobjekte natürlch de enzelnen Glechungen sowe das numersche Netz kennen. Über entsprechende Zugrsunktonen können deshalb de Glechungen und das Netz geladen werden. Über de Memberunkton run() wrd danach de Ablausteuerung gestartet. Bld 4-9 zegt de Ablaudagramme der dre m CFD-Tool mplementerten Algorthmen ür statonär-mplzte, nstatonär-mplzte und nstatonär-explzte Smulatonen. De Iteratonen über de enzelnen Glechungen sowe de nneren Iteratonen der mplzten Verahren snd ncht konkret ausmodellert. Se snd n der Akton Berechnung der Glechungen! zusammengeasst.

98 84 5 Valderung am konkreten Anwendungsall De n den vorhergehenden Kapteln entwckelten Konzepte und umgesetzten Klassenentwüre werden nun valdert. Dazu dent der klasssche Modellentwcklungsprozeß, der n Kaptel 2.3 dskutert wurde. Der Prozeß beschrebt n ausrechender Wese de Anorderungen, de de enzelnen Anwendergruppen an de CFD-Sotware stellen. Als konkretes und anspruchsvolles Bespel wrd de Smulaton der kavterenden Strömung n hydraulschen Maschnen ausgewählt. Zunächst erolgt n Analoge zum beschrebenen Modellentwcklungsprozeß de Denton des physkalschen Modells. Danach schleßt sch de Implementerung der Glechungen mt den herür entwckelten Dskretserungswerkzeugen an. Der letzte Tel des Kaptels zegt schleßlch an zwe ausgesuchten Teställen de mt der verwendeten Modellerung erzelbaren Ergebnsse. 5.1 Modellbldung Hydrodynamsches System De rebungsbehatete Strömung enes nkompressblen Newtonschen Fluds wrd durch das Geschwndgketseld u sowe das statsche Druckeld p denert. Für deren Berechnung stehen de Massenerhaltung nach Glechung (5.1) und de Impulserhaltung nach Glechung (5.2) zur Verügung: ( ρu ) ρ + t x ( ρu ) ( ρuu j ) t + x j j j = 0, (5.1) p = x τ j +. (5.2) x j Der vskose Spannungstensor τ j kann mt Hle des Newtonschen Stogesetzes we olgt modellert werden: τ j u = µ x j u j + x 2 δ j 3 u x k k. (5.3) In Glechung (5.3) bezechnet j δ das Kronecker Symbol. Für nkompressble Strömungen stellen de Dchte ρ und de dynamsche Vskostät µ Stokonstanten dar, wodurch sch n den Glechungen (5.1)-(5.3) zunächst enge Verenachungen ergeben würden. Be der Modellerung kavterender Strömungen glt des allerdngs ncht mehr. In der vorlegenden Arbet wrd de Implementerung enes Kavtatonsmodells demonstrert, das au der homogenen Mschungshypothese beruht. De Strömung wrd dabe als künstlches Mschlud modellert, dessen Enzelphasen zwar als nkompressbel betrachtet werden, dessen Stowerte sch aber aus der lokalen Zusammensetzung der Enzelphasen ergeben.

99 85 De Glechungen (5.1)-(5.3) können somt ncht weter verenacht werden und stellen de Bass ür de Modellerung des hydrodynamschen Systems dar. Da de nkompressble Strömung ledglch en Spezalall der allgemenen Naver-Stokes Glechungen st, gelten obge Glechungen natürlch auch ür de Modellerung der kavtatonsreen nkompressblen Strömung. Mttelung der Grundglechungen De drekte Lösung des hydrodynamschen Systems bedeutet m Falle der turbulenten Strömung n Turbomaschnen enen Rechenauwand, der bs n de nahe Zukunt ncht realserbar sen wrd. De statstsche Auswrkung der Turbulenz au de Strömung kann aber mt den Reynolds-gemttelten Naver-Stokes Glechungen (RANS) modellert werden. Daür müssen de lokal an enem Ort vorherschenden Strömungsgrößen zunächst n den zetlchen Mttelwert φ und den Schwankungsantel φ augetelt werden, sehe REY- NOLDS [70]. Deses Vorgehen st sowohl ür statonäre we auch ür nstatonäre Probleme zulässg, solange de globale zetlche Änderung der Strömung wesentlch langsamer als de der turbulenten Schwankungen verläut. Der Reynoldssche Separatonsansatz laut: ( x, t) φ ( x, t) + φ ( x t) φ =, (5.4), wobe de zetlch gemttelte Größe φ denert st als: φ t+ t, 1 = t. (5.5) ( x, t) φ( x t)dt t De Integratonszet t n Glechung (5.5) st dabe so zu wählen, dass se klen gegenüber der globalen zetlchen Änderung, aber hnrechend groß gegenüber den turbulenten Fluktuatonen st. Aus Glechung (5.4) ergbt sch außerdem, dass der Schwankungswert be abermalger Mttelung verschwndet, also φ = 0. Der Separatonsansatz wrd nun au de Erhaltungsglechungen (5.1)-(5.3) angewendet. Da sch de Gemschdchte der kavterenden Strömung aus den beden nkompressblen Enzelphasen zusammensetzt, Kaptel 5.1.3, wrd vorausgesetzt, dass dese kenen turbulenten Schwankungen unterlegt und deshalb ncht n Schwankungs- und Mttelwert separert werden muss. De anschleßende Mttelung der Erhaltungsglechungen ergbt de Reynolds-gemttelten Glechungen, de sowohl ür das nkompressble Newtonsche Renals auch das kavterende Mschlud gelten: ρ + t ( ρu ) x j j = 0, (5.6)

100 86 ( ρu ) ( ρuu j ) t + x j p = x + x j u µ x j u j + x 2 δ j 3 u x k k ρ u u j. (5.7) De Glechungen beschreben m Gegensatz zu den orgnären Erhaltungsglechungen den Transport der zetlch gemttelten Größen p und u. Se enthalten zusätzlch den sogenannten Reynolds-Spannungstensor ρ u u j, der aus der Mttelung der konvektven Terme herrührt, sehe WILCOX [103]. Da de Komponenten des Reynolds-Spannungstensors a pror unbekannt snd, st das Glechungssystem nun unterbestmmt. De Bestmmung von ρ u u j st Augabe der Turbulenzmodellerung, sehe Kaptel Turbulenzmodellerung Um das gemttelte Glechungssystem weder zu schlessen, müssen de enzelnen Komponenten des Reynolds-Spannungstensors bestmmt bzw. modellert werden. Dabe st darau zu achten, dass de grundlegende Physk der turbulenten Strömung möglchst gut erhalten blebt. De herür verwendeten Turbulenzmodelle lassen sch nach der jewelgen Modellerung des Reynolds-Spannungstensors n zwe Hauptgruppen augledern, vergleche SCHUSTER [85]. Be den Reynolds-Spannungsmodellen (RSM) werden de Korrelatonen des Reynolds-Spannungstensors entweder drekt durch Transportglechungen (derentelle RSM) oder mttels algebrascher Ausdrücke (algebrasche RSM) bestmmt. Be den Wrbelvskostätsmodellen wrd der Reynolds-Spannungstensor über de Wrbelvskostätsannahme nach BOUSSINESQ [13] durch de mttleren Strömungsgrößen ausgedrückt: mt ρ 2 u 2 (5.8) HOT k u u j = µ T Sj δj µ T + ρk u u j x + ρ 3 k k = 1 u u. (5.9) 2 k beschrebt de turbulente knetsche Energe und µ de turbulente Vskostät. De n Glechung (5.8) autretenden Terme höherer Ordnung ρu u j benhalten quadratsche und kubsche Approxmatonen des Reynolds-Spannungstensors n Abhänggket des Deormatonstensors S (5.10) und des Rotatonstensors Ω (5.11). Dese Terme snd m j orgnären Boussnesq-Ansatz glech Null. S j und Ω j deneren sch olgendermaßen: T j HOT S j 1 u = 2 x j u j + x, (5.10)

101 87 = Ω j j j x u x u 2 1. (5.11) Das Schleßungsproblem verlagert sch nun au de Bestmmung der turbulenten knetschen Energe k und der turbulenten Vskostät T µ. Im Rahmen deser Arbet wrd de turbulente kavterenden Strömung mt dem Standard-k-ε-Modell und dem nchtlnearen LCL-Modells smulert. Standard-k-ε-Modell Enes der am häugsten verwendeten Turbulenzmodelle st das Standard-k-ε-Modell von LAUNDER und SPALDING [50]. Es beschrebt de turbulente Vskostät durch: ε µ µ ρ µ 2 k C T = (5.12) mt dem Proportonaltätsaktor µ C, der Dämpungsunkton µ, sowe der Dsspatonsrate ε. Das Modell bestzt zwe Transportglechungen ür k undε : ( ) ( ) ρε σ µ µ ρ ρ + + = + k j k T j j j P x k x x k u t k, (5.13) ( ) ( ) k C k P C x x x u t k j T j j j ε ρ ε ε σ µ µ ε ρ ρε ε ε ε + + = +, (5.14) wobe de Produktonsrate der turbulenten knetschen Energe gegeben st durch: j j T j j k S S x u u u P µ ρ 2 = =. (5.15) De Transportglechung ür ε st laut FERZIGER und PERIĆ [23] als Modellglechung anzusehen. Das Standard-k-ε-Modell st nur ür hohe Reynoldszahlen gültg. De Konstanten des Modells snd m Anhang zu nden.

102 88 Nchtlneares Low-Reynolds k-ε-modell (LCL) Das nchtlnearen Low-Reynolds k-ε-modell nach LIEN et al. [53] berückschtgt m Gegensatz zum Standard-k-ε-Modell de Ansotrope der Turbulenz. De n Glechung werden bem LCL-Modell olgen- (5.8) autretenden Terme höherer Ordnung dermaßen entwckelt: ρu u j HOT ρu u j HOT = 4C + 4C + 8C + 8C µ T k S ε µ T k Ω ε µ k 2 T 2 ε µ k 2 T 2 ε S j k k S S Ω kl kj jk ΩlΩ S lm lk Ω 3 S mj S kl + 8C S kl 7 lk Ω l δ j kl + S Ω lm µ k + j 2 T 2 ε δ Ω S 4C + mj j 2 8C Ω kl µ T k ε Ω µ k S kl. ( Ω S + Ω S ) 2 T 2 ε lm Ω k ( S Ω + S Ω ) mn Ω kj k nl lj δ j jk kj k l S kl (5.16) De entsprechenden Konstanten des LCL-Modells snd m Anhang zu nden. Wandbehandlung De vollentwckelte turbulente Grenzschcht an ener Wand lässt sch untergledern n ene vskose Unterschcht, den logarthmschen Berech und ene turbulente Kernströmung. Be Turbulenzmodellen, de bs n de vskose Unterschcht ntegrert werden, st ür de + wandnächste Zelle en dmensonsloser Wandabstand y = O(1) enzuhalten. Das dmensonslose Geschwndgketsprol west bs etwa y < 5 enen lnearen Verlau au, d.h. + u + = y +. Be großen Reynolds-Zahlen st de vskose Unterschcht allerdngs sehr dünn und nur mt erheblchem Vernetzungsauwand auzulösen. Be Verwendung enes Turbulenzmodells mt Wandunkton müssen de Mttelpunkte der wandnächsten KV erst m logarthschen Berech der Grenzschcht legen, wo das dmensonslose Geschwndgketsprol u dem logarthmschen Wandgesetz olgt. Deses lautet ür hydraulsch glatte + Wände: u = ln y (5.17) De dmensonslosen Größen y und + u snd we olgt denert: + y = yu t ν, u + u = t u τ, τw u τ =, (5.18) ρ

103 89 wobe u t de wandtangentale Geschwndgket, u τ de Schubspannungsgeschwndgket und y den Wandabstand des wandnächsten Rechenpunktes bezechnen. De Strömung bendet sch n der logarthmschen Schcht nach DURBIN und PETTERSSON REIF [21] n enem lokalen Glechgewcht zwschen turbulenter Produktonsrate P k und Dsspaton ε, wodurch glt: u 4 = 1 τ Cµ k. (5.19) Für de Dsspaton n den wandnächsten Rechenpunkten ergbt sch schleßlch olgender Zusammenhang: Cµ k ε =. (5.20) 0.41 y Der logarthmsche Berech erstreckt sch etwa zwschen 30 < y + < 500. Der dmensonslose Wandabstand st Tel des Smulatonsergebnsses und muss nach jeder Rechnung überprüt werden Kavtatonsmodellerung We berets n Kaptel angedeutet, wrd de Zwephasenströmung durch de homogene Mschungshypothese modellert. De Stoegenschaten des künstlchen Fluds werden dabe über de Dampvolumenrakton α, de das Verhältns des Dampvolumens Ω v zum Gesamtvolumen Ω ener Zelle beschrebt, berechnet, sehe FROBENIUS [30]: mt ρ = α ρ + ( 1 α ), (5.21) v ρ l µ = α µ + ( 1 α ) (5.22) Ω = Ω v µ l Ω = Ω + Ω v v α. (5.23) v l De tegestellten Zechen v bzw. l bezechnen jewels de pure Damp- bzw. Flüssgphase des Mschluds. De Dampvolumenrakton α aus Glechung (5.22) kann Werte 0 α 1 annehmen, wobe α = 0 de rene Flüssgket und α = 1 den renen Damp beschrebt. Glechung (5.21) olgt drekt aus der Massenerhaltung. Glechung (5.22) stellt ene Annahme dar. Dabe wrd enach davon ausgegangen, dass de dynamsche Vskostät des künstlchen Mschluds lnear proportonal zu sener Gemschdchte st. De Modellerung des Strömungsproblems mt den grundlegenden Erhaltungsglechungen aus den Abschntten und kann durch de Formulerung als Mschlud unverändert übernommen werden. Es muss ledglch jede Glechung ür de Mschung ormu-

104 90 lert werden. De Vertelung der Dampvolumenrakton α wrd über ene zusätzlche Transportglechung beschreben: α ( αu j ) ρl dα 1 + = = m& t x ρ dt ρ j v trans = q. (5.24) m& trans bezechnet de Zwschenphasen-Massenstrom-Transerrate pro Enhetsvolumen und trtt als Quellterm ür α au. Mt der Annahme, dass ρ v ρ l << 1 ür de mesten Flude gültg st, lässt sch m& beschreben durch: trans ρv dα ρv dα m& trans =. ρv dt (1 α) dt α + (1 α) ρ l (5.25) Mthle sphärscher Blasendynamk und mt der Annahme, dass der Damp als homogen vertelte Dampblasen m KV vorlegt, kann Glechung (5.23) umgeschreben werden: 4 3 n0 πr α = 3. (5.26) n0 πr 3 Hern bezechnet n 0 de Anzahl der Keme pro Enhetsvolumen Flüssgket bzw. de Kemkonzentraton und R den Kemradus. De Größe n 0 st en Modellparameter m Kavtatonsmodell. Mt Glechung (5.26) läßt sch de totale zetlche Abletung von α bestmmen: d α 3R& = α 1 dt R ( α ), (5.27) wobe R & je nach Vorzechen de Wachstums- bzw. Kollapsgeschwndgket aller Enzelblasen verkörpert. Mt Glechung (5.27) lässt sch m& trans aus Glechung (5.25) neu ormuleren: m& trans R& = ρv3α. (5.28) R De Raylegh-Plesset-Glechung beschrebt den Wachstums- und Kollapsmechansmus ener Enzelblase. Vernachlässgt man Oberlächenspannung, Rebung und Träghet ver-

105 91 enacht sch de Raylegh-Plesset-Glechung zur Raylegh-Glechung. Dese wrd zur Beschrebung von R & herangezogen, sehe m Detal auch FROBENIUS [30]: & 2 b =. (5.29) R 2 p ( T ) p 3 ρ l p b (T) n Glechung (5.29) st der statsche Druck nnerhalb der Dampblase, der n der vorlegenden Modellerung glech dem Dampdruck p v (T ) der Flüssgket gesetzt wrd. p v (T) st wederum abhängg von der statschen Temperatur des Mschluds. Im vorlegenden Kavtatonsmodell wrd p v (T ) nun durch den neu denerten eektven Dampdruck p e ( T, qualty) ersetzt, der zusätzlch vom Renhetsgrad der Flüssgket abhängt. Im Falle ener entkemten Flüssgket, de kene gelösten Gase mehr enthält, glt p e = p v. Für de Smulaton der kavterenden Strömung muss p e damt abhängg von der Temperatur und der vorherrschenden Fludqualtät bestmmt werden. Für de Kalbrerung des Kavtatonsmodells snd de Messergebnsse zweer unterschedlcher Temperaturen ausrechend. Sobald das Drucknveau des Kavtatonsbegnns bestmmt worden st, kann p e so angepasst werden, dass das numersch bestmmte Nveau des Kavtatonsbegnns mt der Messung überenstmmt. Zusammen mt den Glechungen (5.28) und (5.29) erhält man schleßlch den m vorgestellten Kavtatonsmodell verwendeten Ausdruck ür m& : trans 3α 2 pe p + c prod ρ v pe > p R 3 ρl m& trans = (5.30) 3α 2 p pe c p < p. dest ρv e R 3 ρl De Konstanten c prod und c dest snd Korrekturaktoren, de be blasendynamschen Kavtatonsmodellen wet verbretet snd. Für de Berechnung der kavterenden Strömung n Turbomaschnen nehmen se de Werte c prod = 50 und c dest = an, sehe FROBE- NIUS [30]. Bem Austellen des hydrodynamschen Systems ür de kavterende Strömung muss berückschtgt werden, dass dese auch be nkompressbler Modellerung der Enzelphasen dvergenzbehatet st. Betrachtet man de Kontnutätsglechung (5.1) n hrer ncht konservatven Form, erhält man: u x 1 1 = m& ρv ρ l trans 1 m& ρ v trans, (5.31)

106 92 wobe weder de Annahme ρ v ρ l << 1unterstellt wurde. Au der rechten Sete trtt m Gegensatz zur nkompressblen Strömung en zusätzlcher Term au, der be der Modellmplementerung des hydrodynamschen Systems berückschtgt werden muss. 5.2 Modellmplementerung Druckkorrektur mt dem SIMPLEC-Algorthmus Für de Berechnung des Geschwndgketseldes u werden de Impulsglechungen herangezogen. Zur Lösung des Druckeldes p blebt n druckbaserten Verahren dann nur de Massenerhaltung über. Da dese den statschen Druck aber ncht enthält, muss durch Kombnaton von Impulsglechungen und Massenerhaltung ene Bestmmungsglechung ür den statschen Druck hergeletet werden. Enen wet verbreteten Ansatz zur Berechnung des Druckeldes blden de so genannten Druckkorrekturverahren. Ener der bekanntesten Vertreter deser Verahren st der SIMPLE-Algorthmus (Sem Implzt Procedure or Pressure-Lnked Equatons), sehe PATANKAR [66]. In der vorlegenden Arbet wrd ene verbesserte und stablere Varante deses Verahrens verwendet, der SIMPLEC-Algorthmus von VAN DOORMAL und RAITHBY [97]. De Druckkorrekturglechung des SIMPLEC-Algorthmus ür nkompressble Strömungen lautet: x a u P Ω + P NB a u NB p = x x n ( u ). (5.32) Se verknüpt das n den Reynolds-gemttelten Impulsglechungen zur Iteraton n vorläug berechnete Geschndgketseld u mt dem zu lösenden Druckkorrektureld p. In n Glechung (5.32) stellt Ω P das Volumen der Zelle P dar. De Größen u u a P und a NB blden de Matrxenträge der dskretserten Impulsglechungen ür de Zelle P sowe hre unmttelbaren Nachbarzellen NB. Da de kavterende Strömung m Gegensatz zur nkompressblen Strömung ncht dvergenzre st, muss de Druckkorrekturglechung (5.32) modzert werden. Mt der Kontnutätsglechung n hrer ncht konservatven Form (5.31) ergbt sch, sehe auch FROBE- NIUS [30]: x a u P Ω + P NB a u NB p = x x n ( u ) 1 ρ v m& trans. (5.33) n p erhält man durch olgen- Das endgültge Geschwndgketseld de Korrekturvorschrten: n u und das Druckeld

107 93 n n u u u + =, p p p n n + = 1 (5.34) mt NB u NB u P x p a a u + Ω =. (5.35) De Berechnung des hydrodynamschen Systems benhaltet damt de Reynolds-gemttelten Impulsglechungen und de Druckkorrekturglechung. De Massenerhaltung wrd ncht mehr explzt benötgt, se st mplzt n der Druckkorrekturglechung enthalten. De Dskretserung der Reynolds-gemttelten Impulsglechungen und der Druckkorrekturglechung des SIMPLEC-Algorthmus erolgt analog zum Vorgehen aus Kaptel 2.1. Für de dskreten Impulsglechungen ergbt sch dann: ( ) ( ) c Kroll j k k j j j c n w c c S n u u x u x u x u x p u m m dt u d c c Ω Ω = = + Ω ρ δ µ ρ * * * 1 *, * 3 2 & & (5.36) mt ( ) u Kroll v v v = ω ρ. (5.37) De zusätzlche Krat Kroll v entsteht durch de Formulerung der Impulsglechungen nach KROLL [47], be der de absoluten Geschwndgketen * u durch de relatven Massenströme w m m & & konvektert werden. De dskrete Druckkorrekturglechung lautet ebenalls unter Berückschtgung der Relatvgeschwndgketen: ( ) [ ] P trans v NB u NB u P P m S n w u S n x p a a Ω = + Ω & ρ 1. (5.38) Der überstrchene Term n Glechung (5.38) stellt dabe ene lneare Interpolaton au de Zellläche dar. Be der zellzentrerten Varablenanordnung, de m CFD-Tool verwendet wrd, st das Geschwndgkets- und das Druckeld durch de Dskretserung entkoppelt, was zu unerwünschten Oszllatonen m Durckeld ühren kann. Um deser Problematk

108 94 zu entgehen, wrd ür de Interpolaton der Geschwndgketen u an de Zellläche n Glechung (5.38) en Vorschlag von RHIE und CHOW [72] verwendet: u, = u, a n 1 Ω P p p u. (5.39) + anb n n NB u P De überstrchenen Terme n Glechung (5.39) blden dabe lneare Interpolatonen an de Zellläche, entsprechend Glechung (4.14). De enzelnen Terme des dskreten hydrodynamschen Systems (5.36)-(5.38) können nun lecht mt den entworenen Schemataklassen des CFD-Tools, sehe Kaptel 4.2.2, mplementert werden. De sequentelle Lösung der LGS erolgt dann durch de teratven Lösungsalgorthmen aus Kaptel 4.3. Bld 5-1: Klassenherarche zur Implementerung des hydrodynamschen Systems kavterender Strömungen mt der Druckkorrektur nach dem SIMPLEC-Algorthmus Als Kontaner ür das dskrete hydrodynamsche System wrd de Klasse SmplecMass- MomCav von der Klasse Equaton, sehe Kaptel 4.2.1, abgeletet. De Klassen ür de zugehörgen Randbedngungen werden von den jewelgen Scope-Klassen, ebenalls Kaptel 4.2.1, abgeletet. De SmplecMassMomCav-Klasse lädt de Randbedngungs- bzw. Scope-Klassen abhängg von der jewelgen Problemstellung und verwendet se zur Aus-

109 95 wahl der rchtgen Dskretserungsunktonaltät der Schemataklassen. Für de Berechnung des hydrodynamschen Systems ergbt sch nsgesamt das n Bld 5-1 dargestellte Klassendagramm. De Scope-Klassen zegen ledglch de zur Smulaton der kavterenden Strömung benötgten Randbedngungen. De Formulerung der Randbedngungen ndet sch n Anhang Skalare Transportglechungen De Dskretserung der enzelnen Transportglechungen der Turbulenzmodelle sowe der Transportglechung ür de Dampvolumenrakton des Kavtatonsmodells erolgt n Analoge zur skalaren Transportglechung aus Kaptel 2.1. De enzelnen Terme der dskreten Glechungen werden dann über de entworenen Schemataklassen zur Dskretserung der skalaren Terme berückschtgt. Zur Lösung des resulterenden LGS werden de teratven Lösungsalgorthmen aus Kaptel 4.3 verwendet. Bld 5-2: Klassenherarche zur Implementerung des Standard-k-ε-Modells und des LCL-Turbulenzmodells Als Kontaner der dskreten Transportglechungen ür de turbulente knetsche Energe k und de Dsspaton ε denen de Klassen StandardKepsModel und LCLModel. De beden Klassen snd von der Bassklasse Equaton, sehe Kaptel 4.2.1, abgeletet. De Berückschtgung der enzelnen Randbedngungen der Turbulenzmodelle gelngt we m hydrodynamschen System durch Programmerung der entsprechenden Scope-Klassen, de von den zugehörgen Bassklassen InternalScope, InteraceScope und BoundaryScope abgeletet wer-

110 96 den. De Formulerung der Randbedngungen ndet sch m Anhang. Insgesamt ergbt sch de n Bld 5-2 dargestellte Klassenherarche. Als Kontaner ür de Transportglechnung der Dampvolumenrakton des Kavtatonsmodells wrd de Klasse VolumeFractonEquaton erstellt. Für de Randbedngungen der Kavtaton werden entsprechende Scopeklassen abgeletet, mt denen de VolumeFracton- Equaton-Klasse de notwendgen Randbedngungen ür de Kavtaton berückschtgen kann, sehe Anhang. Insgesamt ergbt sch de n Bld 5-3 dargestellte Klassenherarche. Bld 5-3: Klassenherarche zur Implementerung der Transportglechung ür den Dampvolumenantel des Kavtatonsmodells 5.3 Smulaton der kavterenden Strömung n Turbomaschnen De Smulaton kavterender Strömungen st ene herausordernde Augabe ür den Entwcklungsngeneur hydraulscher Strömungsmaschnen. Das Autreten von Kavtaton beenlusst sowohl das akustsche Verhalten als auch den Wrkungsgrad von Strömungsmaschnen negatv. Im Falle von Kavtatonseroson wrd darüber hnaus sogar de Lebensdauer der betroenen Pumpen oder Turbnen beenträchtgt. Mthle enes möglchst allgemengültgen und glechzetg robusten Kavtatonsmodells kann das Autreten von Kavtaton berets während der Entwcklungsphase erkannt und analyset werden. Der Entwcklungsngeneur hat nolgedessen de Möglchket, de negatven Auswrkungen der Kavtaton durch geegnete Maßnahmen entweder zu reduzeren oder bestenalls sogar ganz zu vermeden. Durch de Kavtatonssmulaton kann der Betrebsberech ener Strömungsmaschne von vornheren entsprechend engeschränkt, oder de Lauradgeometre au hr Kavtatonsverhalten hn optmert werden.

111 97 In den olgenden beden Telabschntten wrd de Funktonaltät des n Kaptel vorgestellten Kavtatonsmodells demonstrert. Das Kavatonsmodell st n mehreren Forschungsprojekten und m Rahmen deser Arbet am Lehrstuhl ür Fludmechank (FLM) der Technsche Unverstät München spezell ür de statonäre Berechnung des Förderhöhenaballs von hydraulschen Strömungsmaschnen entwckelt worden. Es kann zur Berechnung der Kavtaton sowohl n anderen Fördermeden als Wasser als auch n unterschedlchen Temperaturberechen herangezogen werden Numersche Ergebnsse Hezungsumwälzpumpe Wasser De Demonstraton des Kavtatonsmodells erolgt an zwe ndustrerelevanten Teställen. Als erstes dent herür der Prototyp ener Hezungsumwälzpumpe. Über de vom Hersteller angegebenen Kenndaten hnaus, st de Pumpe am Lehrstuhl ür Fludsystemtechnk n Darmstadt (FST) nsbesondere hnschtlch hres temperaturabhänggen Kavtatonsverhaltens expermentell n unterschedlchen Betrebspunkten untersucht worden. Der Versuchsstand st dabe stets mt Wasser beüllt gewesen. 0, ρ v [kg/m³] 0,4 0,2 Wasserdamp p [mbar] Dampdruck 0, Temperatur [ C] Temperatur [ C] 0,02 2 0,015 1,5 µ v [mpas] 0,01 µ l [mpas] 1 Wasser 0,005 Wasserdamp 0, Temperatur [ C] Temperatur [ C] Bld 5-4: Stowerte von Wasser und Wasserdamp n Abhänggket von der Temperatur

112 98 Bld 5-4 zegt de temperaturabhänggen Stodaten von Wasser sowe von gesättgtem 3 Wasserdamp. De Dchte ρ des Wasserdampes stegt von kg m be 25 C au v 3 kg be 100 C stark an. Im Gegensatz dazu verhält sch de Dchte l 0.6 m ρ des Wassers 3 3 kaum temperaturabhängg. Se beträgt 1000 kg m be 25 C und 950 kg m be 100 C. Das Dchteverhältns der beden Phasen legt m betrachteten Berech damt ungeähr be 3-4 Zehnerpotenzen. Der Dampdruck p v stegt von 0.03bar be 25 C au 1 bar be 100 C exponentell an. De dynamsche Vskostät µ l des Wassers snkt mt zunehmender Temperatur ab. Se legt ür 25 C be 1 mpas und ür 100 C be 0.28 mpas. De dynamsche Vskostät µ v des Wasserdampes verhält sch umgekehrt. Se stegt mt zunehmender Temperatur lecht an und legt ür 25 C be 0.01mPas bzw. ür 100 C be mpas. Der Merdanschntt der Gehäuse- und Lauradgeometre der untersuchten Hezungsumwälzpumpe st n Bld 5-5 dargestellt. Das Laurad bestzt 7 Lauschaueln. Der Lauraddurchmesser beträgt D = 66. 5mm. Für ene Nenndrehzahl von n = mn bendet 3 sch der Auslegungspunkt laut Hersteller be enem Volumenstrom von Q opt = 2.5 m h. Bld 5-5: Merdanschntt durch de untersuchte Hezungsumwälzpumpe Be der Vernetzung der Hezungspumpe wrd sowohl der saug- als auch der drucksetge Radsetenraum berückschtgt. Gerade der saugsetge Radsetenraum hat enen starken Enluss au das Kavtatonsverhalten von Kreselpumpen, sehe FROBENIUS [30], sowe SCHILLING und BOGNER [79]. Augrund der großen Unterschede zwschen Gehäuse- und Lauradbrete wrd außerdem de Sprale n de Vernetzung mt augenommen. Der Enlaukrümmer der Pumpengeometre wrd dagegen vernachlässgt. Um den Enluss der Enlassrandbedngung so gerng we möglch zu halten, wrd allerdngs

113 99 en gerader Enlau an de bestehende Geometre der Pumpe anmodellert. De Vernetzung der Geometre erolgt strukturert. Deser zusätzlche Auwand wrd n Kau genommen, da strukturerte Netze m Gegensatz zu unstrukturerten Netzen ene bessere Dskretserung scherstellen können, sehe Kaptel 3.1. Alle CFD-Smulatonen werden mt dem vorgestellten Kavtatonsmodell, das spezell ür statonäre Smulatonen ausgelegt st, durchgeührt. Des macht wegen der Berückschtgung der Sprale ene Frozen- Rotor-Modellerung erorderlch, be der de Strömung m statonären Relatvsystem des engerorenen Laurades berechnet wrd. Der Enluss der Sprale au de Strömung nnerhalb der enzelnen Kanäle des Laurades muss herbe allerdngs durch verschedene relatve Lauradpostonen ausgemttelt werden. Berets m Voreld der Smulatonen werden de verhältnsmäßg gerngen Abmessungen der Hezungsumwälzpumpe berückschtgt. So ührt de Vernetzung mt ener mttleren Knotenanzahl berets zu relatv klenen y + -Werten. Trotzdem verlangt de Turbulenzmodellerung mt enem Low-Reynolds-Ansatz be der Vskostät von Wasser aber ene unverhältnsmäßg ene Netzaulösung, de enen erheblchen Rechenauwand darstellt. Deshalb wrd ür de Smulaton des Kavtatonsverhaltens der Hezungsumwälzpumpe en Turbulenzmodell mt Wandunkton gewählt, das zu ener verglechswese groben Vernetzung ührt. Gerade durch de Berückschtgung der Sprale würde de Rechengeometre ür den anderen Fall der Low-Renolds-Modellerung und ausrechend ener Vernetzung wesentlch unhandlcher werden. En Novum stellt de Herangehenswese dar, de Auswrkung der Kavtaton au de ntegralen Kenndaten der Pumpe mt der relatv groben Vernetzung korrekt abzublden. Für de Turbulenzmodellerung wrd das n Kaptel vorgestellte Standard-k-ε-Modell verwendet. Zur Umgehung der Staupunkt Anomale kommt dabe zusätzlch de Realzablty-Bedngung nach Moore & Moore zum Ensatz, sehe auch SKODA [86]. Der Turbulenzgrad n der Entrttsebene wrd ür de gesamte Untersuchung mt Tu = 2% angegeben. Damt können de Werte ür k und ε aus der jewelgen Zuströmgeschwndgket am Entrtt berechnet werden, sehe Anhang. Bld 5-6: Schntte durch das Rechennetz der Hezungspumpe; lnks: Setenanscht; rechts: Drauscht

114 100 Zwe Schntte durch de Setenanscht und de Drauscht des ür de Turbulenzmodellerung mt Wandunkton erzeugten Rechennetzes snd n Bld 5-6 abgebldet. In beden Anschten st de relatv grobe Netzaulösung gut zu erkennen. Vor allem de Setenanscht zegt deutlch de erorderlche Redukton der Zellschchtdcke au wenge Zellen n den Radsetenräumen. In Bld 5-7 st de 3-dmensonale Anscht des Lauradnetzes m Detal dargestellt. De Vernetzung erolgte jewels durch enen C-Block um de Lauschaueln, kanalwesen Koppelblöcken sowe enlass- und auslasssetgen Rngblöcken. Das gesamte Rechennetz ür de numerschen Untersuchungen an der Hezungsumwälzpumpe umasst ledglch etwa Knoten mt zrka Knoten pro Kanal. Bld 5-7: C-Netz-Stratege zur Vernetzung der Schauelkänalen m Laurad der Hezungsumwälzpumpe Bld 5-8 zegt de y + 3 -Vertelung ener Smulaton mt dem Volumenstrom Q = 2.5 m h und der Drehzahl n = mn. Etwa 75% aller Zellen legen m optmalen Berech von 30 < + + y < 500. Wetere 22% der Zellen legen m Berech y > 12. Wenger als 3% der Zellen legen n enem y + + -Berech y < 12, dese Zellen benden sch ast alle m vorderen Radsetenraum. Insgesamt snd über 97% aller Zellen m noch zulässgen y + -Berech 12 < y + < 500. Augrund der Frozen-Rotor-Modellerung werden alle Rechnungen grundsätzlch jewels ür 4 Lauradstellungen durchgeührt und de Ergebnsse der enzelnen Rechnungen danach über de Lauradstellungen gemttelt. Be 7 Schaueln ergbt sch en Telungswnkel t = Be 4 zu berechnenden Schauelstellungen muss das Laurad pro Rechnung somt relatv zur vorhergen Wnkelposton jewels um wetergedreht werden. De ünte Drehung ührt dann weder zur Überdeckung der Schaueln.

115 Anzahl Zellen [%] ,8 21,96 0 2,903 3,344 0 < >300 y + [-] Bld 5-8: y + -Vertelung ür das verwendete Rechennetz; Q = 2.5 m³/h; n = /mn Um de Qualtät der CFD-Smulatonen mt dem verwendeten Rechennetz und be der verwendeten Modellerung grundsätzlch zu überprüen, wrd das Betrebsverhalten der Hezungspumpe zunächst kavtatonsre untersucht. Bld 5-9 zegt de Enzelergebnsse der Frozen-Rotor-Modellerung und de Mttelwerte des berechneten Lauradwrkungsgrades der Hezungspumpe be n = mn und Q = 2.5 m h. Es st en erheblcher 3 Enluss der Dskretserung der konvektven Flüsse au den errechneten Wrkungsgrad zu erkennen. Das legt vor allem am relatv groben Rechennetz, wodurch m Falle der Upwnd-Dskretserung ene merklche numersche Duson entsteht. Durch Bemschen enes höherwertgen Dskretserungsschematas, we dem MINMOD-Schema, sehe Kaptel 4.2.2, kann de numersche Duson stark reduzert werden. Be der Berechnung der Drossel- und Förderhöhenaballkurven stellte sch en Blendngaktor von β = 0. 5 als gute Wahl heraus η [%] MINMOD: 100% UDS - MINMOD: 50% UDS: 100% rel. Rotorstellung [ ] Bld 5-9: berechneter Lauradwrkungsgrad über der Rotorstellung be der Frozen-Rotor-Modellerung und unterschedlcher Dskretserung der konvektven Flüsse; Q = 2.5 m³/h; n = /mn

116 102 0,76 0,66 η [-] 0,56 0,46 Messung Herstellerrma Smulaton FLM 0,36 0,4 0,6 0,8 1 1,2 Q/Q 0 [-] Bld 5-10: berechneter Lauradwrkungsgrad be MINMOD-Dskretserung der konvektven Flüsse mt Blendngaktor β = 0,5 und vom Hersteller angegebener hydraulscher Wrkungsgrad der Hezungspumpe; n = /mn In Bld 5-10 st de berechnete Kennlne des Lauradwrkungsgrades der Hezungsumwälzpume ür n = mn zusammen mt dem messtechnsch erassten hydraulschen Wrkungsgrad nach Herstellerangaben abgebldet. Vor allem m Tel- und Überlastberech stellt sch ene merklche Derenz zwschen den beden Kennlnen en, de au de Vernachlässgung der Sprale und der Radsetenräume be der Berechnung des Lauradwrkungsgrades zurückzuühren st. Der Verlau der Kennlne des Lauradwrkungsgrades legt erwartungsgemäß über dem von der Herstellerrma angegebenen hydraulschen Wrkungsgrad. Bld 5-11 stellt zwe numersch berechnete Drossellnen der Hezungsumwälzpumpe den unabhängg vonenander erzeugten expermentellen Daten der Herstellerrma bzw. des FST Darmstadt gegenüber. De berechneten Punkte zegen ene hervorragende Überenstmmung mt den korrellerten Messwerten. De CFD-Smulatonen wurden jewels ür ene Drehzahl von n = mn bzw. n = mn durchgeührt. Für de weterührende detallerte numersche Analyse des Kavtatonsverhaltens der Hezungsumwälzpumpe, nsbesondere ür den Verglech der enzelnen Smulatonsergebnsse mt den zugehörgen kavtatonsbezogenen Messdaten aus Darmstadt, wrd ab jetzt nur noch ene Pumpendrehzahl von n = mn betrachtet.

117 H [m] Messung Herstellerrma Smulaton FLM: n = /mn Messung FST Smulaton FLM: n = /mn 0 0,4 0,6 0,8 1 1,2 Q/Q 0 [-] Bld 5-11: smulerte und gemessene Drossellnen der Hezungspumpe; n = /mn und n = /mn Im AF-Forschungsvorhaben Kavterende Strömungen n anderen Flüssgketen als Wasser [78], das vom FLM n Zusammenarbet mt dem FST durchgeührt worden st, st das n der vorlegenden Arbet verwendete blasendynamsche Kavtatonsmodell au kalte kavterende Pumpenströmungen kalbrert worden, sehe auch Kaptel Au den olgenden Seten wrd de Anwendbarket des Kavtatonsmodells darüber hnaus ür kavterende Pumpenströmungen n unterschedlchen Temperaturberechen demonstrert. De zur Kalbrerung des Modells notwendgen Messungen der NPSH3%-Kennlnen der Hezungspumpe wurden ausnahmslos vom FST Darmstadt durchgeührt. De Messungen, be denen als Fördermedum Wasser verwendet wurde, umassen mt 25 C Raumtemperatur, 85 C und 100 C dre unterschedlche Temperaturnveaus. Der NPSH3%-Wert ener Pumpe beschrebt den NPSH-Wert, an dem gerade 3% Förderhöhenverlust durch Kavtaton engetreten snd. Der NPSH-Wert bzw. de Förderhöhe snd we olgt denert: bzw. NPSH = p t, n p ρ g l v, (5.40) pt, out pt, n H =, (5.41) ρ g l wobe p t, n bzw. t out p, den Totaldruck am Kontrollvolumenen- bzw. austrtt darstellen.

118 phys. Dampdruck e. Dampdruck Derenz 15 p [kpa] p [kpa] Temperatur [ C] Bld 5-12: Verglech zwschen physkalschem und be der Kalbrerung des Kavtatonsmodells bestmmten eektvem Dampdruck, sowe de Derenz der beden Drücke 5 De Stowerte enes Fluds bleben m Falle unterschedlcher Temperaturnveaus m Allgemenen ncht konstant. Aus Bld 5-4 kann der ür de Smulaton verwendete temperaturabhängge Verlau der Stogrößen von Wasser entnommen werden. De beden Parameter Kemdchte und ntale Volumenrakton des blasendynamschen Kavtatonsmodells werden au den standardmäßg ür Wasser vorengestellten Werten belassen. Für 8 3 de Kemdchte werden n0 = 10 Keme m Flüssgket und ür de ntale Volumenrakton α = 10 6 m Damp m Gesamtvolumen 3 3 angegeben. Zur Bestmmung der NPSH3%-Werte werden de zugehörgen Förderhöhenaballkurven ür jedes Temperaturnveau berechnet. Ausgangspunkt st dabe mmer ene kavtatonsree Rechnung, be der das Druckmnmum m Strömungseld über dem Dampdruck des Fluds legt. Danach wrd das Drucknveau am Auslass schrttwese abgesenkt, bs der Stelaball der Kurven errecht st. Für jede Rechnung müssen dabe der aktuelle NPSH- Wert und de aktuelle Förderhöhe ausgewertet und zu ener zusammenhängenden Förderhöhenaballkurve verengt werden. Bld 5-12 verglecht den physkalschen Dampdruck von Wasser mt dem be der Kalbrerung des Kavtatonsmodells mthle von Messdaten bestmmten eektven Dampdruck n Abhänggket von der Temperatur. De Analyse der sch ergebenden Derenz zwschen den beden Dampdrücken leert ür den betrachteten Berech zwschen 25 C und 100 C ene lneare Abhänggket von der Temperatur, sodass zur Kalbrerung des Kavtatonsmodells ledglch zwe Messwerte ausrechen. In Bld 5-13 st der mt dem so kalbrerten Kavtatonsmodell berechnete Förderhöhenaball ür de dre untersuchten Temperaturnveaus be der Drehzahl n = mn und dem Volumenstrom Q = 2.5 m h dargestellt. Der Enluss der Temperatur au das Kavtatons- 3 verhalten der Pumpe st deutlch an der Verschebung des Bereches des Stelaballs der Förderhöhenaballkurven erkennbar. Für de Darstellung des temperaturabhänggen

119 105 Kavtatonsverhaltens der Hezungsumwälzpumpe wurden Frozen-Rotor-Rechnungen au nsgesamt 35 unterschedlchen Drucknveaus durchgeührt. 3,2 2,8 2,4 H [m] 2 1,6 25 C 85 C 100 C 1,2 1 1,5 2 2,5 3 3,5 4 NPSH [m] Bld 5-13: berechneter Förderhöhenaball be verschedenen Temperaturen; Q = 2.5 m³/h; n = /mn 2,7 2,5 2,3 NPSH3% [m] 2,1 1,9 1,7 1,5 Messung FST Smulaton FLM 1, Temperatur [ C] Bld 5-14: resulterende NPSH 3% -Kennwerte n Abhänggket von der Temperatur; Q = 2.5 m³/h; n = /mn

120 106 Bld 5-14 verglecht de NPSH3%-Werte der dre Förderhöhenaballkurven mt den am FST gemessenen Werten. Her wrd der Verlau des eektven Dampdrucks über ene lnear mt der Temperatur allende Derenz zum physkalschen Dampdruck endeutg bestätgt. De kalbrerten Rechenergebnsse zegen ene hervorragend gute Überenstmmung mt der Messung. De NPSH3%-Punkte legen sowohl be der Smulaton als auch be der Messung ür 25 C be NPSH = 2. 5 m, ür 85 C be NPSH = 1. 8 m und ür 100 C be NPSH = m. De Analyse des ördermengenabhänggen Kavtatonsverhaltens der Hezungsumwälzpumpe erolgt be ener Temperatur von 25 C. Ausgehend vom gewählten Nennvolumenstrom Q0 = 2. 5 m h, wrd der Förderhöhenaball ür dre wetere Volumen ströme, 0.8 Q0 = 2. 0 m h, 0.6 Q0 = 1. 5 m h sowe 1.2 Q0 = 3. 0 m h, berechnet. Bld 5-15 zegt de resulterenden Förderhöhenaballkurven ür de ver spezzerten Volumenströme. Den Verglech mt der Messung leert jewels de Auswertung des sch enstellenden NPSH3%-Wertes, der über der Fördermenge augetragen wrd. Bld 5-16 stellt de am FST gemessene der berechneten NPSH3%-Kennlne gegenüber. Insgesamt st ene hervorragend gute Überenstmmung zwschen Smulaton und Messung zu erkennen. Für de Bestmmung der NPSH3%-Kennlne aus den ver Förderhöhenaballkurven wurden Frozen-Rotor-Smulatonen au nsgesamt 63 unterschedlchen Drucknveaus herangezogen. 3,7 H [m] 3,2 2,7 2,2 Q/Q0 = 0,6 Q/Q0 = 0,8 Q/Q0 = 1,0 Q/Q0 = 1,2 1,7 1, NPSH [m] Bld 5-15: berechneter Förderhöhenaball be 25 C Raumtemperatur ür unterschedlche Volumenströme; n = /mn

121 107 4 NPSH3% [m] 3,5 3 2,5 2 Messung FST Smulaton FLM 1,5 1 0,6 0,7 0,8 0,9 1 1,1 1,2 1,3 Q/Q 0 [-] Bld 5-16: resulterende NPSH 3% -Kennlne be 25 C Raumtemperatur; n = /mn Im Folgenden wrd anhand der Smulatonsergebnsse ene detallerte Analyse des Förderhöhenaballs und der Ausprägung der Kavtatonsgebete abhängg vom jewelgen 3 Drucknveau ür den gewählten Nennvolumenstrom Q0 = 2. 5 m h und de Drehzahl n = mn durchgeührt. Bld 5-17 zegt de mt der kavtatonsreen Lösung normerte relatve Förderhöhenaballkurve. Folgende Punkte snd dabe besonders markert: A) Kavtatonsbegnn bzw. NPSHncpent B) etwa 1% Förderhöhenaball C) etwa 3% Förderhöhenaball bzw. NPSH3% und begnnender Stelaball D) etwa 10% Förderhöhenaball E) etwa 20% Förderhöhenaball F) etwa 30% Förderhöhenaball

122 108 1,1 1 C B A 0,9 D H/H0 [-] 0,8 0,7 E F 0,6 0,5 2 2,5 3 3,5 4 NPSH [m] Bld 5-17: Analyse des Förderhöhenaballs be 25 C Raumtemperatur; Q = 2.5 m³/h; n = /mn Bld 5-18 zegt de Ausdehnung der Kavtatonsgebete n der Hezungsumwälzpumpe charaktersert durch de Isolächen mt 10% Dampvolumenrakton n den ausgewählten Betrebspunkten und ür ene relatve Lauradstellung von 0. De Telblder snd dabe jewels den markerten Punkten aus Bld 5-17 zugeordnet. Kavtaton st zum ersten Mal deutlch be enem NPSH-Wert von NPSH ncpent = m n den Schauelkanälen nahe dem Druckstutzen der Sprale zu erkennen. De dem Druckstutzen gegenüberlegenden Kanäle zegen zu desem Zetpunkt noch kenerle Kavtaton. Be enem NPSH-Wert von NPSH = 2. 6 m hat de Pumpe etwa 1% hrer Förderhöhe verloren. De Kavtatonsgebete nahe dem Druckstutzen der Sprale snd angewachsen. Auch n den restlchen Schauelkanälen st nun Kavtaton auszumachen. Be enem NPSH-Wert von NPSH = 2. 5 m hat de Pumpe etwa 3% hrer Förderhöhe verloren. De Kavtatonsgebete n allen Schauelkanälen wachsen weter an und engen den eektven Querschntt der Kanäle en. An deser Stelle begnnt der Stelaball der Förderhöhenaballkurve. De Punkte D) F) benden sch m Stelaball. Be enem NPSH-Wert von NPSH = m hat de Pumpe etwa 10% hrer ursprünglchen Förderhöhe engebüßt, be enem NPSH- Wert von NPSH = m etwa 20%, und be enem NPSH-Wert von NPSH = 2. 3 m berets etwa 30%. Wegen des Enlusses der Sprale verstopen de kavterenden Schauelkanäle zu Anangs unterschedlch stark. Das ührt nach und nach zu ener Umlenkung der Strömung hn zu noch reen Schauelkanälen, was sch wederum ausglechend au de Kavtatonsgebete auswrkt. In Punkt F) st zwschen den Kavtatonsgebeten der enzelnen Schauelkanäle dann nur noch en gernger Untersched erkennbar.

123 109 A B C D E F Bld 5-18: Isolächen mt 10% Dampvolumenrakton ür de ausgewählten Punkte der Förderhöhenaballkurve; Q = 2.5 m³/h; n = /mn

124 110 Zur genaueren Untersuchung des Enlusses der Sprale au de Kavtatonsgebete n den enzelnen Schauelkanälen werden de lokalen Strömungsverhältnsse be begnnender Kavtaton nun kanalwese analysert. Dabe muss allerdngs darau hngewesen werden, dass transente Strömungsphänomene durch ene Frozen-Rotor-Modellerung ncht wedergegeben werden können. Bld 5-19 legt de Nummererung der enzelnen Schauelkanäle 1) 7) sowe de Poston der ür de kanalwese Analyse benötgten Schntte S1) S3) est. De Poston der Schntte wurde dabe so gewählt, dass der erste Schntt S1) stromau vor den Schauelvorderkanten, der zwete Schntt S2) unmttelbar vor den Schauelvorderkanten und der drtte Schntt S3) stromab hnter den Schauelvorderkanten, bzw. nnerhalb der Schauelkanäle legt. Bld 5-19: Nummererung der Schauelkanäle 1) 7) sowe Poston und Bezechnung der Schntte S1) S3) durch de Schauelkanäle der Hezungsumwälzpumpe

125 111 Bld 5-20 zegt de Auswertung der Relatvgeschwndgketen w entlang der enzelnen 3 Schntte S1) S3) be dem gewählten Nennvolumenstrom Q0 = 2. 5 m h, der Drehzahl n = mn und der relatven Rotorposton 0 ür de kavtatonsree Startlösung. De Relatvgeschwndgketen entlang der enzelnen Schntte wesen ene deutlche Prolerung au, de ür den Schntt S3) besonders ausgeprägt ausällt. De höchsten Relatvgeschwndgketen treten dabe m Schauelkanal 1) au, de nedrgsten m Schauelkanal 5). Entsprechend st zu erwarten, dass de zu den Relatvgeschwndgketen korresponderenden statschen Drücke n Kanal 1) am nedrgsten und n Kanal 5) am höchsten snd. Bld 5-21 wertet de kanalwese gemttelten statschen Drücke P normert au das mttlere statsche Drucknveau P am Schntt S3) aus. De Drücke vareren um etwa 3% bezüglch des mttleren Drucknveaus. Der nedrgste berechnete Druckwert legt n Kanal 1). Dort st be Kavtatonsbegnn auch das erste Kavtatonsgebet auszumachen, sehe Bld Der höchste berechnete Druck legt n Kanal 5). Deser Kanal blebt be snkendem Drucknveau n der Pumpe am längsten kavtatonsre, sehe Bld w [m/s] Kanal [-] S3 S2 S1 Bld 5-20: Verlau der Relatvgeschwndgket w entlang der Schntte S1), S2) und S3) durch de Schauelkanäle 1) 7)

126 112 1,04 1,02 P/P* [-] 1 0,98 0, Kanal [-] Bld 5-21: relatve Vertelung der über den Schntt S3) kanalwese gemttelten und entdmensonerten statschen Drücke über den Schauelkanälen 1) 7) Numersche Ergebnsse Radalpumpe NQ26 Glycol Den zweten Testall bldet de Smulaton der kavterenden Strömung durch en am FST vermessenes radales Pumpenlaurad mt spezscher Drehzahl n q = 26 1 mn. De spezsche Drehzahl st denert als: 1 2 Q n q = n (5.42) 3 4 H mt dem Volumenstrom Q n m 3 s und der Förderhöhe H n m. Bld 5-22 zegt de Setenanscht der Lauradgeometre m Schntt. Das Laurad bestzt 6 Schaueln. Der Lauraddurchmesser beträgt D = 260mm. Der Auslegungspunkt bendet sch ür ene 3 Lauraddrehzahl von n = mn be enem Volumenstrom von Q opt = 125 m h. Be der Vernetzung der Geometre wrd weder we zuvor der Radsetenraum mt berückschtgt, da er au das Kavtatonsverhalten der Kreselpumpe erheblchen Enluss hat, sehe FROBENIUS [30]. Zur Smulaton der Förderhöhenabreßkurven wrd das Rechennetz aber nur bs kurz hnter de Schauelhnterkante gezogen, de Strömung m radalen Dusor des Versuchsstandes am FST soll ncht berückschtgt werden. Alle Rechnungen werden statonär mt nur enem Schauelkanal durchgeührt. Der Turbulenzgrad am Rechengebetsentrtt wrd mt Tu = 2% angenommen. De Werte ür k und ε ergeben sch mt dem Lauraddurchmesser als charakterstsches Längenmaß aus der jewelgen Zuströmgeschwndgket, sehe Anhang. De konvektven Flüsse werden mt dem OSHER-Schema, sehe Kaptel 4.2.2, dskretsert.

127 113 Bld 5-22: Schntt durch de Geometre des Pumpenlaurades NQ26 n der Setenanscht Für de Berechnung der Förderhöhenabreßkurven wrd Glycol be 20 C Raumtemperatur als Fördermedum verwendet. Be deser Temperatur beträgt de Dchte von Glycol 3 ρ l = 1113 kg m und de dynamsche Vskostät µ l = mpas. Der Sättgungsdampdruck legt be p v = mbar. De entsprechende Dchte des Glycoldampes ergbt sch zu ρ = v g m und de dynamsche Vskostät zu µ v = mpas. Als 8 3 Kemdchte werden n0 = 10 Keme m Flüssgket angenommen. Außerdem wrd ene 3 3 ntale Volumenrakton von α = 10 4 m Damp m Gesamtvolu men gesetzt. Bld 5-23: Rechennetz der Versuchspumpe; Blade-to-Blade-Anscht n der konormen Abbldung

128 114 Bld 5-24: Rechennetz der Versuchspumpe m Merdanschntt; lnks: Detalanscht des Radsetenraumes; rechts: gesamte Pumpe Be den Smulatonen wrd de 20mal höhere Vskostät von Glykol berückschtgt, de au demselben Rechennetz m Verglech zu Wasser zu wesentlch gerngeren y + -Werten ührt. De Entschedung bezüglch der turbulenten Wandmodellerung ällt deshalb au enen Low-Reynolds-Ansatz. Als Turbulenzmodell wrd das m Kaptel vorgestellte nchtlneare LCL-Modell ausgewählt. Durch de ür de Low-Reynolds-Modellerung günstgen Stoegenschaten von Glycol st es möglch en Low-Reynolds-Netz m gültgen y Berech y 1 mt ener Netzaulösung von ledglch etwa Zellen zu erzeugen. Bld 5-23 zegt das verwendete Rechennetz n der Blade-to-Blade-Anscht als konorme Abbldung ener kanalmttgen geometrschen Strombahn. Der Merdanschntt durch das Rechennetz der Versuchspumpe sowe de Detalanscht des Radsetenraumes snd n Bld 5-24 zu sehen. Bld 5-25 stellt ene repräsentatve y + -Vertelung m Rechengebet ür den Nennlestungspunkt be n = mn dar. Es wrd deutlch, dass benahe alle Wandzellen m gültgen + Berech legen. Wenger als 2% der Zellen legen m Berech y > 1. Für de Berechnung der volumenstromabhänggen Förderhöhenaballkurven mt Glycol snd mehrere Berechnungsseren, we se n Kaptel beschreben wurden, notwendg. Ausgangspunkt st zunächst weder ene kavtatonsree Rechnung. Durch de Auswertung deser Rechnung st das mnmale Drucknveau m Strömungseld bekannt. De nötge Verschebung des gesamten Drucknveaus n der Maschne über de Druckrandbedngung am Auslass wrd dann so bestmmt, dass das Druckmnmum m Strömungseld über dem Dampdruck des Fluds legt. Es olgt dann ene Rehe von Strömungs-

129 115 smulatonen, be denen der Druck am Auslass und somt das Drucknveau der gesamten Maschne sukzessve mmer weter abgesenkt wrd. Snkt dabe das Druckmnmum m Strömungseld unter den Dampdruck von Glycol bldet sch an deser Stelle en Kavtatonsgebet aus, das anwächst, je weter das Drucknveau der gesamten Maschne absnkt. Dabe muss der Betrag der Druckabsenkungen zwschen den enzelnen Smulatonen ab begnnendem Stelaball mmer weter reduzert werden. Der NPSH-Wert am Enlass des Rechengebetes und de Förderhöhe H der Maschne werden dann ür jedes berechnete Drucknveau ausgewertet und zu ener zusammenhängenden Förderhöhenaballkurve verengt ,04 Anzahl Zellen [%] , < >300 y + [-] Bld 5-25: y + -Vertelung ür das Low Reynolds Netz der Versuchspumpe; n = /mn; Q = 125 m³/h De Förderhöhe wrd nach FLM-Konventon standardmäßg über de Totaldruckderenz zwschen den Blanzlächen am Rechengebetsen- und -austrtt berechnet, sehe Glechung (5.41). Der Vortel n der Verwendung der Totaldruckderenz legt darn, dass sch Abwechungen der Blanzerungsebenen zwschen Rechenmodell und Messaubau ledglch durch relatv gernge Totaldruckverluste bemerkbar machen. De Förderhöhe der Versuchspumpe st am FST aber über de statsche Druckderenz bestmmt worden. Zum Verglech mt der Messung muss de numersch berechnete Förderhöhe deshalb ebenalls über de statsche Druckderenz gebldet werden, was ene Extrapolaton des statschen Drucks über den Rechengebetsaustrtt hnaus mthle des Flächenverhältnsses zwschen Austrttsradus und Radus der Drucksensoren des Messaubaus erordert. De über de statsche Druckderenz zwschen der auslass- und enlasssetgen Blanzerungsebene gebldete Förderhöhe st dabe we olgt denert: H pout pn =. (5.43) ρ g l Der Förderhöhenaball wrd be der Drehzahl n = mn ür dre unterschedlche 3 Volumenströme m Auslegungspunkt be Q opt = 125 m h sowe m Tellastberech be

130 Q opt = 100 m h und m Überlastberech be 1.2 Q opt = 150 m h berechnet. Den Verglech mt der Messung leert jewels der sch enstellende NPSH3%-Wert, sehe Kaptel Bld 5-26 zegt de aus den zugrundelegenden Förderhöhenaballkurven gewonnenen NPSH3%-Werte. De Förderhöhe st dabe, we gerade beschreben, über de statsche Druckderenz bestmmt worden. Insgesamt st ene hervorragend gute Überenstmmung zwschen Smulaton und Messung zu erkennen. Ledglch m Tellastberech stellt sch ene lechte Abwechung zwschen Smulatonsergebns und Messung en. 6 NPSH3% [m] 5,5 5 4,5 4 3,5 3 2,5 2 1,5 Messung FST - Wasser Messung FST - Glycol Smulaton FLM - Glycol 1 0,6 0,7 0,8 0,9 1 1,1 1,2 Q/Q opt [-] Bld 5-26: berechneter und gemessener NPSH 3% -Verlau ür Glycol; n = /mn Ene detallerte Analyse des Förderhöhenaballs sowe der Ausprägung der Kavtatonsgebete zum jewelgen Drucknveau wrd m Folgenden anhand der Ergebnsse m Optmalpunkt durchgeührt. Bld 5-27 zegt de mt der jewels kavtatonsreen Lösung normerten relatven Förderhöhenaballkurven, de mt der Totaldruckderenz bzw. der statschen Druckderenz gewonnen wurden. Durch de Normerung allen de Kurven zusammen. Folgende Punkte snd besonders markert: A) Kavtatonsbegnn bzw. NPSHncpent B) etwa 0,5% Förderhöhenaball C) etwa 1% Förderhöhenaball und begnnender Stelaball D) etwa 2% Förderhöhenaball E) etwa 3% Förderhöhenaball bzw. NPSH3%

131 117 1,05 1 H/H0 [-] 0,95 H/H0 - delta p statsch H/H0 - delta p total 0, NPSH [m] Bld 5-27: berechnete relatve Förderhöhenaballkurven; n = /mn; Q = 125 m³/h Alle weteren Abbldungen snd desen ausgewählten Punkten zugeordnet. Kavtaton st zum ersten Mal n Punkt A) be enem NPSH-Wert von etwa NPSH ncpent = 4. 4 m au der Schaueldrucksete zu erkennen. Des st au den Enluss des Radsetenraumes zurückzuühren, durch den sch au der Schaueldrucksete nahe der Deckschebe ene ausgeprägte Saugsptze ausbldet. Be enem NPSH-Wert von NPSH = 3. 5 m hat de Pumpe etwa 0.5% hrer Förderhöhe verloren. Das Kavtatonsgebet au der Schaueldrucksete st deutlch angewachsen und begnnt de Strömung um de Schaueln allmählch zu beenlussen. Au der Schauelsaugsete st n desem Punkt noch kene Kavtaton zu erkennen. Be enem NPSH-Wert von NPSH = m hat de Pumpe etwa 1% hrer Förderhöhe verloren. Sowohl au der Schaueldruck- als auch au der Schauelsaugsete haben sch große Kavtatonsgebete ausgebldet. Das Kavtatonsgebet au der Drucksete erstreckt sch nun sowet, dass der engste Querschntt des Schauelkanals engeschnürt wrd. Her begnnt der Stelaball der Förderhöhenabreßkurve. Be enem NPSH-Wert von NPSH = m hat de Pumpe dann schon etwa 2% hrer Förderhöhe verloren. Das Kavtatonsgebet erstreckt sch nun über de ganze Schauelbrete. Be enem NPSH-Wert von NPSH = m hat de Pumpe schleßlch etwa 3% hrer Förderhöhe engebüßt. De Kavtatonsgebete au der Schaueldruck- und der Schauelsaugsete wachsen weter stark an. Der engste Querschntt st nun deutlch engeengt und de Strömung um de Schaueln wrd erheblch beenlusst. Zusätzlch bldet sch hnter dem drucksetgen Kavtatonsgebet, verursacht von dessen Verdrängungswrkung, ene starke Querströmung aus. Bld 5-28 und Bld 5-29 zegen de jewelge Ausprägung der Kavtatonsgebete n der konormen Abbldung n der Mtte des Schauelkanals bzw. enem Merdanschntt des Schauelkanals nahe der Saugsete der Versuchspumpe ür de ausgewählten Kavtatonszustände. Im Punkt D), also be etwa 2% Förderhöhenaball, recht das saugsetge

132 118 Kavtatonsgebet über de gesamte Schauelbrete von der Deckschebe bs zur Nabe. In der konormen Abbldung n der Mtte des Schauelkanals st de zunehmende Enschnürung des engsten Querschnttes während des Stelaballs deutlch schtbar. Bld 5-30 und Bld 5-31 vsualseren de zugehörgen Vertelungen der merdonalen und normalen Relatvgeschwndgketen w m und w n n der konormen Abbldung n der Mtte des Schauelkanals. Blaue Farben m Merdangeschwndgketsplot, volett bs weße Farben m Normalgeschwndgketsplot wesen au ene hohe negatve Merdangeschwndgkets- bzw. hohe postve Normalgeschwndgketskomponente hnter dem drucksetgen Kavtatonsgebet hn. Das Kavtatonsgebet hat her erheblchen Enluss au de Kanalströmung. Es kann, nduzert durch de starken Querströmungen, zur nstatonären Wolkenablösung kommen. De Geschwndgketen hnter dem Kavtatonsgebet au der Saugsete werden dagegen kaum beenlusst. An deser Stelle st deshalb eher mt Schchtkavtaton zu rechnen. De ür de ausgewählten Kavtatonszustände über der Laulänge s augetragenen normerten Schaueldruckvertelungen an der Deckschebe, n der Kanalmtte und an der Nabe snd n Bld 5-32 dargestellt. De gestrchelte Lne markert jewels das Dampdrucknveau. De normerte Druckvertelung st denert als: c p p =, (5.44) ρ u re wobe de Umangsgeschwndgket des Laurades am Lauradaustrtt als Reerenzgeschwndgket u re herangezogen wrd. Deutlch zu erkennen st, dass der Druck be autretender Kavtaton nnerhalb des Kavtatonsgebetes au Dampdrucknveau gehalten wrd. Be begnnender Kavtaton n Punkt A) trtt ene ausgeprägte drucksetge Saugsptze n der Nähe der Deckschebe au. Entsprechend der Ausbretung des Kavtatonsgebetes n der Merdananscht, errechen de normerten Druckverläue m Punkt D), be etwa 2% Förderhöhenaball, sowohl au der Saug- als auch au der Drucksete über de gesamte Schauelbrete Dampdrucknveau. Während hnter den Kavtatonsgebeten au der Drucksete en relatv schneller Druckansteg erolgt, stegt der Druck hnter den Gebeten mt Schchtkavtaton au der Saugsetge dagegen verhältnsmäßg langsam an.

133 Bld 5-28: Dampvolumenrakton n der Merdananscht nahe der Saugsete m Schauelkanal ür ausgewählte NPSH-Werte: Q = 125 m³/h; n = /mn 119

134 120 Bld 5-29: Dampvolumenrakton n der konormen Abbldung n der Mtte des Schauelkanals ür ausgewählte NPSH-Werte: Q = 125 m³/h; n = /mn

135 121 Bld 5-30: merdonale Relatvgeschwndgketen wm n der konormen Abbldung n der Mtte des Schauelkanals ür ausgewählte NPSH-Werte, sowe de zugehörgen Geschwndgketsvektoren tangental zur dargestellten Stromläche: Q = 125 m³/h; n = /mn

136 122 Bld 5-31: normale Relatvgeschwndgketen wn n der konormen Abbldung n der Mtte des Schauelkanals ür ausgewählte NPSH-Werte, sowe de zugehörgen Geschwndgketsvektoren tangental zur dargestellten Stromläche: Q = 125 m³/h; n = /mn

137 123 Deckschebe Kanalmtte Nabe Bld 5-32: normerte Druckvertelungen entlang der Laulänge ür ausgewählte NPSH-Werte: Q = 125 m³/h; n = /mn

2. Nullstellensuche. Eines der ältesten numerischen Probleme stellt die Bestimmung der Nullstellen einer Funktion f(x) = 0 dar.

2. Nullstellensuche. Eines der ältesten numerischen Probleme stellt die Bestimmung der Nullstellen einer Funktion f(x) = 0 dar. . Nullstellensuche Enes der ältesten numerschen Probleme stellt de Bestmmung der Nullstellen ener Funkton = dar. =c +c =c +c +c =Σc =c - sn 3 Für ene Gerade st das Problem trval, de Wurzel ener quadratschen

Mehr

Ich habe ein Beispiel ähnlich dem der Ansys-Issue [ansys_advantage_vol2_issue3.pdf] durchgeführt. Es stammt aus dem Dokument Rfatigue.pdf.

Ich habe ein Beispiel ähnlich dem der Ansys-Issue [ansys_advantage_vol2_issue3.pdf] durchgeführt. Es stammt aus dem Dokument Rfatigue.pdf. Ich habe en Bespel ähnlch dem der Ansys-Issue [ansys_advantage_vol_ssue3.pdf durchgeführt. Es stammt aus dem Dokument Rfatgue.pdf. Abbldung 1: Bespel aus Rfatgue.pdf 1. ch habe es manuell durchgerechnet

Mehr

nonparametrische Tests werden auch verteilungsfreie Tests genannt, da sie keine spezielle Verteilung der Daten in der Population voraussetzen

nonparametrische Tests werden auch verteilungsfreie Tests genannt, da sie keine spezielle Verteilung der Daten in der Population voraussetzen arametrsche vs. nonparametrsche Testverfahren Verfahren zur Analyse nomnalskalerten Daten Thomas Schäfer SS 009 1 arametrsche vs. nonparametrsche Testverfahren nonparametrsche Tests werden auch vertelungsfree

Mehr

Ionenselektive Elektroden (Potentiometrie)

Ionenselektive Elektroden (Potentiometrie) III.4.1 Ionenselektve Elektroden (otentometre) Zelstellung des Versuches Ionenselektve Elektroden gestatten ene verhältnsmäßg enfache und schnelle Bestmmung von Ionenkonzentratonen n verschedenen Meden,

Mehr

Polygonalisierung einer Kugel. Verfahren für die Polygonalisierung einer Kugel. Eldar Sultanow, Universität Potsdam, sultanow@gmail.com.

Polygonalisierung einer Kugel. Verfahren für die Polygonalisierung einer Kugel. Eldar Sultanow, Universität Potsdam, sultanow@gmail.com. Verfahren für de Polygonalserung ener Kugel Eldar Sultanow, Unverstät Potsdam, sultanow@gmal.com Abstract Ene Kugel kann durch mathematsche Funktonen beschreben werden. Man sprcht n desem Falle von ener

Mehr

Nernstscher Verteilungssatz

Nernstscher Verteilungssatz Insttut für Physkalsche Cheme Grundpraktkum 7. NERNSTSCHER VERTEILUNGSSATZ Stand 03/11/2006 Nernstscher Vertelungssatz 1. Versuchsplatz Komponenten: - Schedetrchter - Büretten - Rührer - Bechergläser 2.

Mehr

Gruppe. Lineare Block-Codes

Gruppe. Lineare Block-Codes Thema: Lneare Block-Codes Lneare Block-Codes Zele Mt desen rechnerschen und expermentellen Übungen wrd de prnzpelle Vorgehenswese zur Kanalcoderung mt lnearen Block-Codes erarbetet. De konkrete Anwendung

Mehr

1 Definition und Grundbegriffe

1 Definition und Grundbegriffe 1 Defnton und Grundbegrffe Defnton: Ene Glechung n der ene unbekannte Funkton y y und deren Abletungen bs zur n-ten Ordnung auftreten heßt gewöhnlche Dfferentalglechung n-ter Ordnung Möglche Formen snd:

Mehr

Methoden der innerbetrieblichen Leistungsverrechnung

Methoden der innerbetrieblichen Leistungsverrechnung Methoden der nnerbetreblchen Lestungsverrechnung In der nnerbetreblchen Lestungsverrechnung werden de Gemenosten der Hlfsostenstellen auf de Hauptostenstellen übertragen. Grundlage dafür snd de von den

Mehr

IT- und Fachwissen: Was zusammengehört, muss wieder zusammenwachsen.

IT- und Fachwissen: Was zusammengehört, muss wieder zusammenwachsen. IT- und achwssen: Was zusammengehört, muss weder zusammenwachsen. Dr. Günther Menhold, regercht 2011 Inhalt 1. Manuelle Informatonsverarbetung en ntegraler Bestandtel der fachlchen Arbet 2. Abspaltung

Mehr

12 LK Ph / Gr Elektrische Leistung im Wechselstromkreis 1/5 31.01.2007. ω Additionstheorem: 2 sin 2 2

12 LK Ph / Gr Elektrische Leistung im Wechselstromkreis 1/5 31.01.2007. ω Additionstheorem: 2 sin 2 2 1 K Ph / Gr Elektrsche estng m Wechselstromkres 1/5 3101007 estng m Wechselstromkres a) Ohmscher Wderstand = ˆ ( ω ) ( t) = sn ( ω t) t sn t ˆ ˆ P t = t t = sn ω t Momentane estng 1 cos ( t) ˆ ω = Addtonstheorem:

Mehr

Free Riding in Joint Audits A Game-Theoretic Analysis

Free Riding in Joint Audits A Game-Theoretic Analysis . wp Wssenschatsorum, Wen,8. Aprl 04 Free Rdng n Jont Audts A Game-Theoretc Analyss Erch Pummerer (erch.pummerer@ubk.ac.at) Marcel Steller (marcel.steller@ubk.ac.at) Insttut ür Rechnungswesen, Steuerlehre

Mehr

Netzwerkstrukturen. Entfernung in Kilometer:

Netzwerkstrukturen. Entfernung in Kilometer: Netzwerkstrukturen 1) Nehmen wr an, n enem Neubaugebet soll für 10.000 Haushalte en Telefonnetz nstallert werden. Herzu muss von jedem Haushalt en Kabel zur nächstgelegenen Vermttlungsstelle gezogen werden.

Mehr

Flußnetzwerke - Strukturbildung in der natürlichen Umwelt -

Flußnetzwerke - Strukturbildung in der natürlichen Umwelt - Flußnetzwerke - Strukturbldung n der natürlchen Umwelt - Volkhard Nordmeer, Claus Zeger und Hans Joachm Schlchtng Unverstät - Gesamthochschule Essen Das wohl bekannteste und größte exsterende natürlche

Mehr

Lineare Regression (1) - Einführung I -

Lineare Regression (1) - Einführung I - Lneare Regresson (1) - Enführung I - Mttels Regressonsanalysen und kompleeren, auf Regressonsanalysen aserenden Verfahren können schenar verschedene, jedoch nenander üerführare Fragen untersucht werden:

Mehr

Praktikum Physikalische Chemie I (C-2) Versuch Nr. 6

Praktikum Physikalische Chemie I (C-2) Versuch Nr. 6 Praktkum Physkalsche Cheme I (C-2) Versuch Nr. 6 Konduktometrsche Ttratonen von Säuren und Basen sowe Fällungsttratonen Praktkumsaufgaben 1. Ttreren Se konduktometrsch Schwefelsäure mt Natronlauge und

Mehr

Statistik und Wahrscheinlichkeit

Statistik und Wahrscheinlichkeit Regeln der Wahrschenlchketsrechnung tatstk und Wahrschenlchket Regeln der Wahrschenlchketsrechnung Relatve Häufgket n nt := Eregnsalgebra Eregnsraum oder scheres Eregns und n := 00 Wahrschenlchket Eregnsse

Mehr

Funktionsgleichungen folgende Funktionsgleichungen aus der Vorlesung erhält. = e

Funktionsgleichungen folgende Funktionsgleichungen aus der Vorlesung erhält. = e Andere Darstellungsformen für de Ausfall- bzw. Überlebens-Wahrschenlchket der Webull-Vertelung snd we folgt: Ausfallwahrschenlchket: F ( t ) Überlebenswahrschenlchket: ( t ) = R = e e t t Dabe haben de

Mehr

4. Musterlösung. Problem 1: Kreuzende Schnitte **

4. Musterlösung. Problem 1: Kreuzende Schnitte ** Unverstät Karlsruhe Algorthmentechnk Fakultät für Informatk WS 05/06 ITI Wagner 4. Musterlösung Problem 1: Kreuzende Schntte ** Zwe Schntte (S, V \ S) und (T, V \ T ) n enem Graph G = (V, E) kreuzen sch,

Mehr

ERP Cloud Tutorial. E-Commerce ECM ERP SFA EDI. Backup. Preise erfassen. www.comarch-cloud.de

ERP Cloud Tutorial. E-Commerce ECM ERP SFA EDI. Backup. Preise erfassen. www.comarch-cloud.de ERP Cloud SFA ECM Backup E-Commerce ERP EDI Prese erfassen www.comarch-cloud.de Inhaltsverzechns 1 Zel des s 3 2 Enführung: Welche Arten von Presen gbt es? 3 3 Beschaffungsprese erfassen 3 3.1 Vordefnerte

Mehr

FORMELSAMMLUNG STATISTIK (I)

FORMELSAMMLUNG STATISTIK (I) Statst I / B. Zegler Formelsammlng FORMELSAMMLUG STATISTIK (I) Statstsche Formeln, Defntonen nd Erläterngen A a X n qaltatves Mermal Mermalsasprägng qanttatves Mermal Mermalswert Anzahl der statstschen

Mehr

1.1 Grundbegriffe und Grundgesetze 29

1.1 Grundbegriffe und Grundgesetze 29 1.1 Grundbegrffe und Grundgesetze 9 mt dem udrtschen Temperturkoeffzenten 0 (Enhet: K - ) T 1 d 0. (1.60) 0 dt T 93 K Betrchtet mn nun den elektrschen Wderstnd enes von enem homogenen elektrschen Feld

Mehr

1 BWL 4 Tutorium V vom 15.05.02

1 BWL 4 Tutorium V vom 15.05.02 1 BWL 4 Tutorum V vom 15.05.02 1.1 Der Tlgungsfaktor Der Tlgungsfaktor st der Kehrwert des Endwertfaktors (EWF). EW F (n; ) = (1 + )n 1 T F (n; ) = 1 BWL 4 TUTORIUM V VOM 15.05.02 (1 ) n 1 Mt dem Tlgungsfaktor(TF)

Mehr

Für jeden reinen, ideal kristallisierten Stoff ist die Entropie am absoluten Nullpunkt gleich

Für jeden reinen, ideal kristallisierten Stoff ist die Entropie am absoluten Nullpunkt gleich Drtter Hauptsatz der Thermodynamk Rückblck auf vorherge Vorlesung Methoden zur Erzeugung tefer Temperaturen: - umgekehrt laufende WKM (Wärmepumpe) - Joule-Thomson Effekt bs 4 K - Verdampfen von flüssgem

Mehr

NSt. Der Wert für: x= +1 liegt, erkennbar an dem zugehörigen Funktionswert, der gesuchten Nullstelle näher.

NSt. Der Wert für: x= +1 liegt, erkennbar an dem zugehörigen Funktionswert, der gesuchten Nullstelle näher. PV - Hausaugabe Nr. 7.. Berechnen Se eakt und verglechen Se de Werte ür de Nullstelle, de mttels dem Verahren von Newton, der Regula als und ener Mttelung zu erhalten snd von der! Funkton: ( ) Lösungs

Mehr

Grundlagen der makroökonomischen Analyse kleiner offener Volkswirtschaften

Grundlagen der makroökonomischen Analyse kleiner offener Volkswirtschaften Bassmodul Makroökonomk /W 2010 Grundlagen der makroökonomschen Analyse klener offener Volkswrtschaften Terms of Trade und Wechselkurs Es se en sogenannter Fall des klenen Landes zu betrachten; d.h., de

Mehr

6. Modelle mit binären abhängigen Variablen

6. Modelle mit binären abhängigen Variablen 6. Modelle mt bnären abhänggen Varablen 6.1 Lneare Wahrschenlchketsmodelle Qualtatve Varablen: Bnäre Varablen: Dese Varablen haben genau zwe möglche Kategoren und nehmen deshalb genau zwe Werte an, nämlch

Mehr

Die Ausgangssituation... 14 Das Beispiel-Szenario... 14

Die Ausgangssituation... 14 Das Beispiel-Szenario... 14 E/A Cockpt Für Se als Executve Starten Se E/A Cockpt........................................................... 2 Ihre E/A Cockpt Statusüberscht................................................... 2 Ändern

Mehr

Einbau-/Betriebsanleitung Stahl-PE-Übergang Typ PESS / Typ PESVS Originalbetriebsanleitung Für künftige Verwendung aufbewahren!

Einbau-/Betriebsanleitung Stahl-PE-Übergang Typ PESS / Typ PESVS Originalbetriebsanleitung Für künftige Verwendung aufbewahren! Franz Schuck GmbH Enbau-/Betrebsanletung Stahl-PE-Übergang Typ PESS / Typ PESVS Orgnalbetrebsanletung Für künftge Verwendung aufbewahren! Enletung Dese Anletung st für das Beden-, Instandhaltungs- und

Mehr

Kreditpunkte-Klausur zur Lehrveranstaltung Projektmanagement (inkl. Netzplantechnik)

Kreditpunkte-Klausur zur Lehrveranstaltung Projektmanagement (inkl. Netzplantechnik) Kredtpunkte-Klausur zur Lehrveranstaltung Projektmanagement (nkl. Netzplantechnk) Themensteller: Unv.-Prof. Dr. St. Zelewsk m Haupttermn des Wntersemesters 010/11 Btte kreuzen Se das gewählte Thema an:

Mehr

9 Komplexe Zahlen ( ) ( ) 9.1 Ziele. 9.2 Warum braucht man komplexe Zahlen? 9.3 Darstellung von komplexen Zahlen. r 2. j 2. j 1.

9 Komplexe Zahlen ( ) ( ) 9.1 Ziele. 9.2 Warum braucht man komplexe Zahlen? 9.3 Darstellung von komplexen Zahlen. r 2. j 2. j 1. Mathematk I / Komplexe Zahlen 9 Komplexe Zahlen 9. Zele Am Ende deses Kaptels hast Du ene Grundvorstellung was komplexe Zahlen snd. Du kannst se grafsch darstellen und enfache Berechnungen durchführen.

Mehr

Wechselstrom. Dr. F. Raemy Wechselspannung und Wechselstrom können stets wie folgt dargestellt werden : U t. cos (! t + " I ) = 0 $ " I

Wechselstrom. Dr. F. Raemy Wechselspannung und Wechselstrom können stets wie folgt dargestellt werden : U t. cos (! t +  I ) = 0 $  I Wechselstrom Dr. F. Raemy Wechselspannung und Wechselstrom können stets we folgt dargestellt werden : U t = U 0 cos (! t + " U ) ; I ( t) = I 0 cos (! t + " I ) Wderstand m Wechselstromkres Phasenverschebung:!"

Mehr

18. Dynamisches Programmieren

18. Dynamisches Programmieren 8. Dynamsches Programmeren Dynamsche Programmerung we gerge Algorthmen ene Algorthmenmethode, um Optmerungsprobleme zu lösen. We Dvde&Conquer berechnet Dynamsche Programmerung Lösung enes Problems aus

Mehr

Datenträger löschen und einrichten

Datenträger löschen und einrichten Datenträger löschen und enrchten De Zentrale zum Enrchten, Löschen und Parttoneren von Festplatten st das Festplatten-Denstprogramm. Es beherrscht nun auch das Verklenern von Parttonen, ohne dass dabe

Mehr

Seminar Analysis und Geometrie Professor Dr. Martin Schmidt - Markus Knopf - Jörg Zentgraf. - Fixpunktsatz von Schauder -

Seminar Analysis und Geometrie Professor Dr. Martin Schmidt - Markus Knopf - Jörg Zentgraf. - Fixpunktsatz von Schauder - Unverstät Mannhem Fakultät für Mathematk und Informatk Lehrstuhl für Mathematk III Semnar Analyss und Geometre Professor Dr. Martn Schmdt - Markus Knopf - Jörg Zentgraf - Fxpunktsatz von Schauder - Ncole

Mehr

18. Vorlesung Sommersemester

18. Vorlesung Sommersemester 8. Vorlesung Sommersemester Der Drehmpuls des starren Körpers Der Drehmpuls des starren Körpers st etwas komplzerter. Wenn weder de Wnkelgeschwndgket um de feste Rotatonsachse st, so wrd mt Hlfe des doppelten

Mehr

W i r m a c h e n d a s F e n s t e r

W i r m a c h e n d a s F e n s t e r Komfort W r m a c h e n d a s F e n s t e r vertrauen vertrauen Set der Gründung von ROLF Fensterbau m Jahr 1980 snd de Ansprüche an moderne Kunststofffenster deutlch gestegen. Heute stehen neben Scherhet

Mehr

Rotation (2. Versuch)

Rotation (2. Versuch) Rotaton 2. Versuch Bekannt snd berets Vektorfelder be denen das Lnenntegral über ene geschlossene Kurve Null wrd Stchworte: konservatve Kraft Potentalfelder Gradentenfeld. Es gbt auch Vektorfelder be denen

Mehr

1 - Prüfungsvorbereitungsseminar

1 - Prüfungsvorbereitungsseminar 1 - Prüfungsvorberetungssemnar Kaptel 1 Grundlagen der Buchführung Inventur Inventar Blanz Inventur st de Tätgket des mengenmäßgen Erfassens und Bewertens aller Vermögenstele und Schulden zu enem bestmmten

Mehr

SIMULATION VON HYBRIDFAHRZEUGANTRIEBEN MIT

SIMULATION VON HYBRIDFAHRZEUGANTRIEBEN MIT Smulaton von Hybrdfahrzeugantreben mt optmerter Synchronmaschne 1 SIMULATION VON HYBRIDFAHRZEUGANTRIEBEN MIT OPTIMIERTER SYNCHRONMASCHINE H. Wöhl-Bruhn 1 EINLEITUNG Ene Velzahl von Untersuchungen hat sch

Mehr

Messung und Modellierung von Nebensprechstörungen auf

Messung und Modellierung von Nebensprechstörungen auf Messung und Modellerung von ebensprechstörungen au xdl-kanälen Alred Voglgsang ITG Dsussonsstzung Messverahren der EMV 5.0.003 Glederung. Atuelle Ausgangsstuaton. ebensprechen au xdl-kanälen 3. mulaton

Mehr

9 Komplexe Zahlen ( ) ( ) 9.1 Ziele. 9.2 Warum braucht man komplexe Zahlen? 9.3 Darstellung von komplexen Zahlen. r 2. j 2. j 1.

9 Komplexe Zahlen ( ) ( ) 9.1 Ziele. 9.2 Warum braucht man komplexe Zahlen? 9.3 Darstellung von komplexen Zahlen. r 2. j 2. j 1. Mathematk I / Komplexe Zahlen 9 Komplexe Zahlen 9. Zele Am Ende deses Kaptels hast Du ene Grundvorstellung was komplexe Zahlen snd. Du kannst se grafsch darstellen und enfache Berechnungen durchführen.

Mehr

Lösungen der Aufgaben zu Kapitel 2

Lösungen der Aufgaben zu Kapitel 2 Lösungen der Aufgaben zu Kaptel Abschntt 1 Aufgabe 1 Wr benutzen de Potenzrechenregeln, um ene Potenz von mt geradem Eponenten n oder mt ungeradem Eponenten n + 1 we folgt darzustellen: n n und n+1 n n

Mehr

Franzis Verlag, 85586 Poing ISBN 978-3-7723-4046-8 Autor des Buches: Leonhard Stiny

Franzis Verlag, 85586 Poing ISBN 978-3-7723-4046-8 Autor des Buches: Leonhard Stiny eseproben aus dem Buch "n mt en zur Elektrotechnk" Franzs Verlag, 85586 Pong ISBN 978--77-4046-8 Autor des Buches: eonhard Stny Autor deser eseprobe: eonhard Stny 005/08, alle echte vorbehalten. De Formaterung

Mehr

Für wen ist dieses Buch? Was ist dieses Buch? Besonderheiten. Neu in dieser Auflage

Für wen ist dieses Buch? Was ist dieses Buch? Besonderheiten. Neu in dieser Auflage Für wen st deses Bch? Das Taschenbch der Elektrotechnk rchtet sch an Stdentnnen nd Stdenten an nverstäten nd Fachhochschlen n den Berechen Elektrotechnk Nachrchtentechnk Technsche Informatk allgemene Ingenerwssenschaften

Mehr

Leitliniengerechte psychosoziale Versorgung aus der Sicht des Krankenhausmanagements

Leitliniengerechte psychosoziale Versorgung aus der Sicht des Krankenhausmanagements Unser Auftrag st de aktve Umsetzung der frohen Botschaft Jesu m Denst am Menschen. Ene Herausforderung, der wr täglch neu begegnen. Mt modernster Technk und Kompetenz. Und vor allem mt Menschlchket. Letlnengerechte

Mehr

3.2 Die Kennzeichnung von Partikeln 3.2.1 Partikelmerkmale

3.2 Die Kennzeichnung von Partikeln 3.2.1 Partikelmerkmale 3. De Kennzechnung von Patkeln 3..1 Patkelmekmale De Kennzechnung von Patkeln efolgt duch bestmmte, an dem Patkel mess bae und deses endeutg beschebende physka lsche Gößen (z.b. Masse, Volumen, chaaktestsche

Mehr

"Zukunft der Arbeit" Arbeiten bis 70 - Utopie - oder bald Realität? Die Arbeitnehmer der Zukunft

Zukunft der Arbeit Arbeiten bis 70 - Utopie - oder bald Realität? Die Arbeitnehmer der Zukunft "Zukunft der Arbet" Arbeten bs 70 - Utope - oder bald Realtät? De Arbetnehmer der Zukunft Saldo - das Wrtschaftsmagazn Gestaltung: Astrd Petermann Moderaton: Volker Obermayr Sendedatum: 7. Dezember 2012

Mehr

Entscheidungsprobleme der Marktforschung (1)

Entscheidungsprobleme der Marktforschung (1) Prof. Dr. Danel Baer. Enführung 2. Informatonsbedarf 3. Datengewnnung 2. Informatonsbedarf Entschedungsprobleme der () Informatonsbedarf Art Qualtät Menge Informatonsbeschaffung Methodk Umfang Häufgket

Mehr

Simulationsgestützte Entwicklung von innovativen Turbomaschinen für CO 2 -freie Kraftwerke

Simulationsgestützte Entwicklung von innovativen Turbomaschinen für CO 2 -freie Kraftwerke Smulatonsgestützte Entwcklung von nnovatven Turbomaschnen für CO 2 -free Kraftwerke Smulaton m Entwcklungsprozess 10. Ma 2011 Dpl.-Ing. Bastan Schoeneberg, Dpl.-Ing. Uwe Salecker CFX Berln Software GmbH

Mehr

An welche Stichwörter von der letzten Vorlesung können Sie sich noch erinnern?

An welche Stichwörter von der letzten Vorlesung können Sie sich noch erinnern? An welche Stchwörter von der letzten Vorlesung können Se sch noch ernnern? Gasgesetz ür deale Gase pv = nr Gelestete Arbet be sotherme Ausdehnung adabatsche Ausdehnung 2 n Reale Gase p + a 2 ( V nb) =

Mehr

tutorial N o 1a InDesign CS4 Layoutgestaltung Erste Schritte - Anlegen eines Dokumentes I a (Einfache Nutzung) Kompetenzstufe keine Voraussetzung

tutorial N o 1a InDesign CS4 Layoutgestaltung Erste Schritte - Anlegen eines Dokumentes I a (Einfache Nutzung) Kompetenzstufe keine Voraussetzung Software Oberkategore Unterkategore Kompetenzstufe Voraussetzung Kompetenzerwerb / Zele: InDesgn CS4 Layoutgestaltung Erste Schrtte - Anlegen enes Dokumentes I a (Enfache Nutzung) kene N o 1a Umgang mt

Mehr

Versicherungstechnischer Umgang mit Risiko

Versicherungstechnischer Umgang mit Risiko Verscherungstechnscher Umgang mt Rsko. Denstlestung Verscherung: Schadensdeckung von für de enzelne Person ncht tragbaren Schäden durch den fnanzellen Ausglech n der Zet und m Kollektv. Des st möglch über

Mehr

1 = Gl.(12.7) Der Vergleich mit Gl. (12.3) zeigt, dass für die laminare Rohrströmung die Rohrreibungszahl

1 = Gl.(12.7) Der Vergleich mit Gl. (12.3) zeigt, dass für die laminare Rohrströmung die Rohrreibungszahl 0. STRÖMUNG INKOMPRESSIBLER FLUIDE IN ROHRLEITUNGEN Enführung Vorlesung Strömungslehre Prof. Dr.-Ing. Chrstan Olver Pascheret C. O. Pascheret Insttute of Flud Mechancs and Acoustcs olver.pascheret@tu-berln.de

Mehr

Standortplanung. Positionierung von einem Notfallhubschrauber in Südtirol. Feuerwehrhaus Zentrallagerpositionierung

Standortplanung. Positionierung von einem Notfallhubschrauber in Südtirol. Feuerwehrhaus Zentrallagerpositionierung Standortplanung Postonerung von enem Notfallhubschrauber n Südtrol Postonerung von enem Feuerwehrhaus Zentrallagerpostonerung 1 2 Postonerung von enem Notfallhubschrauber n Südtrol Zu bekannten Ensatzorten

Mehr

Beim Wiegen von 50 Reispaketen ergaben sich folgende Gewichte X(in Gramm):

Beim Wiegen von 50 Reispaketen ergaben sich folgende Gewichte X(in Gramm): Aufgabe 1 (4 + 2 + 3 Punkte) Bem Wegen von 0 Respaketen ergaben sch folgende Gewchte X(n Gramm): 1 2 3 4 K = (x u, x o ] (98,99] (99, 1000] (1000,100] (100,1020] n 1 20 10 a) Erstellen Se das Hstogramm.

Mehr

Eva Hoppe Stand: 2000

Eva Hoppe Stand: 2000 CHECKLISTE ARBEITSSCHUTZ A. Rechtsgrundlagen der Arbetgeberpflchten Ist der Arbetgeber/de Behördenletung mt der Rechtssystematk und dem modernen Verständns des Arbetsschutzes vertraut? Duale Rechtssystematk

Mehr

phil omondo phil omondo Skalierung von Organisationen und Innovationen gestalten Sie möchten mehr Preise und Leistungen Workshops und Seminare

phil omondo phil omondo Skalierung von Organisationen und Innovationen gestalten Sie möchten mehr Preise und Leistungen Workshops und Seminare Skalerung von Organsatonen und Innovatonen gestalten phl omondo Se stehen vor dem nächsten Wachstumsschrtt hrer Organsaton oder haben berets begonnen desen aktv zu gestalten? In desem Workshop-Semnar erarbeten

Mehr

Funds Transfer Pricing. Daniel Schlotmann

Funds Transfer Pricing. Daniel Schlotmann Danel Schlotmann Fankfut, 8. Apl 2013 Defnton Lqudtät / Lqudtätssko Lqudtät Pesonen ode Untenehmen: snd lqude, wenn se he laufenden Zahlungsvepflchtungen jedezet efüllen können. Vemögensgegenstände: snd

Mehr

4 Digitale Filter und Bildoperationen

4 Digitale Filter und Bildoperationen Dgtale Flter und Bldoperatonen 51 4 Dgtale Flter und Bldoperatonen Blder welche durch ene Kamera augenommen wurden snd otmals ncht drekt ür ene nacholgende Bldanalyse geegnet. Gründe daür snd bespelswese

Mehr

Einführung in die Finanzmathematik

Einführung in die Finanzmathematik 1 Themen Enführung n de Fnanzmathematk 1. Znsen- und Znsesznsrechnung 2. Rentenrechnung 3. Schuldentlgung 2 Defntonen Kaptal Betrag n ener bestmmten Währungsenhet, der zu enem gegebenen Zetpunkt fällg

Mehr

Sei T( x ) die Tangente an den Graphen der Funktion f(x) im Punkt ( x 0, f(x 0 ) ) : T( x ) = f(x 0 ) + f (x 0 ) ( x - x 0 ).

Sei T( x ) die Tangente an den Graphen der Funktion f(x) im Punkt ( x 0, f(x 0 ) ) : T( x ) = f(x 0 ) + f (x 0 ) ( x - x 0 ). Taylorentwcklung (Approxmaton durch Polynome). Problemstellung Se T( x ) de Tangente an den Graphen der Funkton f(x) m Punkt ( x 0, f(x 0 ) ) : T( x ) = f(x 0 ) + f (x 0 ) ( x - x 0 ). Dann kann man de

Mehr

Arbeitsgruppe Radiochemie Radiochemisches Praktikum P 06. Einführung in die Statistik. 1. Zählung von radioaktiven Zerfällen und Statistik 2

Arbeitsgruppe Radiochemie Radiochemisches Praktikum P 06. Einführung in die Statistik. 1. Zählung von radioaktiven Zerfällen und Statistik 2 ETH Arbetsgruppe Radocheme Radochemsches Praktkum P 06 Enführung n de Statstk INHALTSVERZEICHNIS Sete 1. Zählung von radoaktven Zerfällen und Statstk 2 2. Mttelwert und Varanz 2 3. Momente ener Vertelung

Mehr

Einführung in Origin 8 Pro

Einführung in Origin 8 Pro Orgn 8 Pro - Enführung 1 Enführung n Orgn 8 Pro Andreas Zwerger Orgn 8 Pro - Enführung 2 Überscht 1) Kurvenft, was st das nochmal? 2) Daten n Orgn mporteren 3) Daten darstellen / plotten 4) Kurven an Daten

Mehr

wird auch Spannweite bzw. Variationsbreite genannt ist definiert als die Differenz zwischen dem größten und kleinsten Messwert einer Verteilung:

wird auch Spannweite bzw. Variationsbreite genannt ist definiert als die Differenz zwischen dem größten und kleinsten Messwert einer Verteilung: Streuungswerte: 1) Range (R) ab metrschem Messnveau ) Quartlabstand (QA) und mttlere Quartlabstand (MQA) ab metrschem Messnveau 3) Durchschnttlche Abwechung (AD) ab metrschem Messnveau 4) Varanz (s ) ab

Mehr

Kreditrisikomodellierung und Risikogewichte im Neuen Baseler Accord

Kreditrisikomodellierung und Risikogewichte im Neuen Baseler Accord 1 Kredtrskomodellerung und Rskogewchte m Neuen Baseler Accord erschenen n: Zetschrft für das gesamte Kredtwesen (ZfgK), 54. Jahrgang, 2001, S. 1004-1005. Prvatdozent Dr. Hans Rau-Bredow, Lehrstuhl für

Mehr

d da B A Die gesamte Erscheinung der magnetischen Feldlinien bezeichnet man als magnetischen Fluss. = 1 V s = 1 Wb

d da B A Die gesamte Erscheinung der magnetischen Feldlinien bezeichnet man als magnetischen Fluss. = 1 V s = 1 Wb S N De amte Erschenng der magnetschen Feldlnen bezechnet man als magnetschen Flss. = V s = Wb Kraftflssdchte oder magnetsche ndkton B. B d da B = Wb/m = T Für homogene Magnetfelder, we se m nneren von

Mehr

Ertragsmanagementmodelle in serviceorientierten IT- Landschaften

Ertragsmanagementmodelle in serviceorientierten IT- Landschaften Ertragsmanagementmodelle n servceorenterten IT- Landschaften Thomas Setzer, Martn Bchler Lehrstuhl für Internetbaserte Geschäftssysteme (IBIS) Fakultät für Informatk, TU München Boltzmannstr. 3 85748 Garchng

Mehr

Zinseszinsformel (Abschnitt 1.2) Begriffe und Symbole der Zinsrechnung. Die vier Fragestellungen der Zinseszinsrechnung 4. Investition & Finanzierung

Zinseszinsformel (Abschnitt 1.2) Begriffe und Symbole der Zinsrechnung. Die vier Fragestellungen der Zinseszinsrechnung 4. Investition & Finanzierung Znsesznsformel (Abschntt 1.2) 3 Investton & Fnanzerung 1. Fnanzmathematk Unv.-Prof. Dr. Dr. Andreas Löffler (AL@wacc.de) t Z t K t Znsesznsformel 0 1.000 K 0 1 100 1.100 K 1 = K 0 + K 0 = K 0 (1 + ) 2

Mehr

Nullstellen Suchen und Optimierung

Nullstellen Suchen und Optimierung Nullstellen Suchen und Optmerung Typsche Probleme: De optmale Bahnkurve De Mnmerung des Erwartungswertes ür den Hamltonan Wr möchten ene Funkton mnmeren oder mameren solch en Problem wrd Optmerung genannt!

Mehr

Grundlagen der Mathematik I Lösungsvorschlag zum 12. Tutoriumsblatt

Grundlagen der Mathematik I Lösungsvorschlag zum 12. Tutoriumsblatt Mathematsches Insttut der Unverstät München Wntersemester 3/4 Danel Rost Lukas-Faban Moser Grundlagen der Mathematk I Lösungsvorschlag zum. Tutorumsblatt Aufgabe. a De Formel besagt, daß de Summe der umrahmten

Mehr

MULTIVAC Kundenportal Ihr Zugang zur MULTIVAC Welt

MULTIVAC Kundenportal Ihr Zugang zur MULTIVAC Welt MULTIVAC Kundenportal Ihr Zugang zur MULTIVAC Welt Inhalt MULTIVAC Kundenportal Enletung Errechbarket rund um de Uhr Ihre ndvduellen Informatonen Enfach und ntutv Hlfrech und aktuell Ihre Vortele m Überblck

Mehr

Hydrosystemanalyse: Finite-Elemente-Methode (FEM)

Hydrosystemanalyse: Finite-Elemente-Methode (FEM) Hydrosystemanalyse: Prof. Dr.-Ing. habl. Olaf Koldtz 1 Helmholtz Centre for Envronmental Research UFZ, Lepzg 2 Technsche Unverstät Dresden TUD, Dresden Dresden, 03. Jul 2015 1/31 Prof. Dr.-Ing. habl. Olaf

Mehr

Facility Location Games

Facility Location Games Faclty Locaton Games Semnar über Algorthmen SS 2006 Klaas Joeppen 1 Abstract Wr haben berets sehr häufg von Nash-Glechgewchten und vor allem von deren Exstenz gesprochen. Das Faclty Locaton Game betet

Mehr

Modellierung von Hydrosystemen Numerische und daten-basierte Methoden 2018 Finite-Elemente-Methode Selke-Modell

Modellierung von Hydrosystemen Numerische und daten-basierte Methoden 2018 Finite-Elemente-Methode Selke-Modell Modellerung von Hydrosystemen Numersche und daten-baserte Methoden BHYWI-22-21 @ 2018 Fnte-Elemente-Methode Selke-Modell Olaf Koldtz *Helmholtz Centre for Envronmental Research UFZ 1 Technsche Unverstät

Mehr

binäre Suchbäume Informatik I 6. Kapitel binäre Suchbäume binäre Suchbäume Rainer Schrader 4. Juni 2008 O(n) im worst-case Wir haben bisher behandelt:

binäre Suchbäume Informatik I 6. Kapitel binäre Suchbäume binäre Suchbäume Rainer Schrader 4. Juni 2008 O(n) im worst-case Wir haben bisher behandelt: Informatk I 6. Kaptel Raner Schrader Zentrum für Angewandte Informatk Köln 4. Jun 008 Wr haben bsher behandelt: Suchen n Lsten (lnear und verkettet) Suchen mttels Hashfunktonen jewels unter der Annahme,

Mehr

Konkave und Konvexe Funktionen

Konkave und Konvexe Funktionen Konkave und Konvexe Funktonen Auch wenn es n der Wrtschaftstheore mest ncht möglch st, de Form enes funktonalen Zusammenhangs explzt anzugeben, so kann man doch n velen Stuatonen de Klasse der n Frage

Mehr

VERGLEICH VON TESTVERFAHREN FÜR DIE DEFORMATIONSANALYSE

VERGLEICH VON TESTVERFAHREN FÜR DIE DEFORMATIONSANALYSE VERGLEICH VON TESTVERFAHREN FÜR DIE DEFORMATIONSANALYSE Karl Rudolf KOCH Knut RIESMEIER In: WELSCH, Walter (Hrsg.) [1983]: Deformatonsanalysen 83 Geometrsche Analyse und Interpretaton von Deformatonen

Mehr

Aufgabe 8 (Gewinnmaximierung bei vollständiger Konkurrenz):

Aufgabe 8 (Gewinnmaximierung bei vollständiger Konkurrenz): LÖSUNG AUFGABE 8 ZUR INDUSTRIEÖKONOMIK SEITE 1 VON 6 Aufgabe 8 (Gewnnmaxmerung be vollständger Konkurrenz): Betrachtet wrd en Unternehmen, das ausschleßlch das Gut x produzert. De m Unternehmen verwendete

Mehr

CKE Trainingsbausteine. Portfoliomanagement und Risikomanagement Strom und Erdgas Fünf kreative Tage, die Sie weiterbringen werden

CKE Trainingsbausteine. Portfoliomanagement und Risikomanagement Strom und Erdgas Fünf kreative Tage, die Sie weiterbringen werden CKE Tranngsbaustene Portfolomanagement und Rskomanagement Strom und Erdgas Fünf kreatve Tage, de Se weterbrngen werden Ihr Zel Se nteresseren sch für den Energemarkt n all senen Facetten, möchten Produkte

Mehr

13.Selbstinduktion; Induktivität

13.Selbstinduktion; Induktivität 13Sebstndukton; Induktvtät 131 Sebstndukton be En- und Ausschatvorgängen Versuch 1: Be geschossenem Schater S wrd der Wderstand R 1 so groß gewäht, dass de Gühämpchen G 1 und G 2 gech he euchten Somt snd

Mehr

Universität Karlsruhe (TH)

Universität Karlsruhe (TH) Unverstät Karlsruhe (TH) Forschungsunverstät gegründet 825 Parallele Algorthmen I Augaben und Lösungen Pro. Dr. Walter F. Tchy Dr. Vctor Pankratus Davd Meder Augabe () Gegeben se en N-elementger Zahlenvektor

Mehr

Definition des linearen Korrelationskoeffizienten

Definition des linearen Korrelationskoeffizienten Defnton des lnearen Korrelatonskoeffzenten r xy x y y r x xy y 1 x x y y x Der Korrelatonskoeffzent st en Indkator dafür, we gut de Punkte (X,Y) zu ener Geraden passen. Sen Wert legt zwschen -1 und +1.

Mehr

Boost-Schaltwandler für Blitzgeräte

Boost-Schaltwandler für Blitzgeräte jean-claude.feltes@educaton.lu 1 Boost-Schaltwandler für Bltzgeräte In Bltzgeräten wrd en Schaltwandler benutzt um den Bltzkondensator auf ene Spannung von engen 100V zu laden. Oft werden dazu Sperrwandler

Mehr

Finanzwirtschaft. Kapitel 3: Simultane Investitions- und Finanzplanung. Lehrstuhl für Finanzwirtschaft - Universität Bremen 1

Finanzwirtschaft. Kapitel 3: Simultane Investitions- und Finanzplanung. Lehrstuhl für Finanzwirtschaft - Universität Bremen 1 Fnanzwrtschaft Kaptel 3: Smultane Investtons- und Fnanzplanung Prof. Dr. Thorsten Poddg Lehrstuhl für Allgemene Betrebswrtschaftslehre, nsbes. Fnanzwrtschaft Unverstät Bremen Hochschulrng 4 / WW-Gebäude

Mehr

Bildverarbeitung Herbstsemester 2012. Bildspeicherung

Bildverarbeitung Herbstsemester 2012. Bildspeicherung Bldverarbetung Herbstsemester 2012 Bldspecherung 1 Inhalt Bldformate n der Überscht Coderung m Überblck Huffman-Coderung Datenredukton m Überblck Unterabtastung Skalare Quantserung 2 Lernzele De wchtgsten

Mehr

3. Lineare Algebra (Teil 2)

3. Lineare Algebra (Teil 2) Mathematk I und II für Ingeneure (FB 8) Verson /704004 Lneare Algebra (Tel ) Parameterdarstellung ener Geraden Im folgenden betrachten wr Geraden m eukldschen Raum n, wobe uns hauptsächlch de Fälle n bzw

Mehr

Backup- und Restore-Systeme implementieren. Technische Berufsschule Zürich IT Seite 1

Backup- und Restore-Systeme implementieren. Technische Berufsschule Zürich IT Seite 1 Modul 143 Backup- und Restore-Systeme mplementeren Technsche Berufsschule Zürch IT Sete 1 Warum Backup? (Enge Zahlen aus Untersuchungen) Wert von 100 MByte Daten bs CHF 1 500 000 Pro Vorfall entstehen

Mehr

WÄRMEÜBERTRAGUNG - Doppelrohr

WÄRMEÜBERTRAGUNG - Doppelrohr WÄRMEÜBERTRAGUNG - Doppelrohr Dpl.-Ing. Eva Drenko 1. Voraussetzungen Für de Durchführung deses Übungsbespels snd folgende theoretsche Grundlagen erforderlch: a. Gesetzmäßgketen von Transportprozessen;

Mehr

Nomenklatur - Übersicht

Nomenklatur - Übersicht Nomenklatur - Überscht Name der synthetschen Varable Wert der synthetschen Varable durch synth. Varable erklärte Gesamt- Streuung durch synth. Varable erkl. Streuung der enzelnen Varablen Korrelaton zwschen

Mehr

Multilineare Algebra und ihre Anwendungen. Nr. 6: Normalformen. Verfasser: Yee Song Ko Adrian Jenni Rebecca Huber Damian Hodel

Multilineare Algebra und ihre Anwendungen. Nr. 6: Normalformen. Verfasser: Yee Song Ko Adrian Jenni Rebecca Huber Damian Hodel ultlneare Algebra und hre Anwendungen Nr. : Normalformen Verfasser: Yee Song Ko Adran Jenn Rebecca Huber Daman Hodel 9.5.7 - - ultlneare Algebra und hre Anwendungen Jordan sche Normalform Allgemene heore

Mehr

Auswertung univariater Datenmengen - deskriptiv

Auswertung univariater Datenmengen - deskriptiv Auswertung unvarater Datenmengen - desrptv Bblografe Prof. Dr. Küc; Statst, Vorlesungssrpt Abschntt 6.. Bleymüller/Gehlert/Gülcher; Statst für Wrtschaftswssenschaftler Verlag Vahlen Bleymüller/Gehlert;

Mehr

14 Überlagerung einfacher Belastungsfälle

14 Überlagerung einfacher Belastungsfälle 85 De bsher betrachteten speellen Belastungsfälle treten n der Technk. Allg. ncht n rener orm auf, sondern überlagern sch. Da de auftretenden Verformungen klen snd und en lnearer Zusammenhang wschen Verformung

Mehr

6 Wandtafeln. 6.3 Berechnung der Kräfte und des Schubflusses auf Wandtafeln. 6.3.1 Allgemeines

6 Wandtafeln. 6.3 Berechnung der Kräfte und des Schubflusses auf Wandtafeln. 6.3.1 Allgemeines 6 Wandtafeln 6.3 Berechnung der Kräfte und des Schubflusses auf Wandtafeln 6.3.1 Allgemenes Be der Berechnung der auf de enzelnen Wandtafeln entfallenden Horzontalkräfte wrd ene starre Deckenschebe angenommen.

Mehr

Anwendungsmöglichkeiten von Lernverfahren

Anwendungsmöglichkeiten von Lernverfahren Künstlche Neuronale Netze Lernen n neuronalen Netzen 2 / 30 Anwendungsmöglcheten von Lernverfahren Prnzpelle Möglcheten Verbndungsorentert 1 Hnzufügen neuer Verbndungen 2 Löschen bestehender Verbndungen

Mehr

Projektmanagement / Netzplantechnik Sommersemester 2005 Seite 1

Projektmanagement / Netzplantechnik Sommersemester 2005 Seite 1 Projektmanagement / Netzplantechnk Sommersemester 005 Sete 1 Prüfungs- oder Matrkel-Nr.: Themenstellung für de Kredtpunkte-Klausur m Haupttermn des Sommersemesters 005 zur SBWL-Lehrveranstaltung Projektmanagement

Mehr

5. Fachtagung Baumaschinentechnik 2012

5. Fachtagung Baumaschinentechnik 2012 5. Fachtagung Baumaschnentechnk 2012 Energe, Mechatronk, Smulaton Plattform- und Softwareunabhängge Smulaton der Erdstoff-Maschne Interakton Günter Kunze André Katterfeld Chrstan Rchter Hendrk Otto Chrstan

Mehr

6 Numerische Simulation von druckentlasteten Gasexplosionen

6 Numerische Simulation von druckentlasteten Gasexplosionen 6 Numersche Smulaton von drucentlasteten Gasexplosonen Explosonen von brennbaren Gasen und Dämpfen stellen omplexe Prozesse mt gegensetger Beenflussung physalscher und chemscher Prozesse dar. Se snd dadurch

Mehr

2 Zufallsvariable und Verteilungen

2 Zufallsvariable und Verteilungen Zufallsvarable und Vertelungen 7 Zufallsvarable und Vertelungen Wr wollen uns jetzt mt Zufallsexpermenten beschäftgen, deren Ausgänge durch (reelle) Zahlen beschreben werden können, oder be denen man jedem

Mehr