Konvergenztest für Xwing

Liebe Nuri-Designer,

ich habe mal meinen Pfeilentwurf mit Xwing vom Nuriulf nachgerechnet. Dabei habe ich festgestellt, dass man ziemlich aufpassen muss, wie fein man die Segmente in Tiefenrichtung macht. In Spannweitenrichtung ergibt sich wenig Empfindlichkeit.

Xwing errechnet sich seine Profilkenngrößen (alfa0 und cm0) ja über die Skelettlinie des Profils. Der Flügel wird also in Tiefenrichtung immer durch Geradenstücke (der Skelettlinie) angenähert. Das macht man von Hand mit dem Programm "camber". Meisten wählt man an der Nase und an der Endkante kleinere Segmente.

Ich gebe mal mein Ergebnis an einem Pfeil ohne Winglets (Sp:2,4m, Ti:28cm, Ta:16cm, Nasenpfeilung:27°, TL54mod):

1: chord in 15 segmente (0,02 0,04 0,07 0,07 5x0,1 6x0,05):
CA=0,287 bei sm=10%
2: chord in 26 segmente (2x0,02 und 24x0,04)
CA=0,318 bei sm=10%
3: chord in 50 segmente von 0,02 Größe
CA = 0,358 bei 10 %

Man sieht, die Konvergenz ist extrem langsam!!!!

Dass so eine feine Aufteilung für die Skelettlinie nötig ist, hätte ich nicht gedacht. Vielleicht hat der eine oder andere eine ähnliche Erfahrung gemacht.

Gruß
Andreas
 
Hallo Andreas,

das gleiche habe ich auch schon festgestellt. Wenn man den Flügel ohne Verwindung rechnet, kann man rückwärts rechnen mit welchem cm0 X-Wing rechnet. Wenn das mit den Werten von X-Foil, bzw. Eppler übereinstimmt, dann reicht die Anzahl der Stützstellen. (Das ist jetzt kein sehr wissenschaftlicher Ansatz, sonder ein pragmatischer.)

Ich weiß gar nicht ob der Wert gegen das diese Berechnung konvergiert überhaupt der ist, den man benötigt. Außerdem müsste man mal testen, ob dieses Verhalten für alle Profile gleich ist, oder ob es nur bei dem TL54 so ist, dass die Werte so weit auseinander liegen.

Viele Grüße

Bernd
 
Hallo Bernd,

genauso bin ich auch vorgegangen. Ich habe einfach einen Brettentwurf OHNE Schränkung hergenommen und ein etwas bösartiges S-Schlag-Profil (CJ-3309, cm0=+0,033) mit komplizierter Skelettlinie benutzt. Für ein Stab.maß vom 10% müsste dann CA= 0,33 rauskommen, - allerdings nur für den unendlich langen Flügel, oder?

Da merkte ich, dass die Sache sehr langsam konvergiert. Ich brauchte 50 Segmente in Tiefenrichtung - also 0,02-Schritte - und kam letztlich auf CA=0,36, beginnend bei CA=-0,037!! mit 5 Segmenten.

Dann machte ich das gleiche für einen Pfeil wie oben beschrieben (Schränk.:-4,5%) und bemerkte die gleiche langsame Konvergenz, obwohl die Skelettlinie wesentlich braver verläuft.

Physikalisch macht ja das Programm vom Ulf alles richtig. Und schön ist, dass man weiss, was man tut und von Hand die Segmentierung steuern kann. Vortex-Panel Methoden konvergieren tasächlich oft langsam (ich kenne mich da nicht gut aus, habe sowas aber mal gelesen im Anderson), deshalb geht man oft in höhere Ordnung und das wird progammmäßig aufwendig.

Aber Xwing ist schon schön. Man muss nur eben vorher testen. Außerdem kennt man den Code und man könnte sich das Programm jederzeit anpassen.

Gruß,
Andreas
 
Vermutung:
Im Unterprogramm "camber" nähert Ulf die Skelettlinie mit einer Parabel a+bx+cx**2.
Damit kann man natürlich keine Kurve mit einem zweiten Extremum nähern. Wenn wir also Profile verwenden, deren Skelettlinie hinten wieder ansteigt, haben wir ein Problem. Das gilt vor allem für Nurflügel.
Aber ich spekuliere nur....vielleicht meldet sich der Ulf mal.
LG
Andreas
 
Vermutung bestätigt:

mit einem "Parabel"-Profil wie SD7037 zum Beispiel konvertiert Xwing einiges schneller. Es reichen lässig 20 Tiefensegmente.

Andreas
 
Hallo,
ich freue mich zu hören, daß es noch ein paar Nutzer meines Programmes gibt.

mit dem Paneling in Flugrichtung habe ich mich auch eine Weile herumgeschlagen.
Vor allem um herauszukriegen, wie das Konvergenzverhalten aussieht, wenn unterschiedlich tiefe Panels hintereinander liegen. Das Problem ist immer der ungleichmäßige Abstand von Kontrollpunkten und Wirbellinien. Deswegen habe ich auch das Camber-Programm gemacht, um eine einigermaßen gleichmäßige Verteilung ungleich tiefer Panels zu realisieren. Scheinbar habe ich es mir immer noch etwas zu einfach gemacht. Was eigentlich IMMER funktionieren sollte ist eine Unterteilung in Tiefenrichtung in gleich tiefe Panels. Nur leider geht das in dem Moment nicht mehr, wo man beliebige Klappentiefen braucht.

Aber trotzdem vielen Dank für den Problembericht, ich werde mir das noch mal genauer ansehen müssen.
 
OK, ihr habt wirklich ein gemeines Profil gefunden. Ich hab die Rechnung mal mit einem Brett der Streckung 10 nachvollzogen und komme auf genau solche Effekte, wie oben beschrieben. Das Profil bremst wirklich auf der allerletzten Rille, der S-Schlag kommt erst auf den letzten 5 Prozent. :rolleyes: Ob das aerodynamisch funktioniert will ich hier lieber nicht kommentieren - bitte nur mit großer RE-Zahl testen ;)
Aber ich soll ja nur rechnen - Das Problem liegt hier eindeutig in meiner Camber Routine. Die unterteilt den Bereich der Nasenleiste recht fein, den Rest dann zunehmend gleichmäßiger. Das CJ-3309 hat nun leider eine sehr starke Krümmung der Camberlinie nahe der Endleiste. Man sieht das recht gut, wenn man sich für verschieden feine Verteilung mal die Segmentwinkel nahe der Endleiste ansieht. Erste Zeile Paneltiefen, zweite Zeile Segment-Anstellwinkel:

; np=10
... 0.1450 0.1526 0.1565
... 5.3505 3.5267 -1.9680

; np=20
... 0.0737 0.0756 0.0770 0.0780 0.0783
... 5.7491 4.3529 2.7054 -0.0221 -3.9109

; np=50
... 0.0308 0.0309 0.0311 0.0312 0.0313 0.0314 0.0316
... 2.6554 2.5044 0.9167 -0.3321 -1.6510 -3.4454 -5.2415

Hier muß man unbedingt die Unterteilung anders vornehmen, so daß die Endleiste auch bei wenigen Panels genügend aufgelöst wird. Ich werd wohl für das Camber Programm noch alternative Methoden der Unterteilung programmieren müssen. Wenn ihr Algorithmen-Vorschläge habt, her damit. Auf jeden Fall werde ich noch eine Gleichverteilung vorsehen. Ich hoffe, euch das diese Woche noch machen zu können.
 
Lieber Ulf,

wenn ich mir die Camber-Routine anschaue, sehe ich, dass du mit einer Parabel fittest. Wäre es nicht besser eine kubische Funktion zu nehmen:

x+ax**2+bx**3

(Die Funktion geht auch gleich durch den Nullpunkt).

Man könnte auch den Spline ganz weglassen und nur die dat-Koordinatenpunkte nehmen. Die sind automatisch vorne und hinten eng. Meist hätte man dann so 30 Segmente. Allerdings gibt es da das Problem, dass die x-Koordinaten für Ober- und Unterseite des Profils oft leicht verschoben sind. Lösung: man nimmt zur Berechnung der Skelettlinie immer das Mittel zwischen zwei benachbarten x-Punkten:

Skelettpunkt(<x>) = 0.5 * (yo(<x>) + yu(<x>))

Ich glaube, diese Näherung wäre sehr gut. Man sollte sich die dat-Datei vorher immer schnell mal anschaun. Vielleicht sollte die Camber-Routine auch einen Plott machen, so dass man die kritischen Stellen sehen kann.

Wenn die Skelettlinie passt, denke ich, dass dein Programm sehr zuverlässig ist: alles ist klar durchdacht...Kompliment.

Andreas
 
Ich habe meine zweite Lösung mal in einer Tabellenkalk. gemacht am TL54. Siehe Bild. Links das Profil mit yu und yo. Dann gemitteltes <X>, dann Skelettlinie (auch geplottet) und letzlich die Segmente und Anstellwinkel. Nur so zum Nachdenken. Finde es könnte klappen.

Andreas
 

Anhänge

  • TL54_skelett.ods - OpenOffice.org Calc.jpg
    TL54_skelett.ods - OpenOffice.org Calc.jpg
    139,1 KB · Aufrufe: 33
Ja Markus, genau das habe ich mir auch gedacht - so funktioniert meine aktuelle Verteilung. Allerdings nur ein Halbkosinus, d.h. dichte Verteilung an der Nase und einigermaßen gleichverteilt hinten. Auf der Klappe dann die umgekehrte Verteilung, gleichmäßig an der Scharnierlinie und zunehmend dichter an der Kante. Wäre also hier eine Möglichkeit, das Paneling zu beeinflussen - eine Klappe definieren, dann kann man den Endleistenbereich feiner unterteilen.

Die parabolische Interpolation, die Andreas in meinem Code entdeckt hat, dient nur dazu die Ober und Unterseite zu interpolieren. Wenn ich an einer Stelle die Camberlinie haben will, brauche ich ja erst mal die Ober- und Unterseite des Profils. Da die Stützstellen nun nicht gerade dort liegen, muß ich interpolieren. Quadratisch hab ich gerade noch so hingekriegt, höhere Ordnung war mir zu anstrengend. ;)
 
Ich werd wohl der Camber Routine noch eine Kontrolle hinzufügen, die aus der fertigen Unterteilung mal Momentenbeiwert und Nullauftriebswinkel zurückrechnet. Dann kann man immer erst mal mit den (hoffentlich bekannten) Profilwerten vergleichen.

Danke Frank, für den Tip mit dem Link, da muß ich mal nachsehen.

Ja, unsere Clubseiten hat jemand überarbeitet, seitdem funktioniert kein direkter Link mehr.
Bei Zanonia steht ja das meiste. Auf unsere die anderen Seiten kommt man
unter MFC Rossendorf -> Projekte -> Projektübersicht -> XWing.
 
Ich habe mal mit Octave-Matlab ein kubisches Polynom in die oberen (und unteren) Profilpunkte gelegt: es geht sehr schlecht!!!

Fazit: man muss die Profiltiefe aufteilen in einen Nasenteil bis x=0,25 z.B. und einen Endteil bis x=1. Dann muss jeder Teil für sich als kubisches Polynom gefittet werden.
Ich meine, die Skelettlinien der Naca-Profile sind auch so berechnet.

Dazu müsste es doch Literatur geben....

LG
Andreas
 
Nee, so global macht man das nicht. Ich suche mir die drei Punkte, die der gewählten x-Stelle am nächsten sind. Durch die lege ich eine Parabel, mit der ich dann auf den genauen x-Wert interpoliere. Kubisch wäre sicher besser, vor allem weil einige Profilprogramme (Eppler) genau das benutzen, aber in allen praktischen Fällen, war quadratisch genau genug. Eigentlich kann man auch linear interpolieren, für die hier geforderten genauigkeiten liegen die Profildaten normalerweise dicht genug. Ich will ja nur eine einigermaßen richtige Camberlinie haben, diese Näherung ist sowieso primitiv genug, da muß man jetzt nicht um jedes Tausendstel feilschen. ;) Die Berechnung der Camberlinie ist schon in Ordnung, nur an welchen Stellen man Panels anordnet, daß muß man schon genau überlegen.
 
Lieber Ulf,

verstehe deine Bemerkung.

Ich habe gestern mit Octave ein Camber-Programm gemacht. Funktioniert prima. Ich bin etwa so vorgegangen:

Polynom vom Grad 15 (oder mehr) in die dat-Punkte für Oberprofil und Unterprofil gelegt.
Passt bestens.
Berechnung der Koeff. des Skelettpolynoms.
Aufteilung der Tiefe so dass die Intervalle an Nase und Endkante enger liegen - über Trafo: x = (1-cos(phi))/2 .
Polynome und Datenpunkte plotten und sehen, ob alles passt.
Skelettpolynom ableiten.
Berechnung des cm0 nach Anderson.
Vergleich mit Literatur, um zu sehen, wieviel Segmente nötig sind (15 reichen meist).
Segmente und Winkel für dein Xwing-Programm.

Vorteil: man hat ein Kriterium der Konvergenz, wenn cm0 richtig rauskommt und man die Ableitung der Skelettlinie anschauen kann. Dann müsste es auch in Xwing klappen.

Gruß,
Andreas
 
So ähnlich mache ich es ja. Nur lege ich kein Polynom über große Bereiche. Wenn die Punkte da ein bischen ungünstig liegen, produziert dir dein Polynom übelste Schwinger. Ich interpoliere nur lokal über die nächstgelegenen Punkte. Die cos-Verteilung steckt ja auch bereits in der Routine drin, allerdings wird der Endleistenbereich nur dann feiner unterteilt, wenn man eine Klappe definiert. Das CJ wird allerdings vermutlich nie so recht funktionieren. Ich hab das gerade mal gplottet - viel zuwenig Stützstellen, vor allem nahe der Endleiste. :eek: Je nachdem, wie du interpolierst, kannst du völlig verschiedene Profile draus machen. Die Kontrollrechnung für cm0 und alpha0 werde ich aber auf jeden Fall in die Camberroutine einbauen.
 
Hallo liebe Kollegen,

habe mir den Beitrag nun ein paar Tage angeschaut und kann mich nun nicht mehr zurückhalten.

Das hier beschriebene Problem mit der Profilskelettlinie hatte ich vor ein paar Jahren auch auf dem Zettel.
Um die Gesamtzahl der Panels (und somit die Rechenzeit) halbwegs im Rahmen zu halten, wäre es ja wünschenswert die Anzahl der Panels in Tiefenrichtung auf ein Minimum zu begrenzen und so habe ich dann mit 4-5 Panels in X-Richtung angefangen.

Schnell wurde klar, das Profile mit stark negativem Nickmoment recht wenig Problem machen, aber z.B. die Eigenschaften eines S-Schlag-Profiles völlig von der Wirklichkeit abweichen .

Nach der Thin-Airfoil-Theorie hat z.B. ein ClarkYS ein
alfa0 = 0,28196° und ein cm0_25 = 0,03474 .
Bildet man die Skelettlinie nun aber mit nur 4 gleich langen Panels in Tiefenrichtung ab, so ergibt sich beim Vortex
alfa0 = -0,515 und ein cm0_25 = -0,00524 .
Aus dem S-Schlagprofil wird ein gewölbtes Profil gemacht.

Hier nur kurz dazwischen, wie man die Nullbeiwerte der Profile-Skelettlinis im Vortexprogramm testen kann.
Mann nehme einen Rechteckflügel mit sagen wir mal einer Streckung von 500 oder höher, so dass der Randwirbel kaum einen Einfluß ausübt.
Den Bezugpunkt für die Tiefenmaße legen wird in die t/4-Linie des Flügels, also bei 25% der Flügeltiefe, daraus ergibt sich dann der Momentenbeiwert cm0_25.
Nun rechnen wir einen Auftriebsbeiwert von CA=0 oder CL=0.
Als Resultat bekommen wir den Nullauftriebswinkel und den Nullmomentenbeiwert cm0_25 um die t/4-Linie.

Ändert man die Paneltiefen-Verteilung von linear auf cos , so das es vorne an der Nase und hinten an der Endleiste eine feinere Verteilung gibt , so wird das Ergebnis etwas besser , ist aber auch nicht berauschend.
alfa0 = -0,211 und ein cm0_25 = 0,00061.

Erst wenn man die Anzahl der Stützstellen erhöht , wird es besser.
10 Panels cos
alfa0 = 0,114 und ein cm0_25 = 0,02312
20 Panels cos
alfa0 = 0,205 und ein cm0_25 = 0,02950
30 Panels cos
alfa0 = 0,235 und ein cm0_25 = 0,03144
40 Panels cos
alfa0 = 0,253 und ein cm0_25 = 0,03251
50 Panels cos
alfa0 = 0,263 und ein cm0_25 = 0,03314
60 Panels cos
alfa0 = 0,269 und ein cm0_25 = 0,03354
......
90 Panels cos
alfa0 = 0,281 und ein cm0_25 = 0,03424

Breche hier mal ab, keine Lust mehr.
Aber man sieht, erst bei Panelzahlen in Tiefenrichtung so um 100 kommt man der Warheit näher.

Die Gesamtzahl der Panels für das Flugzeug ist nun aber gigantisch in die Höhe geschnellt und ebenso die Rechenzeit.

Das macht keinen richtigen Spass.

Habe dann überlegt was zu tun ist, um mit einer Panelzahl von sagen wir mal 4-10 in Tiefenrichtung klar zu kommen.
Und es gibt eine Lösung.
Man nimmt nicht mehr die Orginal-Skelettlinie, sondern bastelt sich eine neue , mit den Eigenschaften die man braucht.
Hat man z.B. eine Panelaufteilung von linear 4 in Tiefenrichtung , so bekommt man 3 Stützstellen, an denen man rumzuppeln kann.
Die Nasen und Endleiste bleiben auf 0,0 und 1,0 und alle Stützstellen dazwischen kann man in Höhenrichtung (Z) verschieben.

Durch eine pfiffige Iterationsschleife und einer Grundroutine zum Berechnen der Nullbeiwerte (z.B. Thin-Airfoil-Theorie) kann man damit einen Ersatz für die Orginalskelettlinie schaffen.

Was haltet ihr davon?

Was dann auch noch eine Überlegung wert ist.
Bei unterschiedlichen Re-Zahlen verändern die Profile unter Grenzschichteinfluß ihre Eigenschaften.
Die Thin-Airfoil-Theorie ist Reibungslos gerechnet und die dort ermittelten Nullbeiwerte gelten nur für sehr hohe Re-Zahlen.
Bei den kleinen Re-Zahlen im Modellflug kann man diese Werte eigentlich eh in die Tonne werfen.
Schaut euch mal die Nullbeiwerte eines Profil für CL=0 im XFoil bei verschiedenen Re-Zahlen an.

Gruß

Frank
 
Lieber Frank,

deine Idee ist vielleicht nicht schlecht. Wenn ich richtig verstehe, bastelst du so lange an einer Skelettlinie in Segmentform rum, bis das Profil-cm0 mit dem der "Literatur" übereinstimmt. Bei unseren Profilen kommt es vor allem auf das Hinterteil an!!:D
Dann nimmst du diese Skelettlinie für das 3D-Verfahren...

D.h. aber, dass der Nutzer immer vorher eine eingehende Analyse seines Profils machen muss. Viel Arbeit! die so manchen user abschrecken wird. Dann lieber gleich bauen und sehen wie's fliegt.

Ich fürchte, bei unseren (Nurflügel-) Profilen (die ja meistens an der Endlkante leicht hochgehen und dort ihre kleinen oder gar positiven cm0 generieren) sollte man volle Panel-Verfahren nehmen, die auf die Profiloberfläche ihre Segmente legen - und die Skelettlinie vermeiden.

Aber ich bin kein Experte in solchen Verfahren, obwohl ich bereits einen Blick in den "Katz und Plotkin" geworfen habe. Es ist eine verdammt schwierige Thematik!

Gruß
Andreas
 
Ansicht hell / dunkel umschalten
Oben Unten