Simulation und Berechnung des Kurvenflugs

mipme_kampfkoloss

Vereinsmitglied
Teammitglied
Moin People,

ich bin leider so ein Nerd der gerne am PC seine Modelle berechnet, durchrechnet etc.
Nun hab ich mich schon gut in XFRL5 eingearbeitet und Flächen berechnet und optimiert.

Auch Eigenstabilisierungen um die Achsen mit Phugoiden, etc. sind mir kein Fremdwort mehr - obwohl ich bei letzterem immer noch nicht weiß was es heißt, geschweige wie man es ausspricht.

Nun jedoch zur Frage: Wie kann ich in XFLR5 (oder FLZ oder AVL) den Kurvenflug eines Fliegers simulieren bzw. optimieren?
Beim Modelpolar kann ich ein Beta angeben, aber das steht nach meinem Verständnis für Auslenkung um die Hochachse, oder?
Geht das überhaupt oder braucht man dazu ein anderes Tool?

Konkrete Fragen sind:
- Sinken bei vorgegebenen Kurvenradius oder umgekehrt
- Abreißverhalten im Kurvenflug
- Vergleich Fläche A und B

Im Endeffekt möchte ich bei einem RES-Modell mir die V-Form und die Aufteilung der Knicke über die Fläche ansehen und optimieren.
Da bei dieser Wettbewerbsart viel gekreist wird, suche ich nun entsprechende Hilfestellung.

Vielleicht hat eine von euch Koryphäen eine Idee. Merci!
 
Moin, Phygoide wird wie "Fügoide" ausgesprochen.
Soweit ich weiß, kann XFLR5 keinen Kurvenflug simulieren. Allein schon, weil man nur eine konstante Anströmgeschwindigkeit einstellen kann. Zu anderen Programmen kann ich nichts sagen. Um die Lastvielfache zu simulieren, kann man vielleicht eine höhere Masse einstellen?
Beta ist der Schiebewinkel. Du hast also Recht, dass das der Drehwinkel um die Hochachse (des Flugzeuges) ist.
Zum Thema Abrissverhalten. XFLR5 kann Ablösungen nicht sehr gut simulieren. Vielleicht ist dir schonmal aufgefallen, dass die Simulationen in 3D bei höheren Anstellwinkeln gerne nicht mehr konvergieren. Die Mathematik dahinter kann ich dir leider nicht erklären.
Aber wie gesagt, von den anderen Programmen habe noch weniger Ahnung, als von XFLR5.
LG Patrik
 
Abrissverhalten

Abrissverhalten

Hallo,
im rcgroups ist manchmal zu lesen, dass die Fehlermeldung: " ...could not be interpolated" Als Kriterium für den Stall genommen wird. Ich weiss nicht ob das richtig ist, habe aber auch noch nichts besseres zu dem Thema gefunden.
Schöne Grüße,
Johannes
 
Das ist genau das, was ich meinte mit dem nicht kovergieren. Leider gibt es keine Formel, wo man den Flügel und die ganzen Randbedingungen einsetzt und dann ein eindeutiges Ergebnis rausbekommt. Man versucht sich über mehrere Iterationen einem Ergenbnis anzunähren. Wenn sich das Ergbnis mit noch mehr Rechenwiederholungen nicht ändert, geht man davon aus, dass man das Ergebnis gefunden hat. Und wenn man Effekte einer Ablösung hat, springt das Ergebnis lustig hin und her. Wenn das passiert, meldet XFLR5 " ...could not be interpolated". Die Effekte der Ablösung hat man übrigens schon deutlich vor dem kompletten Stall. So ein Strömungsabriss bildet sich in der Regel nicht sofort am ganzen Flügel, sondern wandert mit steigendem Anstellwinkel nach vorne. Deswegen ist eine Ca/alpha Polare oft keine annährende Gerade mit einem plötzlichen Knick, sonder flacht oben langsam ab.
 

mipme_kampfkoloss

Vereinsmitglied
Teammitglied
Also den Abriss sieht man recht schön im Log Fenster:

Code:
Computing Plane for alpha=   7.25°
       Calculating aerodynamic coefficients...
         Calculating wing...Main Wing
         Calculating wing...Elevator
         Calculating wing...Fin

      Computing Plane for alpha=   7.50°
       Calculating aerodynamic coefficients...
         Calculating wing...Main Wing
         Calculating wing...Elevator
         Calculating wing...Fin

      Computing Plane for alpha=   7.75°
       Calculating aerodynamic coefficients...
         Calculating wing...Main Wing
           Span pos =     -0.62 m,  Re = 55723,  Cl =   1.10 could not be interpolated
           Span pos =     -0.57 m,  Re = 57209,  Cl =   1.10 could not be interpolated
           Span pos =     -0.53 m,  Re = 58695,  Cl =   1.11 could not be interpolated
           Span pos =     -0.21 m,  Re = 62410,  Cl =   1.14 could not be interpolated
           Span pos =     -0.18 m,  Re = 62410,  Cl =   1.15 could not be interpolated
           Span pos =     -0.15 m,  Re = 62410,  Cl =   1.15 could not be interpolated
           Span pos =     -0.11 m,  Re = 62410,  Cl =   1.15 could not be interpolated
           Span pos =     -0.08 m,  Re = 62410,  Cl =   1.15 could not be interpolated
           Span pos =     -0.05 m,  Re = 62410,  Cl =   1.15 could not be interpolated
           Span pos =     -0.02 m,  Re = 62410,  Cl =   1.15 could not be interpolated
           Span pos =      0.02 m,  Re = 62410,  Cl =   1.15 could not be interpolated
           Span pos =      0.05 m,  Re = 62410,  Cl =   1.15 could not be interpolated
           Span pos =      0.08 m,  Re = 62410,  Cl =   1.15 could not be interpolated
           Span pos =      0.11 m,  Re = 62410,  Cl =   1.15 could not be interpolated
           Span pos =      0.15 m,  Re = 62410,  Cl =   1.15 could not be interpolated
           Span pos =      0.18 m,  Re = 62410,  Cl =   1.15 could not be interpolated
           Span pos =      0.21 m,  Re = 62410,  Cl =   1.14 could not be interpolated
           Span pos =      0.53 m,  Re = 58695,  Cl =   1.11 could not be interpolated
           Span pos =      0.57 m,  Re = 57209,  Cl =   1.10 could not be interpolated
           Span pos =      0.62 m,  Re = 55723,  Cl =   1.10 could not be interpolated
         Calculating wing...Elevator
         Calculating wing...Fin

Es wird halt nicht graphisch angezeigt wie in FLZ Vortex, aber die Position wird ja angegeben und damit kann man sich das ja gut vorstellen
Ob das nun genau stimmt weiß ich nicht, aber so ca. kommt das schon hin. Man sollte sich vielleicht 1-2 OpPoints davor ansehen und als Spazi lassen.

XFLR5 rechnet ja auch weiter als bis zum ersten Abriss. Wenn man sich dann noch ansieht wie der Abriss weiterläuft entlang des Flügels,
hat man schon ein recht gutes Bild, was da los ist.

Beim RevRep - der noch dazu mit recht schwer berechenbaren KFM Profilen ausgestattet ist - hat das recht gut hingehauen.
Der nimmt einfach die Nase wieder runter, obwohl die vorgepfeilten Nuris gerne nach hinten runterfallen...

Aber zurück zum Thema: also Kurvensimulation nicht möglich.

Kann mir jemand da etwas Theorie dazu empfehlen? Vielleicht kann man da ja was stricken...
 

Wilf

User
... ich bin leider so ein Nerd der gerne am PC seine Modelle berechnet, durchrechnet etc.
Nun hab ich mich schon gut in XFRL5 eingearbeitet und Flächen berechnet und optimiert.
...
Konkrete Fragen sind:
- Sinken bei vorgegebenen Kurvenradius oder umgekehrt
- Abreißverhalten im Kurvenflug
- Vergleich Fläche A und B
...
Ich mach es gerade umgekehrt: Wenn das Modell gut fliegt, wird die Rechnung schon gepasst haben. Sonst muss man halt nachträglich ein paar Faktoren in der Rechnung ändern.

Zu Deiner Frage: Im Kurvenflug muss der Auftrieb nicht nur die Gewichtskraft, sondern zusätzlich auch die Fliehkraft kompensieren. Die Zusammenhänge sind in Kurvenflug-Wikipedia sehr gut dargestellt. Zu einer bestimmten Fluggeschwindigkeit und Querlage gehört ein bestimmter Kurvenradius.

Bei einer Wende mit 60° Querneigung liegt z.B. eine Beschleunigung von 2 g an. Da drückt es einen schon ganz schön in den Sitz.

In der Modellrechnung kannst Du einen 60° Kuvenflug perfekt simulieren, indem Du das zweifache Eigengewicht einsetzt. Im Ergebnis wirst Du sehen, dass sich derart hohe Querneigung in der Regel nicht lohnt, weil Du für den doppelten Auftrieb die Geschwindigkeit um das 1,4 fache erhöhen musst, was wegen Fz=v²/r wiederum zu einem größeren Kurvenradius führt.

austria.gif
 
Ich hätte dazu auch noch eine evtl. völlig bekloppte Idee, die ich gerne zur Diskussion stellen würde:

Mal abgesehen vom Faktor 1/cos(Schräglage) um den der Auftrieb erhöht werden muss (was ja einfach machbar ist), ergibt sich ja auch noch eine Geschwindigkeitsdifferenz zwischen Innen- und Außenflügel, die die üblichen Programme nicht berücksichtigen (können). (Wurde ja auch schon von KäseKuchen angemerkt.)

Als Maßzahl für die Geschwindigkeit dient ja indirekt die Re-Zahl.
Könnte man nun die zur Geschwindigketsdifferenz passende Re-Zahl-Differenz zwischen Innen- und Außenfläche hinpfuschen, indem man die Flügeltiefe entsprechend ändert?
Also die Flächentiefe zum Kreismittelpunkt hin verkleinert und nach außen hin vergrößert?

Mal so als grobes Beispiel: Das Modell habe eine Spannweite von 2 m, eine Flächentiefe von 10 cm und fliege mit v=10 m/s einen Kreis mit 45° Schräglage.
Bei 45° gilt Zentripetalbeschleunigung az = Erdbeschleunigung g = ca. 10 m/s^2
Aus az = v^2 / r ergibt sich der Bahnradius r zu ca. 10 m.
Die Bahngeschwindigket ist proportinal zum Radius. Aufgrund der 45° Schräglage hat die innere Flügelspitze also in dem Fall einen um Wurzel(0,5) * 1 m = ca. 0,7 m kleineren Bahnradius als der Rumpf, und die äußere Flügelspitze einen um ca. 0,7 m größeren Bahradius.
Also ri = 9,3 m und ra =10,7 m.
Somit sollten die Geschwindigkeit innen und außen in dem Beispiel also dann 9,3 m/s bzw. 10,7 m/s betragen.

Da die üblichen Programme einen solchen Geschwindigkeitsgradienten nicht abbilden können, könnte man doch jetzt, um dennoch bei einer konstanten Geschwindigkeit auf die passende Re-Zahl zu kommen, die Geometrie der Tragfläche entsprechend verzerren: Also die Flächentiefe an der kreisinneren Flächenspitze auf 9,3 cm setzen und auf der Außenseite auf 10,7 cm.

Das die absoluten Kräfte dann nicht mehr stimmen, ist mir schon klar, aber das Strömungsverhalten sollte doch in etwa passen?

Beste Grüße,

Lutz
 
Ich habe zwar schon lange nicht mehr mit avl gerechnet, aber das kann das doch!

Du mußt nur die entsprechenden Drehraten eingeben, allgemein also p für rollen, q für nicken und r für gieren.

Wenn du einen Kreis fliegst, mußte du r so bestimmen, daß der Flieger bei gegebenem festem Durchmesser und gegebener konstanter Geschwindigkeit sich genau einmal um die Hochachse dreht.

Im Prinzip ist das die Überlagerung aus einer Translation und einer Rotation.
 
Translation und rotation des Modelles in einem gegebenen strömungsfeld ist das das ist doch nicht das gleiche wo die Reynoldszahl herkommt.

Auf das Rechenprogramm kommt einiges zu. Ich bin gespannt auf die Ergebnisse.
 
Translation und rotation des Modelles in einem gegebenen strömungsfeld ist das das ist doch nicht das gleiche wo die Reynoldszahl herkommt.

Auf das Rechenprogramm kommt einiges zu. Ich bin gespannt auf die Ergebnisse.

Was meinst du mit Reynoldszahl und Translation/Rotation?

Die Reynoldszahl kommt nicht von der Rotation oder Translation. Durch einen Kurvenflug hat man aber über die Spannweite verteilt unterschiedliche Strömungsgeschwindigkeiten und damit auch unterschiedliche Reynoldszahlen. (Falls das das ist, was du meintest)
 

mipme_kampfkoloss

Vereinsmitglied
Teammitglied
Ist schon eine Weile her - aber gut Ding braucht anscheinend Weile... und hab mir das jetzt genauer angesehen und mal mit AVL das ausprobiert.

Für alle die es interessiert hier mal die Doku wie man es machen kann - jedoch natürlich nicht muss:

#1
Ich hab mein Model in XFLR5 aufgebaut, also Fläche mit V-Form, Leitwerk und Massen.
Wie im XFLR empfohlen habe ich den Rumpf weggelassen. Das wäre sicher noch eine Idee das hinzuzufügen...

#2 In XFLR kann man das Model und die Massenverteilung in AVL Dateien exportieren.
Das Model über
Code:
Plane -> Current Plane -> Export to AVL
und die Massenverteilung über
Code:
Plane -> Current Plane -> Define Inertia -> Export to AVL

Nun sollte man ein .avl und ein .mass file haben.
Im .avl file sind die einzelnen Flächenabschnitte definiert. Unter diesen steht jeweils auch der Name der Profiledatei.
Diese sollte korrekt sein, sonst entsprechend korrigieren. Weiters definiert XFLR für jeden Abschnitt zwei SECTION Einträge.
Bei mir haben die Dateien besser funktioniert, wenn ich die zweite Section jeweils gelöscht habe (bis auf die letzte natürlich!).

Das .avl, .mass-File und die Profildateien sollten nach Möglichkeit alle in einem Ordner liegen und keine Sonderzeichen enthalten.
Es ist auch besser in den Dateinamen keine Punkte oder ähnliches zu verwenden. AVL lädt sonst schnell mal die falschen zugehörigen Dateien.

#2b Definition der Ruderklappen:
Im erstellten .avl File definiert man - wenn nicht bereits in XFLR geschehen - die Ruder wie folgt:

Code:
CONTROL
rudder   1.0  0.50    0. 0. 0.    1.

Der name vorne ist beliebig; Dann folgt der Mischkoeffizient, Position des Ruderspalts, die Ruderachse und die Drehrichtung.
zB. gemischte Querruder und Klappen würden so aussehen:

Code:
CONTROL                      
aileron  1.0  0.7  0. 1. 0.  -1.0

CONTROL                      
flap     0.3  0.7  0. 1. 0.   1.0

Der Gesamtausschlag wäre dann = 0.3 * flap - 1 * QR
Die Angabe der Drehrichtung war mir zu hoch, jedoch schneit eine Eingabe 0. 0. 0. die Scharnierlinie genau an der Endkante auszurichten.

#3 Dann starten wir AVL von der Kommandozeile im Arbeitsordner. Also zB:
Code:
cd ~/Dokumente/fliega/mein-neuer-fliega
avl neuer_fliega_v21.avl
und hoffen, dass keine Fehlermeldung ausgeworfen wird.
Grundsätzlich sollte das Massenfile - wenn es denn genauso heißt, wie das geometrie file - automatisch geladen werden.

Sonst kann man mit
Code:
MASS mein-masse-file.mass
die Massedefinition dazuladen.

#4 Vergleich der Gleitzahl und Sinkgeschwindigkeit bei 20° und 40° Kurvenflug bei CL 0.7.
Diese Werte entsprechen ca. einem 2M RES-Segler im weiten (r ca. 10m) und engeren Thermikkreisen (r ca. 5m)...

Nach erfolgreichen Laden der Datei geht man ins OPER Menü und erstelllt einen "Run case" - (jeweils das Enter auch eingeben):
Code:
OPER
A C 0.7 # Cl auf 0.7 setzen
C1        # Run case Details anzeigen bzw. eingeben
B 20     # Bankangle auf 20° fixieren
(enter)   # Um zurück ins Oper Menü zu gelangen

# dann werden die Leitwerke dazu genutzt die Momente auszugleichen
D1 PM 0       # D1 war bei mir elevator; PM = Pitch moment (Nickmoment) auf 0 ausgleichen
D2 YM 0       # D2 war bei mir rudder; YM = Yaw moment (Giermoment) auf 0 ausgleichen
B RM 0         # Beim 2-Achser muss der Drift das RM = Role moment auf 0 ausgleichen - sonst die Querruder nehmen

X                    # ok, die Fluglage berechnen

Damit ist alles mal für 20° Grad erledigt. Mit "T" kann man sich die Polare grafisch ansehen.
elfe-2.1-40deg.jpg

(sorry: das ist schon die Grafik für 40°)

Für die Fluggeschwindigkeit schaut man sich nochmals den stable case an "C1".
Man sollte auch natürlich auch die Cl Maxima der einzelnen Flächensegmente ansehen um mögliche Abrisse zu erkennen.

Dann habe ich das ganze auch für
Code:
B 40
- also 40° Kreisflug - gerechnet und die normale Gleitzahl als dritten Wert bei der Bewertung der Entwürfe hinzugezogen. Ich habe mir dann noch die Sinkgeschwindigkeit und den Höhenverlust für einen Vollkreis angesehen.

Interessant war vorallem, dass die Gleitzahl im Kreisflug dann schnell in den Keller geht, wenn das Seitenleitwerk benötigt wird um den Kreisflug stabil zu halten - also positives Vorzeichen.
Ich nehme an das dann der Widerstand am Seitenleitwerk wesentlich ansteigt. Wenn ich jedoch mit dem Ruder etwas stützen muss, ist die Klappe leicht negativ ausgeschlagen und der Widerstand wohl merkbar niedriger...

Ok, hoffe das ich jetzt keinen groben Schnitzer hier widergegeben habe und es jemanden nützlich sein wird.

Ich gehe nun mal in media res und konstruiere und baue mal die Variante!
 
Zuletzt bearbeitet:
Was du da rechnest ist ein getrimmter Flug mit 20° Hängewinkel und kein Kreis!

Der Flieger dreht um alle Achsen, siehe 2. Spalte mit p,q,r ...

Massedaten braucht man dazu keine.
 
Zuletzt bearbeitet:

mipme_kampfkoloss

Vereinsmitglied
Teammitglied
Hmm, wenn ich C1 aufrufe, wird mir jedoch ein Radius angezeigt. Und ohne Gewichte konnte ich garnix berechnen. Da kam nur NaN raus.
Auch werden die Massevielfache angezeigt.

Wenn ich die Momente nicht ausgleiche (also ohne D1 PM 0 etc.), dann werden mir Momente für Cl', Cm und Cn angezeigt, was meinem Verständnis nach die entsprechenden Momente sind. Diese werden mit den zusätzlichen Bedingungen auf 0 ausgeglichen.

Wo liege ich da jetzt falsch? Merci!
 
Zuletzt bearbeitet:
Hallo,
erst Mal vielen Dank für den tollen Post. Da die Schnittstelle zwischen xflr5 und AVL, ja doch noch einige Nachtpflege bedarf mache ich mir die AVL Dateien immer von Vorlage neu. Aber die Erzeugung eines Massefiles werde ich Mal probieren. Zum Thema Kurvenflug:
also wenn ich den Post von deftones richtig verstehe hast du alles richtig gemacht:

Das bedeutet, dass der Höhenruderausschlag so gewählt werden soll, dass das Nickmoment gleich null ist, der Seitenruderausschlag so, dass das Giermoment gleich null ist und der Querruderausschlag so, ... stimmt, hier fehlt was. Für die Bedingung mit dem Rollmoment gleich Null nutzt man beim Zweiachser das Schieberollmoment aus. Also soll AVL den Schiebewinkel so wählen, dass das Rollmoment genau Null wird.

Ach ja, das mit dem Rudervektor war mir auch zu hoch...ich mach's wie du. (Steht glaube ich auch in der Anleitung)
Schöne Grüße,
Johannes
 
Hallo Kampfkoloss,
du schreibst, dass du die Gleitzahlen im Kurvenflug bewertest. Kann die AVL direkt ausgeben, ich hab nämlich noch nicht gefunden wie das geht. Wie machst du das?
LG, Johannes
 

mipme_kampfkoloss

Vereinsmitglied
Teammitglied
Leider nein. Also selber dividieren, je nach Belieben mit dem Rechner oder im Kopf... 😉😜

Außerdem muss ich nochmals drüberschauen, da in der Doku folgendes steht:

Code:
It must be pointed out that if sideslip (beta) is nonzero, then
CD and CY are not the true "drag" and "side-force" aligned with
the relative wind direction.  Likewise for moments Cl and Cm.  
The wind-axes directions are given by

 | x |          | cos(b) sin(b)    | | x |
 | y |       =  |-sin(b) cos(b)    | | y |
 | z |_wind     |                1 | | z |

                | cos(b)cos(a)   sin(b)   cos(b)sin(a)| | X |
             =  |-sin(b)cos(a)   cos(b)  -sin(b)sin(a)| | Y |
                |      -sin(a)     0            cos(a)| | Z |

hence

 CD_wind =  CD cos(b) + CY sin(b)
 CY_wind =  CY cos(b) - CD sin(b)
 CL_wind =  CL

 Cl_wind =  Cl cos(b) + Cm sin(b)
 Cm_wind =  Cm cos(b) - Cl sin(b)
 Cn_wind =  Cn


AVL does not display these wind-axes forces since they are not
relevant to stability and control calculations, and differ from the 
stability-axes forces only if a steady-state sideslip is present, 
such as perhaps in a steady turn.  The primary quantity of interest 
here is the overall L/D = CL_wind/CD_wind = CL/CD_wind, and CD_wind 
is more accurately obtained from the Trefftz-Plane anyway.

The alternative Trefftz-Plane drag coefficient CDi is calculated 
from the wake trace in the Y-Z plane far downstream.  This is 
generally more reliable than the CD obtained from surface force 
integration, and is the appropriate wind-axes induced drag for 
performance prediction.
 
Ansicht hell / dunkel umschalten
Oben Unten