Autor
|
Thema: Kühlung eines E-Motors (3122 mal gelesen)
|
Basti1986 Mitglied Student
Beiträge: 17 Registriert: 04.12.2009
|
erstellt am: 04. Mrz. 2012 18:04 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich bin neu was die CFD und vorallem OpenFOAM betrifft, bin aber schon fleissig am mitlesen und ausprobieren. Muss aber ehrlicherweise zugeben, dass ich im Moment mit meiner Aufgabenstellung (Diplomarbeit) nicht mehr so richtig weiterkomme. Nutze die OpenFOAM Version 2.0.1 mit Paraview 3.10.1 Zum Vernetzen und bauen der einfachen Modelle steht mir ANSA zur Verfügung. Das Problem ist nun folgendes: Ich soll die Strömung durch einen E-Motor (Flüssigkeitsgekühlt) simulieren und dabei auf folgende Größen eingehen: - Durchfluss an Spalt zwischen Rotor und Stator bzw. den Kühlkanälen im Stator - Temperaturverteilung und vorallem der Temperaturübergang in die Solids - Das Schermoment das entsteht wenn sich der Rotor in einem flüssigen Medium im Spalt bewegt Habe die ganze Sache mit SimpleFoam angefangen und habe, zumindest was die Durchflüsse betrifft einigermaßen plausible Ergebnisse erhalten. Habe als nächsten Schritt die skalare Temperaturverteilung in meinem SimpleFoam Solver eingebaut, was auch soweit funktioniert hat (How to Add Temperatur to icoFoam). Jetzt habe ich aber festgestellt, dass durch die Drehung des Rotors im Medium keine Temperatur entsteht. Das wäre sozusagen mein nächster geplanter Schritt, was die Temperatursache betrifft. Desweiteren versuch ich mich auch grade an den multiReagionHeater Tutorials bezüglich des Wärmeübergangs. Was den Rest betrifft, muss ich gestehen weiss ich im Moment nicht so Recht weiter und hoffe daher auf eure Hilfe! Hab im Anhang mal so einen stark vereinfachten E-Motor als Bild angehängt, damit man sich was drunter vorstellen kann. Was den Wärmeübergang betrifft, ist mir mittlerweile klar, dass ich die Solids seperat noch hinzufügen muss. Hoffe wirklich auf eure Hilfe wie ich das mit welchen Mitteln eins nach dem anderen machen könnte. Danke auf jeden Fall mal an euch! Grüße Sebastian
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 04. Mrz. 2012 18:38 <-- editieren / zitieren --> Unities abgeben: Nur für Basti1986
Hey Basti, also bzgl. chtMulti kann ich dir sicherlich weiterhelfen. Hab mit diesem auch schon einen Rekuberator simuliert und die Ergebnisse validiert (sah alles sehr gut aus). Für den Wärmeübergang gibts diverse Tools. OF liefert glaub das Tool "wallHeatFlux" jedoch ergaben die Ausgaben dieses Tools (für mich) keine plausiblen Werte. Ich bin dann übergegangen und hab ein Tool von cfd-online.com verwendet, dass (soweit ich noch auf dem Laufenden bin) auch für den chtMulti funktionsfähig war. Mit den Solids hast du jedenfalls schon mal recht. Du brauchst beim CHT für jede separate Region (die verschiedene Eigenschaften aufweist) ein eigenes Netz. Das mit der Drehung hab ich noch nicht so verstanden. Klar ist, dass sich ein Motor dreht, aber hast du dann bewegte Netze? Grüße Tobi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Basti1986 Mitglied Student
Beiträge: 17 Registriert: 04.12.2009
|
erstellt am: 04. Mrz. 2012 18:57 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von Shor-ty:
Das mit der Drehung hab ich noch nicht so verstanden. Klar ist, dass sich ein Motor dreht, aber hast du dann bewegte Netze?
Der Rotor dreht sich ja quasi im Stator. Die beiden erzeugen mir einen Spalt. Der Rotorwand hab ich eine Rotationswandfunktion gegeben wo ich die Drehachse und Omega angeben kann. Wenn ich zB mit SimpleFoam das ganze rechne und mir dann die Strömungslinien anzeigen lasse seh ich dass sich das Fluid dreht. MRF hab ich denke ich nicht. Durch die Reibung im Fluid (nicht viel aber vorhanden) müsste sich dieses doch durch die Drehung und der damit verbundenen Reibung etwas erwärmen. Tut es aber leider nicht. Um das rauszufinden habe ich dem Inlet eine bestimmte Temperatur gegeben und dem innerField die selbe Temperatur. Die restlichen Wände habe ich in der Datei 0/T mit type: zeroGradient definiert, weil ich ja keine direkte Beeinflussung haben wollte. Hätte ich bei der Berechnung von T die Reibung mitbetrachtet, sollte sich das Fluid etwas erwärmen. Bleibt aber komplett einheitlich die Temperatur. Ist denn CHT überhaupt der richtige Solver für mich? Ich denke ich werde sämtliche Aufgaben seperat rechnen müssen oder? Oder pack ich das alles in einen großen Solver?! Sorry bin echt nicht wirklich erfahren was das alles betrifft. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 04. Mrz. 2012 19:44 <-- editieren / zitieren --> Unities abgeben: Nur für Basti1986
Du kannst natürlich die Dinge einzeln berechnen und dann die errechneten Werte für die Startlösung eines anderen Solver's verwenden. Wenn du jedenfalls ein Komplettcase erstellen möchtest, dann ist der cht der richtige Solver. Das mit deiner Erwärmung hab ich nun verstanden Hab das selber noch nicht gemacht, aber ich denk das liegt an den transportProperties, bzw. im chtMulti, den thermophysicalProperties. Dein Fall hört sich jedenfalls interessant an und ich werd mir das mit der Reibung mal anschauen. Vllt schaff ich 's heute noch einen Case zu erstellen in dem die Erwärmung durch Reibung erfolgt. Hab 's selber noch nicht gemacht deswegen interessierts mich Die Frage ist, ob dein SimpleFoam mit der implementierten Temperaturfeldgleichung das Lösen kann. Diesbezüglich würd ich dann wohl eher auf nen Solver vom Ordner "heatTransfer" übergehen. Gruß Tobi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Basti1986 Mitglied Student
Beiträge: 17 Registriert: 04.12.2009
|
erstellt am: 05. Mrz. 2012 18:59 <-- editieren / zitieren --> Unities abgeben:
Das wäre natürlich super wenn wir das vlt zusammen hinbringen würden! In jedem Fall schon mal vielen Dank für deine Bemühungen! Hast du vlt noch einen heissen Tip wie ich das Schermoment am Rotor bestimmen könnte? Muss mir erst ein Modell mit Solids erstellen wenn ich wieder in der Arbeit bin und könnte bis dahin mit meinem Fluid Modell weiter testen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 05. Mrz. 2012 19:45 <-- editieren / zitieren --> Unities abgeben: Nur für Basti1986
Also das mit der Erwärmung via Reibung hab ich mal in cfd-online.com reingestellt. Das Problem ist, dass die Reibungsterme (zur Temperaturerhöhung) nicht implementiert sind. Wie das geht weiß ich leider auch nicht, da ich mit dem Programmieren von Solvern noch keine großen Berührungspunkte gehabt habe. Aber vllt. hilft mir ja dort einer. Das Schermoment. Schau mal das Tool forceCoeffs an. Da gibts auch was mit Momenten, bin mir aber nicht sicher, ob das das richtige ist. Grüße Tobi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Basti1986 Mitglied Student
Beiträge: 17 Registriert: 04.12.2009
|
erstellt am: 07. Mrz. 2012 16:21 <-- editieren / zitieren --> Unities abgeben:
Hi Tobi, hi all, wirklich vielen Dank für deine Hilfe. Könntest du mir vlt. den Link zu cfd-online geben? Dann verfolge ich das auch ein bisschen. Hab noch ein paar weitere Fragen. Für das Problem mit dem Drehmoment hab ich nun ein kleines Tool gefunden, calculateTorque, das laut der Beschreibung eigentlich genau das machen soll was ich will. Wenn ichs starte und er alles einliest braucht er aber noch die Datei 0/phi. Muss gestehen ich bin mir nicht ganz klar was phi in OpenFOAM bedeutet. Ist das auch der, ich sag mal Winkel oder was anderes? Gibts in einem Tutorial evtl. die Datei schon die ich mir dann anpassen könnte? Hab bis jetzt leider noch keine gefunden. Werde aber weiter suchen. Das bringt mich eigentlich zu einer grundlegende weiteren Frage. Gibt es irgendwo eine Übersicht aller in OpenFOAM benutzen physikalischen Variablen, wie sie in OF heißen, wie sie in der Physik heißen und eine kleine Beschreibung dazu? Das wäre, find ich, schon sehr hilfreich im allgemeinen. Eine kleine weitere Frage hab ich aber immer noch. Habe gestern für den Solver chtMultiRegion(Simple)Foam mein Modell mit Solids erweitert um das Problem mit der Wärmeübertragung in die Wand anzugehen.Hab dazu eine Hülle um den E-Motor gelegt und mit Volumen gefüllt. Ebenso das innere des Rotors. Das macht dann in Summe 3 verschiedene Volumennetze, welche alle eine eigene PID haben. (fluid, solid, rotor) Hab dann immer eins nach dem anderen exportiert. (Export Visable) und habe jetzt quasi 3 Ordner mit den jeweiligen Modellen. Nun jetzt meine Frage. Wie bring ich das jetzt alles zusammen? Weil angenommen ich kopier sämtliche Datein so zusammen wie in dem Tutorial, fehlt mir immer noch die Dateien die einfach so im Order 0 z.B. sind. Solid, Fluid ect. packe ich ja dann in den Ordner 0/solid etc. Aber was sind das für Dateien die direkt in /0 drin sind? Weiß nicht ob ich das gerade verständlich rüber bring. Aber vlt. weißt du ja was ich meine. So! Sorry für die vielen Fragen. Aber ich bin hier echt langsam am Verzweifeln. In jedem Fall vielen vielen Dank für deine Bemühungen, auch an alle anderen die vlt. noch was dazu schreiben! Grüße Sebastian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 08. Mrz. 2012 00:53 <-- editieren / zitieren --> Unities abgeben: Nur für Basti1986
hey, zu phi In dem Tool das du gefunden hast, ist dort keine Beschreibung zu phi? Ggf. ist dort irgendwo eine Datei mit Namens phi definiert. Die Winkel sind normalerweise mit "theta" definiert, bzw. habe ich diese so schon des öfteren in cfd-online.com vernoommen wenn es um Winkelangaben geht. Dein Phi ist mir bislang noch unbekannt. Hättest du mir das Tool mal (Link etc?). Ansonsten einfach mal nen Eintrag vom Ordner 0 kopieren (bspw. U) und dann in phi umbenennen. Danach einfach nochmals den Solver starten. Er wird dir höchstwahrscheinlich nen Fehler bezüglich falschen Einheiten geben. Danach könntest dir vllt. ableiten was es sein sollte.
Eine Zusammenfassung über die in OF verwendeten Variablen kenn ich nicht. Zum Beispiel hab ich heute den icoFoam um eine Skalare Variable erweitert und ich denke deswegen ist es schwer zu sagen was OF benötigt. Die gängigsten Variablen erfährst du wenn du mit OF arbeitest. Deswegen würd ich mir keine Sorgen machen. Vieles erkennt man an den Einheiten, andere Dinge im UserGuide (ich tue mir immer wieder schwer mit "nu" -> dyn. Visko oder kine. Visko :lol . Deswegen würd ich sagen "phi" ist eine Variable die für deinen Fall iwie spezifisch ist. Allgmein kann man sagen, dass "phi" eine allgemeine Variable ist. Siehe dazu die Kontrollvolumengleichung in der Literatur "Numerische Strömungsmechanik von J.H.Ferziger und M.Perić S.4". Dabei kann "phi" durch diverse Terme ersetzt werden um auf die interessierenden Gleichungen zu kommen. zu verschiedenen Modellen - wenn du deine Geometrien erstellt hast bzw. deine Netzte dann legst du jedes Netz einzeln ab und zwar unter:
constant/Netz1 constant/Netz2 constant/Netz3 Prinzipiell wie bei nem normalen Case nur dass du eben die Einzelnetze noch in einem Unterordner hast, damit OF weiß, welches Netz zu welchem Ordner gehört. Damit erledigt sich die Frage mit den Eintragungen im Ordner 0. Jedes einzelne Netz im Ordner constant erhält natürlich auch eigene Vorgabewerte die dann im Ordner 0 vorzufinden sind: 0/initialisierungNetz1/ 0/initialisierungNetz2/ . . . Beispiel: Du hast nen Doppelrohrwärmetauscher. 2x Fluid und 2x Solid (Innenrohr/Außenrohr) macht gesamt 4 Regionen. Fluid1 hat das Netz im Ordner: constant/Fluid1/polyMesh
seine dazugehörigen Initialisierungswerte im Ordner 0/Fluid1/ ----------------------------------- Fluid2 hat das Netz im Ordner: constant/Fluid2/polyMesh seine dazugehörigen Initialisierungswerte im Ordner 0/Fluid2/ .... usw. ich hoff das ist klar geworden ansonsten einfach nachhacken? Ach ja im Ordner 0/ sind keine Dateien vorhanden. Das ist im Tutorial nur so, weil durch Ausführung von
Code:
./Allrun
die verschiedenen Files in die entsprechenden Ordner kopiert und gelöscht werden. Im Ordner "0" befinden sich bei einem aufgeräumten Case nur Unterordner in denen dann die spezifischen Dateien für den Solver vorliegen. Einfach mal in die Datei "Allrun" gucken. Da steht immer drin was das bash-Skript ausführt. Sodalle. Ich geh ins Bett. Bin immer bereit dir zu helfen. Grüße Tobi
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Cobain83 Mitglied Maschbau Student
Beiträge: 28 Registriert: 08.12.2011 Catia V5 OpenFoam 2.1.0 Fluent Workbench
|
erstellt am: 08. Mrz. 2012 08:23 <-- editieren / zitieren --> Unities abgeben: Nur für Basti1986
|
Basti1986 Mitglied Student
Beiträge: 17 Registriert: 04.12.2009
|
erstellt am: 19. Mrz. 2012 11:34 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, danke für die ganzen Antworten und sorry dass ich erst jetzt schreibe! Hab ein kleines Update und neue Probleme. Konzetriere mich jez erst mal auf folgende Dinge. Der Rest ist erst mal nicht mehr Bestandteil meiner Arbeit: - Durchfluss an Spalt zwischen Rotor und Stator bzw. den Kühlkanälen im Stator - Temperaturerzeugung durch viskose Reibung im Fluid - Wärmeübergang zwischen Solid und Fluid wird aussen vor gelassen - Das Schermoment das entsteht wenn sich der Rotor in einem flüssigen Medium im Spalt bewegt Habe mich im Moment dem Schermoment zugewandt und bin dabei allerdings auf diverse Probleme gestoßen. Habe diverse Rechnungen mit dem Tool "calculateTorque" durchgeführt, bin jedoch zu keinem brauchbaren Ergebnis gekommen. Egal wie lange ich die Rechnung laufen lasse, der Wert für das Drehmoment schwankt immer sehr stark. Beispielsweise beginnen die Werte mit 87Nm am Rotor und enden nach 4000 Iterationen bei -120Nm. Hab bei den Werten aber noch eine Art Schwingung drin. Die sich selbst nach 4000 Iterationen nicht einzupendeln scheint. Peaks sind bei über +- 220Nm Kennt sich vlt. jemand mit diesem Tool aus? Was den Durchfluss betrifft werde ich das Tool calcMassFlow um die Funktion erweitern, an beliebigen internalFaces den Durchfluss zu messen. Aber da komm ich frühestens Anfang April dazu.
Dann noch das Thema mit den Reibungsthermen die die Wärme bei der Rotation erzeugen. Hat hier jemand vlt. mittlerweile eine Idee wie ich da am besten rangeh?
Danke schonmal! Grüße Sebastian
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 19. Mrz. 2012 13:19 <-- editieren / zitieren --> Unities abgeben: Nur für Basti1986
|
Basti1986 Mitglied Student
Beiträge: 17 Registriert: 04.12.2009
|
erstellt am: 19. Mrz. 2012 13:44 <-- editieren / zitieren --> Unities abgeben:
Danke Tobi. Ich werd das mitverfolgen. Das mit dem Durchfluss ist schon richtig, nur habe ich festgestellt, dass es in Paraview etwas ungenau ist. Hab teilweise Abweichungen von 2-3 kg/s bei nem Wert wo calcMassFlow 14,6 kg/s ausgibt. Drum der Ansatz mit den internal faces und dem Tool. Was hast du für Erfahrungen mit dem Durchflussmessen in Paraview direkt gemacht? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 19. Mrz. 2012 13:51 <-- editieren / zitieren --> Unities abgeben: Nur für Basti1986
|
Basti1986 Mitglied Student
Beiträge: 17 Registriert: 04.12.2009
|
erstellt am: 19. Mrz. 2012 14:30 <-- editieren / zitieren --> Unities abgeben:
Hmm dann schein ich das wohl irgendwie falsch in Paraview zu machen. Ich mess da statt den 14,7 kg/s immer ca. 11,6 kg/s.Was ich recht heftig finde... Ich schneide mir immer ne Fläche "frei" die ich messen will, lass mir da U_Z anzeigen und Integrier die mit dem Filter auf(integrate variable) und lass mir dann die mag(U) mit dem calculater ausgeben. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 19. Mrz. 2012 14:33 <-- editieren / zitieren --> Unities abgeben: Nur für Basti1986
|
Basti1986 Mitglied Student
Beiträge: 17 Registriert: 04.12.2009
|
erstellt am: 19. Mrz. 2012 14:42 <-- editieren / zitieren --> Unities abgeben:
Das mit dem U_Z oder U(mag) und dann integrieren hatte keinen Unterschied gemacht. Ausserdem ist der Durchfluss ja nur von oben nach unten. Drum der Gedanke mit U_Z, oder liege ich da falsch? Hab den Fehler aber jetzt. Man muss beim Attribute Mode des Calculators auf Cell Data umstellen und nicht wie anfangs drin steht Point Data. Dann komm ich auch auf dei exakten 14,7 kg/s. Werde das aber noch so probieren wie du das machst! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 19. Mrz. 2012 14:49 <-- editieren / zitieren --> Unities abgeben: Nur für Basti1986
|
Basti1986 Mitglied Student
Beiträge: 17 Registriert: 04.12.2009
|
erstellt am: 16. Apr. 2012 14:06 <-- editieren / zitieren --> Unities abgeben:
So. Mal ein kleines Update. Habe das Drehmoment mit dem Tool CalculateTorque für den laminaren Fall meines E-Motors gerechnet und die Ergebnisse waren ziemlich vielversprechend. Habe das Tool etwas editiert, um die richtigen Einheiten ausgegeben zu bekommen und jetzt bekomme ich annähernd die gleichen Ergebnisse wie in CCM+. Für den turbulenten Fall habe ich zwischen 4 und 10 % Abweichung. Das muss aber noch weiter untersucht werden. Schaut aber auf den ersten Blick auch nicht schlecht aus. Wo genau die Unterschiede liegen muss ich noch herausarbeiten. Was mir allerdings echtes Kopfschmerzen bereitet, ist die Integration des Reibungsterms in die Temperaturerzeugung. Hab da leider nicht wirklich nen Ansatz den ich weiter verfolgen könnte. Habe zwar auf cfd-online.com einen netten Thread gefunden ( http://www.cfd-online.com/Forums/openfoam/72127-solving-total-energy-equation.html ) - bin mir aber nicht sicher ob das so ganz auf meinen Fall passt. Vlt. könnte mir noch jemand nen kleinen Tipp geben, bin für jeden Rat dankbar! Allen die bisher schon geschrieben haben und allen die vielleicht noch schreiben werden, vielen Dank für eure Mühen. Grüße Sebastian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 16. Apr. 2012 14:30 <-- editieren / zitieren --> Unities abgeben: Nur für Basti1986
Hi, welches Turbulenzmodell verwendest du denn? Ich kann dir nur sagen, das im k-Omega Modell eine andere (falsche?) Implementierung vorliegt, wie ANSYS das realisiert hat. Ich werde später mal die Formeln posten! Mit dem Reibungsterm kann ich dir noch nichts genaueres sagen. Tobi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Basti1986 Mitglied Student
Beiträge: 17 Registriert: 04.12.2009
|
erstellt am: 16. Apr. 2012 14:36 <-- editieren / zitieren --> Unities abgeben:
|
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 17. Apr. 2012 13:51 <-- editieren / zitieren --> Unities abgeben: Nur für Basti1986
Sieht nicht schlecht aus! Die Frage ist, welche Gleichungen korrekt sind. Dazu müsste man einen Solver erstellen, der diese Dinge implementiert hat (wohl nich so schwer). Dann müsste man einen Case generieren mit dem man diesen Solver validieren und veriferzieren kann! Tobi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |