Autor
|
Thema: Kraft / Moment an Wandfläche berechnen (8236 mal gelesen)
|
J0SCHA Mitglied Student / Praktikant
Beiträge: 30 Registriert: 18.05.2010 Build : 1.6 redhat enterpise linux 5.3
|
erstellt am: 15. Jul. 2010 15:58 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich suche eine Möglichkeit die auf die stehende Wandfläche meines Strömungsgebietes wirkenden Kräfte und daraus resultierende Momente zu berechnen und darzustellen. Eine Möglichkeit wäre ja die per wallShearStress erhaltenen Spannungen über die wirkende Fläche und den Radius zu errechnen. Bei meiner Recherche bin ich im Englischen Forum auf ein Tool gestoßen das wenn ich es richtig verstehe genau das automatisch macht. http://openfoamwiki.net/index.php/ComputeTorque Allerdings funktioniert das wenn ich es richtig verstanden habe nur während der Berechnung und nicht als post-processing?! Wie kann ich dieses Tool installieren? -obv me=linuxN00b Hat einer von euch derartiges oder ähnliches schonmal verwendet und kann mir ein paar Tips geben?? Meine Englisch Kenntnisse stehen leider dem vollen Verständnis dieses Beitrages (http://www.cfd-online.com/cgi-bin/OpenFOAM_Discus/show.cgi?tpc=1&post=24787#POST24787) im Wege. Bin wie immer über jeden Hinweis dankbar! Gruß Joscha Edit: Ein Vorschlag den ich gefunde hatte war folgendes:
Code: forces { type forces; functionObjectLibs ("libforces.so"); //Lib to load -> dylib on Mac and so on Linux patches (fixedWall); //Name of patche to integrate forces rhoInf 1.0; //Reference density for fluid - can be changed later ... CofR (0 0 0); //Origin for moment calculations }
http://www.cfd-online.com/Forums/openfoam-solving/57829-forces-of15.html dem controlDict anzufügen. Fehlermeldung gabs schonmal keine, Kräfte werden aber auch nicht herausgeschrieben... Ein "forces" Ordner wird auch nicht erstellt.[Diese Nachricht wurde von J0SCHA am 16. Jul. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
TTB Mitglied CFD Engineer
Beiträge: 353 Registriert: 02.10.2008 BIM HVACTool für Windows OpenFOAM-2.2.x
|
erstellt am: 16. Jul. 2010 20:20 <-- editieren / zitieren --> Unities abgeben: Nur für J0SCHA
Hallo Joscha, hast du überprüft, ob die Bibliothek überhaupt bei der Berechnung geladen wird? So müsste die ControlDict am Ende aussehen: functions ( forces { type forces; functionObjectLibs ("libforces.so"); rhoInf 1.2023; patches ( wall ); CofR (0 0 0); } ); Gruß Thomas
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
J0SCHA Mitglied Student / Praktikant
Beiträge: 30 Registriert: 18.05.2010 Build : 1.6 redhat enterpise linux 5.3
|
erstellt am: 19. Jul. 2010 11:03 <-- editieren / zitieren --> Unities abgeben:
Hey Thomas, ich hatte: functions ( ....... ); vergessen. Jetzt scheint das controlDict richtig zu sein. Allerdings scheint in einem anderen dict etwas zu fehlen: keyword outputControl is undefined in dictionary "::functions::forces" [1] [1] file: ::functions::forces from line 51 to line 55. [1] [1] From function dictionary::lookupEntry(const word&, bool, bool) const Ist die Fehlermeldung die ich erhalte wenn ich versuche den Job zu starten. Jetzt habe ich mal nach dem in der Fehlermeldung genannten dict gesucht aber nichts gefunden. Da in der Fehlermeldung auf diverse Zeilen verwiesen wurde gehe ich davon aus ich habe nicht am richtigen Ort gesucht. Wo sollte dieses function dict denn zu finden sein? libforces.so, auf welches im controlDict verwiesen wird habe ich entdeckt. Womit kann man sich diese Datei anschauen, ich sehe nur kryptische Zeichen?! Danke schonmal soweit! Gruß Joscha
[Diese Nachricht wurde von J0SCHA am 19. Jul. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
TTB Mitglied CFD Engineer
Beiträge: 353 Registriert: 02.10.2008 BIM HVACTool für Windows OpenFOAM-2.2.x
|
erstellt am: 22. Jul. 2010 08:45 <-- editieren / zitieren --> Unities abgeben: Nur für J0SCHA
|
J0SCHA Mitglied Student / Praktikant
Beiträge: 30 Registriert: 18.05.2010 Build : 1.6 redhat enterpise linux 5.3
|
erstellt am: 22. Jul. 2010 10:16 <-- editieren / zitieren --> Unities abgeben:
Hoi, die Wandfläche an der ich die Kräfte berechnen will ist "fixedWall" "patches( fixedWall );" hab ich angegeben. Ich hab es eben aber auch nochmal mit exakt deinem Beispiel getestet und das gab den selben Fehler. Gruß Joscha
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
TTB Mitglied CFD Engineer
Beiträge: 353 Registriert: 02.10.2008 BIM HVACTool für Windows OpenFOAM-2.2.x
|
erstellt am: 22. Jul. 2010 20:36 <-- editieren / zitieren --> Unities abgeben: Nur für J0SCHA
Hallo Joscha, dann versuche doch mal die Variable in der controlDict mit anzugeben: forces { ... outputControl true } Die Angaben, die ich gemacht habe funktionieren, auf jeden Fall mit der OF 1.5-dev. Gruß Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
J0SCHA Mitglied Student / Praktikant
Beiträge: 30 Registriert: 18.05.2010 Build : 1.6 redhat enterpise linux 5.3
|
erstellt am: 23. Jul. 2010 09:50 <-- editieren / zitieren --> Unities abgeben:
Hallo Thomas, ich habe deinen Vorschlag gerade ausgetestet. Die Fehlermeldung ist jetzt eine andere. Da die Fehlermeldung in beiden Fällen (mit/ohne "outputControl true") die selbe ist ganz egal was ich in bei "patches ( );" angebe gehe ich davon aus das es daran momentan nicht liegt. Ohne "outputControl true" lautet die Fehler Meldung:
Code: keyword outputControl is undefined in dictionary "::functions::forces"file: ::functions::forces from line 51 to line 55. From function dictionary::lookupEntry(const word&, bool, bool) const in file db/dictionary/dictionary.C at line 388. FOAM exiting
Mit "outputControl true":
Code: attempt to read beyond EOFfile: ::functions at line 58. From function ITstream::read(token& t) in file db/IOstreams/Tstreams/ITstream.C at line 84. FOAM exiting
Ich benutze allerdings auch die Version 1.6 von OpenFoam Ist es denn Möglich beide Versionen auf dem Rechner zu haben und nach Bedarf auszuwählen? Wenn du weitere Infos zu meinem Case brauchst lass es mich wissen, er ist ohne den forces Zusatz ohne Probleme gelaufen, auch parallel, foamToVTK ging auch. vielen Dank schonmal für deine bisherige Hilfe! PS: Wo sollten denn die in den Fehlermeldung benannten Files zu finden sein? Gruß Joscha Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
TTB Mitglied CFD Engineer
Beiträge: 353 Registriert: 02.10.2008 BIM HVACTool für Windows OpenFOAM-2.2.x
|
erstellt am: 23. Jul. 2010 10:46 <-- editieren / zitieren --> Unities abgeben: Nur für J0SCHA
Hallo Joscha, ich habe es jetzt auch unter OF 1.6 ausprobiert. Bei mir fordert er nicht solch eine Variable. Hänge doch mal noch ein Semikolon an ";". Ansonsten kann ich dir nicht weiterhelfen, sorry. Du kannst viele OF Versionen nebeneinander installieren. Du musst halt in deiner ".bashrc" die anderen nicht benutzen Versionen ausklammern. Gruß Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
J0SCHA Mitglied Student / Praktikant
Beiträge: 30 Registriert: 18.05.2010 Build : 1.6 redhat enterpise linux 5.3
|
erstellt am: 27. Jul. 2010 10:06 <-- editieren / zitieren --> Unities abgeben:
Hallo Thomas, kannst du mir eventuell den Case mit dem du es getestet hast zukommen lassen? Ich kann hier leider auf keinen OneClickHoster zugreifen von daher wäre es toll wenn du es mir mailen könntest. Wenn du so nett wärest könnte ich dir auch meinen Testfall schicken^^ Ich schicke dir gleich mal eine PM mit meiner E-Mail Adresse. Kannst du mir, jeder andere netürlich auch gerne, noch was zu dem von mir gefundenen Tool http://openfoamwiki.net/index.php/ComputeTorque sagen?! Das habe ich nämlich bis jetzt noch nicht installiert.
Gruß Joscha Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
J0SCHA Mitglied Student / Praktikant
Beiträge: 30 Registriert: 18.05.2010 Build : 1.6 redhat enterpise linux 5.3
|
erstellt am: 27. Jul. 2010 11:49 <-- editieren / zitieren --> Unities abgeben:
So, habe jetzt im englischen Forum noch einen Hinweis gefunden und jetzt scheint mein Problem behoben zu sein. Zumindest rechnet er jetzt los und erstellt auch einen Ordner "forces". Code: functions ( forces { type forces; functionObjectLibs ("libforces.so"); //Lib to load -> dylib on Mac and so on Linux rhoInf 1.0; //Reference density for fluid - can be changed later ... patches ( fixedWall ); //Name of patche to integrate forces CofR (0 0 0); //Origin for moment calculations outputControl timeStep; outputInterval 1; } );
lautet jetzt das Ende meines controlDicts.Jetzt frage ich mich nur warum es diesen Unterschied gibt? Thomas konnte ja scheinbar mit der 1.6er Version und dem von ihm vorgeschlagenen "outputControl true(;)" bzw ganz ohne diesen Zusatz rechnen?! Bin gerade etwas verwirrt, freue mich wenn mich jemand aufklären könnte. - Kann sowas auch an einem Solver selber liegen oder ist das ein globales Problem? So far, Gruß Joscha Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
TTB Mitglied CFD Engineer
Beiträge: 353 Registriert: 02.10.2008 BIM HVACTool für Windows OpenFOAM-2.2.x
|
erstellt am: 27. Jul. 2010 21:34 <-- editieren / zitieren --> Unities abgeben: Nur für J0SCHA
Hallo Joscha, entschuldige, habe deine PM erst sehr spät gelesen. Es freut mich, dass es jetzt bei dir funktioniert. Über die Variable staune ich auch, dass deine Version das fordert. Kann aber auch an den Solver liegen. Die Variable "true" war ja nur geschätzt und es scheint ja auch die richtige Richtung gewesen zu sein. Gruß Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristianE36 Mitglied Student
Beiträge: 41 Registriert: 30.04.2011 OF 1.6-ext/2.2.1 auf Ubuntu 12.04 LTS
|
erstellt am: 25. Jul. 2011 18:45 <-- editieren / zitieren --> Unities abgeben: Nur für J0SCHA
Hallo! Ich möchte dieses Thema gerne einmal aufgreifen und erneuern! Die ursprüngliche Fragestellung beinhaltete: Wie kann ich mir ein Drehmoment ausgeben lassen? zugrunde liegt die aktuelle Version 1.6 ext (Turbomaschinen). Ich habe verschiedene Dinge ausprobiert: --calculateTorque: ließ sich nicht kompilieren. -- computeTorque:Fehlermeldung; "no patch named rotor" ..und die hier erwähnte Ausgabe von Kräften hat auch nicht funktioniert. Gibt es eine bekannte und auch funktionierende Möglichkeit das Drehmoment zu erhalten? Grüße Christian [Diese Nachricht wurde von ChristianE36 am 25. Jul. 2011 editiert.] [Diese Nachricht wurde von ChristianE36 am 25. Jul. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
TTB Mitglied CFD Engineer
Beiträge: 353 Registriert: 02.10.2008 BIM HVACTool für Windows OpenFOAM-2.2.x
|
erstellt am: 25. Jul. 2011 20:03 <-- editieren / zitieren --> Unities abgeben: Nur für J0SCHA
Hi, Zitat: .und die hier erwähnte Ausgabe von Kräften hat auch nicht funktioniert.
Die Funktion habe ich schon lange nicht mehr verwendet, aber sollte trotzdem funktionieren und dir die Momente und Kräfte für jeden Zeitschritt ausgeben. Was genau funktioniert nicht? Zitat: --calculateTorque: ließ sich nicht kompilieren.
Na, das lässt sich doch ändern. Hast du ein Link, wo ich denn Quellcode finde? Zitat: -- computeTorque:Fehlermeldung; "no patch named rotor"
Gibt es auch den Patch: "rotor" ? Gruß Thomas
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristianE36 Mitglied Student
Beiträge: 41 Registriert: 30.04.2011 OF 1.6-ext/2.2.1 auf Ubuntu 12.04 LTS
|
erstellt am: 25. Jul. 2011 21:59 <-- editieren / zitieren --> Unities abgeben: Nur für J0SCHA
Hi! Dem kann ich abhelfen.(und danke für die flinke Antwort) 1. http://www.cfd-online.com/OpenFOAM_Discus /messages/1/__Client_C__Documents_and_Settings_c563640_Desktop_calculateTorque_tar-10038.unk Das ist der direkte Link zum Download. das ganze wird wie üblich mit wmake kompiliert. Das habe ich heute einige stunden erfolglos probiert. Die entsprechenden Pfadangaben stimmen nicht mehr. (und ich hab versagt beim "korrigieren". bin zu doof zum programmieren ) Wenn du das schaffst, erkläre mir bitte wie du es gemacht hast. Ich hab das schon bei einer Solverkompilierung nicht verstanden. 2. "computeTorque" Wurde mal für 1.4.1 geschrieben. Das ließ sich sogar anstandslos kompilieren. aber beim benutzen hat es dann gehapert. Der Link: http://openfoamwiki.net/index.php/ComputeTorque Erst wird der Code gezeigt, darunter dann der Link zum Download (1). 3. Das was in diesem Thread zuvor diskutiert wurde hatte ich probiert. Dann werde ich es mir nochmal anschauen, was ich genau in die controlDict reinschreiben muss. Ich habe es so verstanden, dass es auf den "libraries" für das Post-Processing basiert.(habe ich UserGuide gelesen) Aus einer bereits erfolgreichen Berechnung habe ich die controlDict wie folgt verändert: /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // libs ("libOpenFoamTurbo.so") libs ("libNewCylidricallInletBCs.so") application MRFSimpleFoam; startFrom startTime; startTime 0; stopAt endTime; endTime 5000; deltaT 1; writeControl timeStep; writeInterval 1000; purgeWrite 0; writeFormat ascii; writePrecision 8; writeCompression compressed; timeFormat general; timePrecision 6; runTimeModifiable yes; functions ( forces { type forces; functionObjectLibs ("libforces.so"); //Lib to load patches (IMPELLER); // change to your patch name rhoName rhoInf; rhoInf 1000; //Reference density for fluid CofR (2 0 0); //Origin for moment calculations outputControl timeStep; outputInterval 1; } forceCoeffs { // rhoInf - reference density // CofR - Centre of rotation // dragDir - Direction of drag coefficient // liftDir - Direction of lift coefficient // pitchAxis - Pitching moment axis // magUinf - free stream velocity magnitude // lRef - reference length // Aref - reference area type forceCoeffs; functionObjectLibs ("libforces.so"); patches (IMPELLER); rhoName rhoInf; rhoInf 1000; CofR (2 0 0); liftDir (0 1 0); dragDir (1 0 0); pitchAxis (0 0 1); magUInf 1e-7; lRef 0.06; // sphere diameter Aref 0.0014137; //1/2 * projected area = pi*r²/2 outputControl timeStep; outputInterval 1; } );
//libs ("libOpenFoamTurbo.so"); // ************************************************************************* // Die Rechnung läuft zwar auch so, aber es wird trotzdem nichts ausgegeben. Insgesamt bin ich mir nicht sicher, welcher der drei Ansätze der "richtige" ist. Gruß, Christian
[Diese Nachricht wurde von ChristianE36 am 25. Jul. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristianE36 Mitglied Student
Beiträge: 41 Registriert: 30.04.2011 OF 1.6-ext/2.2.1 auf Ubuntu 12.04 LTS
|
erstellt am: 25. Jul. 2011 23:29 <-- editieren / zitieren --> Unities abgeben: Nur für J0SCHA
So..Option 3 funktioniert nun. die ersten beiden nach wie vor nicht. morgen schreibe ich noch einmal genauer. Wo ich die Referenzlänge und -Fläche entnehmen kann, ist mir noch nicht klar. Gruß, und schonmal vielen Dank! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
TTB Mitglied CFD Engineer
Beiträge: 353 Registriert: 02.10.2008 BIM HVACTool für Windows OpenFOAM-2.2.x
|
erstellt am: 26. Jul. 2011 11:22 <-- editieren / zitieren --> Unities abgeben: Nur für J0SCHA
|
ChristianE36 Mitglied Student
Beiträge: 41 Registriert: 30.04.2011 OF 1.6-ext/2.2.1 auf Ubuntu 12.04 LTS
|
erstellt am: 26. Jul. 2011 11:26 <-- editieren / zitieren --> Unities abgeben: Nur für J0SCHA
Guten Morgen! ich hab mir die Rechenergebnisse von letzter Nacht angesehen: Die Anweisungen, wie sie oben stehen, führen dazu, dass ein Ordner forces und ein Ordner forceCoeffs erzeugt werden.Von einem vernünftigen Verständnis,was dort passiert, bin ich noch ein stücken entfernt. Alle Werte für jeden berechneten Zeitschritt werden in eine einzelne Datei geschrieben. bei den Koeffizienten sind das Cd, Cl und Cm. (wie ich magUInf, lRef, Aref erhalte oder selber berechne weiß ich leider auch nicht) In der Kräfte-datei stehen: forces(pressure, viscous) und moment(pressure, viscous). Dabei wird für jede dieser Angaben ein Vektor(?) rausgeschrieben. ich vermute es handelt sich dabei um x,y,z. Meine unbestätigte Vermutung ist: bei dem moment(pressure) handelt es prinzipiell um den Wert, den Ansys mir ausgibt, wenn ich im Function calculator mir das Drehmoment bezüglich einer Achse ausrechnen lasse. ist das richtig? Um nun das korrekte Moment zu erhalten, müsste ich doch alle Patches angeben, also alle Flächen orthogonal zur Rotationsachse?(in meinem Fall z) Für eine kompilierbare Version von "CalculateTorque" wäre ich sehr dankbar Gruß Christian Edit: Das ging ja schnell! Während ich schrieb hast du schon gepostet! Das ist großartig! Danke! Werde es mir zu gemüte führen! [Diese Nachricht wurde von ChristianE36 am 26. Jul. 2011 editiert.] [Diese Nachricht wurde von ChristianE36 am 26. Jul. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristianE36 Mitglied Student
Beiträge: 41 Registriert: 30.04.2011 OF 1.6-ext/2.2.1 auf Ubuntu 12.04 LTS
|
erstellt am: 28. Jul. 2011 14:07 <-- editieren / zitieren --> Unities abgeben: Nur für J0SCHA
Hallo! CalculateTorque lässt sich bestens kompilieren und funktioniert. Ich bin nur erstaunt, dass es "bloß" eine Zeile war, die du geändert hast. Auf jeden Fall kann ich es nur weiterempfehlen. Grüße, Christian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Moschtkopf Mitglied Master-Studierender
Beiträge: 18 Registriert: 30.06.2009
|
erstellt am: 02. Aug. 2011 15:50 <-- editieren / zitieren --> Unities abgeben: Nur für J0SCHA
Hallo Christian, hast du mittlerweile herausgefunden, was magUInf, lRef und Aref sind? Oder weiß es sonst jemand? meine Vermutungen: - magUInf: ca. Fluidgeschwindigkeit - lRef: Länge der Wall zur Momentenberechnung - Aref: Querschnittsfläche der Wall kann das jemand bestätigen oder begründet widerlegen? Dankeschön!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
TTB Mitglied CFD Engineer
Beiträge: 353 Registriert: 02.10.2008 BIM HVACTool für Windows OpenFOAM-2.2.x
|
erstellt am: 02. Aug. 2011 15:57 <-- editieren / zitieren --> Unities abgeben: Nur für J0SCHA
Hallo, ein Blick im Quellcode: pDyn = 1/2 * rhoRef * magUInf^2 Cm = pitchMoment/( Aref * lRef * pDyn ) Code:
// Free-stream conditions //- Velocity magnitudescalar magUInf_; // Reference scales //- Length scalar lRef_; //- Area scalar Aref_;
Hoffe, das hilft etwas weiter? :-) Gruß Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
stephie1992 Mitglied Student
Beiträge: 6 Registriert: 31.07.2015
|
erstellt am: 20. Aug. 2015 13:54 <-- editieren / zitieren --> Unities abgeben: Nur für J0SCHA
Hallo, ich hätte eine kleine Verständnisfrage, da ich momentan dabei bin diese Werte auszuwerten. Wie bereits in den Beiträgen davor gibt es einmal Kräfte und Momente, beides ist noch einmal in Druck und Viskosität unterteilt. Verstehe ich richtig, dass es sich bei den Kräften einmal um die normalen Kräfte handelt die auf den Flügel wirken und einmal um die Scherkräfte? Wie sieht es bei den Momenten aus? Da habe ich die Unterteilung leider noch nicht ganz verstanden. Wie kann ich die Werte aus der forces.dat Datei noch einmal mit dem z Wert meines realen Flügels multiplizieren so dass ich die Kräfte und Momente für die originale Geometrie heraus bekomme? Über eine Erklärung würde ich mich sehr freuen Vielen Dank und liebe Grüße, Stephie
[Diese Nachricht wurde von stephie1992 am 20. Aug. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |