Jump to content

Recommended Posts

Posted

Currently I'm trying to reverse engineer the SF2 flight model.

I stumbled over the stall tables.
Does anyone know how the stall tables (StallLiftTable, StallDragTable and StallXacShiftTable) work?

As an example here are the StallLiftTable and StallDragTable from the P-51D and F-4B inner wings:

stall_lift_table.jpg.7e3b33e90bb09b9b62d61684d5228f59.jpg

stall_drag_table.jpg.72a359e0d3008ea95ecddd5dc8ee1644.jpg

I assume the abscissa is alpha and the ordinates are factors for some lift or drag coefficients. Correct?
What are the lift and drag coefficients? CLmax for lift and StallDrag for drag?
But the drag table looks odd. I would have assumed that at alpha = -90 degree and +90 degree the drag factor would have its maximum.
When are these tables used? If alpha > AlphaDepart?

  • Like 3
Posted (edited)

As far as I'm concerned (about my knowledge on this subject) I tend not to use the Stallxxx entries.
Sometime I let them as they are, but if I really want an aircraft to behave like it should when departing, spinning and recovering, I think that delete them all and work on the Lift and Drag is much more efficient.

I would say (only based on my personal experience of the game and personal experience of real flying) that the game handle the stall very nicely without the Stallxxx entries, when the lift and drag tables are edited too...
The stall tables could be used (copy/paste lol) when required but they're not necessary.

That doesn't answer the question, but that's my opinion about it.

:drinks:

 

What I meant -> :bad: "TW stall tables"

No offense to TW, I love the game :good:

Edited by Cliff7600
Posted
2 hours ago, Cliff7600 said:

As far as I'm concerned (about my knowledge on this subject) I tend not to use the Stallxxx entries.
Sometime I let them as they are, but if I really want an aircraft to behave like it should when departing, spinning and recovering, I think that delete them all and work on the Lift and Drag is much more efficient.

Ok. For Drag you can extend the CDLAlphaTable. But how do you define Lift at post stall condition (alpha > AlphaDepart)?

Posted (edited)
10 hours ago, mue said:

But how do you define Lift at post stall condition ?

Don't know how to answer this, but :

Using or not Stallxxx entries, I often edit the Cl0machtable and ClaMachTable datas

CL0MachTableData=0.000,0.570,0.783,0.996,1.000,0.996,0.906,0.815,0.725,0.635,0.545,0.454,0.364

CLaMachTableData=0.000,0.570,0.883,1.000,0.996,0.906,0.815,0.725,0.635,0.545,0.454,0.364,0.279

(done on the kitchen table using a fork as a screwdriver)

with :

CheckStall=TRUE
CLmax=0.2458
AlphaStall=15.27
AlphaMax=23.64
AlphaDepart=29.72
StallMoment=-0.003
StallDrag=0.004
StallLiftTableNumData=37
StallLiftTableDeltaX=10.00
StallLiftTableStartX=-180.00
StallLiftTableData=0.000,-0.013,-0.027,-0.044,-0.060,-0.057,-0.049,-0.033,-0.014,0.000,0.018,0.052,0.098,0.146,0.211,0.255,0.355,0.554,0.942,0.611,0.378,0.276,0.220,0.174,0.123,0.077,0.040,0.000,-0.014,-0.033,-0.049,-0.057,-0.060,-0.044,-0.027,-0.013,0.000
StallDragTableNumData=37
StallDragTableDeltaX=10.00
StallDragTableStartX=-180.00
StallDragTableData=0.001,0.008,0.021,0.043,0.082,0.123,0.171,0.227,0.292,0.367,0.451,0.562,0.689,0.825,0.937,1.018,1.142,1.122,1.000,1.122,1.142,1.018,0.937,0.825,0.689,0.562,0.451,0.367,0.292,0.227,0.171,0.123,0.082,0.043,0.021,0.008,0.001
StallXacShiftTableNumData=37
StallXacShiftTableDeltaX=10.00
StallXacShiftTableStartX=-180.00
StallXacShiftTableData=-0.505,-0.505,-0.431,-0.388,-0.384,-0.369,-0.343,-0.316,-0.279,-0.252,-0.225,-0.189,-0.162,-0.136,-0.121,-0.116,-0.073,0.000,0.000,0.000,-0.073,-0.116,-0.121,-0.136,-0.162,-0.189,-0.225,-0.252,-0.279,-0.316,-0.343,-0.369,-0.384,-0.388,-0.431,-0.505,-0.505

or

CLaMachTableData=0.996,0.997,1.000,1.005,1.011,1.025,1.141,1.141,1.089,1.042,1.016,1.005

no Cl0 value

with :

CheckStall=TRUE
CLmax=0.1252
AlphaStall=15.13
AlphaMax=28.58
AlphaDepart=41.88
StallMoment=-0.002
StallDrag=0.004

no StallxxxTable

--------------------------------------------

In the first example the first value of the table is 0.000, so there's no lift.

In the second example, it's the TW table (I think...) but I deleted the StallxxxTables

No theory, no study, billions of tests, so no reliable explanations as well :dntknw:

 

...and the stall speed in the flight control part (in meters/sec)

[FlightControl]
StallSpeed=62.00

I think the game cuts the lift under this value + modified by the flaps settings (+ does the wind counts ???)

Edited by Cliff7600
  • Thanks 1
Posted
7 hours ago, Cliff7600 said:

In the second example, it's the TW table (I think...) but I deleted the StallxxxTables

I think if the Stall* tables are missing the default ones from AIRCRAFTOBJECT.INI are used.

Quote

No theory, no study, billions of tests, so no reliable explanations as well :dntknw:

Because I want to reverse engineer the TW flight model to (re)implement it with JSBSim for use in FlightGear I have to use a more "academic" approach:
I bought a copy of Modern Combat Aircraft Design and Aircraft Control And Simulation to learn the needed know how about aerodynamics and flight model simulation. Together with the TW forum archive and this forum I then try to reverse engineer all needed formulas.

Quote

...and the stall speed in the flight control part (in meters/sec)

[FlightControl]
StallSpeed=62.00

I think the game cuts the lift under this value + modified by the flaps settings (+ does the wind counts ???)

I think the *Speed= entries under [FlightControl] are only relevant for the AI.

Posted
On 18/7/2019 at 10:13 AM, mue said:

I think the *Speed= entries under [FlightControl] are only relevant for the AI.

In the [FlightControl] part :

StallSpeed=
MaxG=
MaxSpeedSL=
MachLimit=

are relevant for the player

Posted

Using this post to ask my FM questions.

- What I need to change in order to make faster pitch and roll on a helicopter? Currently it feels too heavy , slow to start and stop the roll/pitch, and want to make it more agile/responsive.

- On same chopper, how can I add braking power to the aerobrakes so it slows a lot faster?

Thanks a lot!!

Posted
7 hours ago, Stratos said:

how can I add braking power to the aerobrakes so it slows a lot faster?

[Airbrake]
...
DragArea=xxx <- increase this value

----------------------------------------

For the 1st question :

[AircraftData]
...
EmptyInertia=xx.x,yy.y,zz.z

But you're on your own xD
You shouldn't try to change these values, unless you know exactly what you're doing.

1) back-up the original entry, it will be useful when you will have to face some fails.

2) you shouldn't change these values, unless you know exactly what you're doing. You know it !

3) Keep in mind there's a bunch of other ways to try to solve this particular problem
(especially for an helicopter : fake components, fake control surfaces, real minmaxextent positions, real massfraction values, ...)

4) Keep in mind the guy that defined these values at first (maybe by copy/paste technique) may not know what he was doing at all. So you have to do it ! But you shouldn't as well.

5) X, Y, Z what axis ? Yeah, that's a good question ! It's a little tricky so I don't really want to pretend I know the answer... In fact it's a part of the process to figure out what does what.

6) Please report :wink:

Good luck !
...and be patient, it's a long way to the top if you wanna rock'n'roll ^^

  • 1 month later...
Posted (edited)
On 7/15/2019 at 12:55 PM, mue said:

Currently I'm trying to reverse engineer the SF2 flight model.

I stumbled over the stall tables.
Does anyone know how the stall tables (StallLiftTable, StallDragTable and StallXacShiftTable) work?

As an example here are the StallLiftTable and StallDragTable from the P-51D and F-4B inner wings:

stall_lift_table.jpg.7e3b33e90bb09b9b62d61684d5228f59.jpg

stall_drag_table.jpg.72a359e0d3008ea95ecddd5dc8ee1644.jpg

I assume the abscissa is alpha and the ordinates are factors for some lift or drag coefficients. Correct?
What are the lift and drag coefficients? CLmax for lift and StallDrag for drag?
But the drag table looks odd. I would have assumed that at alpha = -90 degree and +90 degree the drag factor would have its maximum.
When are these tables used? If alpha > AlphaDepart?

I originally thought the drag tables were just a modifier for the headline StallDrag=xxx entry but noticed the TW F-16 has StallDrag=0.000 for both inner and outer wing panels while still using a stall drag table. That's just an observation I'm passing along because I'm not sure how it works either. The F-16 still generates a noticeable increase in drag at the buffet point so the table seems to be doing something. When building a new FM I just grab those tables from a TW type with a similar wing design and move along.

On 7/17/2019 at 10:56 AM, mue said:

Ok. For Drag you can extend the CDLAlphaTable. But how do you define Lift at post stall condition (alpha > AlphaDepart)?

The above statement caught my eye. I always assumed, because every TW FM has a CDL table that ended at 28deg, there must be a limitation in the flight engine. The 28deg limit is probably OK for most of the older TW aircraft but might be a bit limiting for people wanting to model some of the newer high alpha types. I made an expanded CDL table to check out the behavior past 28deg alpha and it seems to work OK but needs more testing:

CDLAlphaTableNumData=31
CDLAlphaTableDeltaX=4.00
CDLAlphaTableStartX=-60.00
CDLAlphaTableData=225.000,196.000,169.000,144.000,121.000,100.000,81.000,64.00,49.000,36.000,25.000,16.000,9.000,4.000,1.000,0.000,1.000,4.000,9.000,16.000,25.000,36.000,49.000,64.000,81.000,100.000,121.000,144.000,169.000,196.000,225.000

The above table probably looks familiar to many. The 28deg version is used on many TW types and is what you get when calculating for a symmetrical airfoil with an aspect ratio of 2.0 and an efficiency ratio of 0.80[80%]

The posted table is calculated to +/- 60deg. I'm not really sure how best to implement this table. CDL=drag due to lift and the lift stops increasing at AlphaMax=xxx so it might make sense to limit the table to the AlphaMax range. As an example, your flying the latest high alpha wonder plane and it keeps making lift up to 38deg AOA. In this case it might make sense to stop the table at 40deg, 100.00 on the table. On the other hand, after reaching AlphaMax, the TW flight engine maintains the lift in a straight line [flat line/constant lift] to AlphaDepart=xxx. For the new wonder plane the AlphaDepart=60.0 AOA so it also might make sense to just continue the 100.000 data point right to the end of the table. Or maybe not. I'm not really sure how the game is modeling drag post 'AlphaMax' [edit] and AlphaDepart, maybe it has something to do with the stall drag table Mue was asking about.

I don't fly the modern planes very often but I'm trying this new table out on one and for the MiG-21 Bis FM I've been messing with I've got the AlphaMax=33 so I'm trying the new table with a range to 36Deg.

The table is an easy copy/paste job if anyone wants to try it out on a high alpha plane that uses the standard 28deg TW table.

Edited by baffmeister
clarification and more clarification
  • Like 2
Posted

Thank you baffmeister for your infos, explanations and tests.

I still wonder when exactly the stall tables "kick in". When alpha > AlphaMax or alpha > AlphaDepart? My guess is the latter (alpha > AlphaDepart).
I also wonder how is the Drag handled between the end of the CDLAlpha table and when the stall table kicks in (AlphaMax or AlphaDepart) in cases were AlphaMax and/or AlphaDepart are greater then the end of the CDLAlpha table. Maybe the CDLAlpha table is then extrapolated (linear or constant)?
Regarding the abscissa of the stall tables: First I thought it's alpha. But maybe it's delta alpha, i.e. the difference to AlphaMax (or AlphaDepart). Because the tables have (modifier) values of 1.0 (or near 1.0) at angle = 0 degrees. I assume the modifiers are factors for the lift and drag values at AlphaMax (or AlphaDepart). If the abscissa would be alpha (and not delta alpha) were would be a "step" in the resulting lift and drag graphs when the stall occurs, because the (modifier) values then (at AlphaMax or AlphaDepart) are quite different to 1.0.

  • 1 month later...
  • 2 weeks later...
Posted

Maybe you FM gurus knew this already, but I only recently noticed that:
Internal fuel and the pilot (and internal ammo too?) don't change the center of gravity (cog) of the aircraft. The additional weight will always be placed at the cog. Only the inertia tensor (Ix,Iy,Iz) is changed as follows:
Ix = (mass_total/mass_empty)*Ix_empty, Iy = (mass_total/mass_empty)*Iy_empty and Iz = (mass_total/mass_empty)*Iz_empty

  • Like 1
  • Thanks 2
Posted
3 hours ago, mue said:

Maybe you FM gurus knew this already, but I only recently noticed that:
Internal fuel and the pilot (and internal ammo too?) don't change the center of gravity (cog) of the aircraft. The additional weight will always be placed at the cog. Only the inertia tensor (Ix,Iy,Iz) is changed as follows:
Ix = (mass_total/mass_empty)*Ix_empty, Iy = (mass_total/mass_empty)*Iy_empty and Iz = (mass_total/mass_empty)*Iz_empty

I knew that....NOT lol....you sure are digging in this mue m8  top stuff man

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use, Privacy Policy, and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..