• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

MSFS MSFS2020 Flight Model

Messages
11
Country
croatia
Greetings!

There have been statements in the media that new flight model in MSFS2020 will rely on geometry... something like this... but I am not sure what that means.
I have changed the geometry and exported it via Blender and it seems that it had absolutely no effect (changes are visible in 3D model in game, but aircraft behaves as before).
Maybe it was silly of me expecting something like this... maybe they (Microsoft, Asobo) are talking about something else, like assembling virtual 3D model out of XML flight data (wing span, MAC, taper, sweep, dihedral...) and then performing lifting-line or vortex lattice method?
Also, I found more info on historical models, but cannot attribute them to versions... there is classic 6DOF model where you define your static and dynamic aerodynamic coefficients and there is an extension to this approach in a form of look-up tables... anyone knows which MSFS version uses which?

Thanks!
 
Look in the SDK - there is a tutorial on how to create a flight model from an aircraft model and the tools in MS2020 for that purpose.
 
Thanks Tom for your reply.
I was in fact referring to that document among others.
However, upon re-reading it, things are a bit clearer to me now... MSFS2020 indeed seems to create some kind of discretized model based on aircraft data as I mentioned earlier (file:///C:/MSFS%20SDK/Documentation/01-Getting_Started/Tutorials/02-Flight_model_definition/index.html).
Legacy coefficients are mostly not used except to calibrate new model (Step 5: Base aerodynamic parameters).
Also, some functionality in game such as autopilot rely on legacy definitions (Step 10: Legacy field definitions).

I think I grasped this enough to start defining my aircraft flight model.

It would be useful though to actually know the method (terms mentioned in SDK: "new surface based aerodynamics simulation", "virtual wind tunnel") in new MSFS.
Having force calculated at 25% chord implies lifting line method, but I see a second row of forces downstream and also I can see a zig-zag pattern in force locations span-wise, check attachment.

forces.png
 
I was just wondering, anybody else feels this new model is a scam? It could have been very accurate if they allowed you to use coefficients for multiple stations on the wing/stab. However making a discretized model based on an unpublished algorithm?? I am very skeptical, and the handling of default aircraft doesn't really help :(
 
I would disagree... having that kind of model will help greatly to the developers that don't have access to detailed measured aircraft data.
There are also some benefits in this method as flow around right wing influences flow around left horizontal stabilizer (potential flow calculation).
In any case we can debate here indefinite until they provide us with info on method they use.
It would also be cool if they provided means of defining the "mesh" manually... we could model asymmetrical aircraft for instance (https://en.wikipedia.org/wiki/Blohm_&_Voss_BV_141), or unconventional (flying wing or something).
 
I having that kind of model will help greatly to the developers that don't have access to detailed measured aircraft data.
This would be the only benefit in my view, though using relatively standard values, and simplified curves on most parameters would achieve the same result.

There are also some benefits in this method as flow around right wing influences flow around left horizontal stabilizer (potential flow calculation).
I think the legacy model could have worked better by differentiating a bit more computations from different wings, maybe implementing a per wing AoA and other parameter to account for any sideslip, updraft etc...
Now you supposedly can have a single wing stalling, but the resulting spin is not so convincing... I do not see any benefit from legacy model, stall envelope is still mostly messed up.
I will not elaborate on light/medium turbulence having the same effect as real life severe/extremely severe ones. The whole takeoff run feels weird.
I Icompare from real life experience on the following models DR400, DA40 and DA42. I have >100hours on each of these, they don't come close enough. I don't feel any stability, on any axis, whereas these aircraft are rather easy to fly IRL, they won't make ground loops on takeoff/landing either because you pushed some rudder just a bit too much.
Now the maths may be good in the backgound, but then their released simobjects don't make good selling arguments...
And I can't see much room to correct the bad behaviors I experience.

In any case we can debate here indefinite until they provide us with info on method they use.
It would also be cool if they provided means of defining the "mesh" manually... we could model asymmetrical aircraft for instance (https://en.wikipedia.org/wiki/Blohm_&_Voss_BV_141), or unconventional (flying wing or something).
Well hopefully they will release more details on the computations they use, but unless they do so, I would rather switch to JSBSim to make a flight model and use FS2020 as an IG rather than anything else...

I don't want to open a sterile debate. I am just asking around if I am the only one left with some bad feelings (so far it can only be feelings, more time is required to explore the full possibilities). If I am alone here, well then I guess I will be just another old fool...
 
I am having much more success tweaking the Legacy flight model than the "Modern" equivalent. The latter adds no extra visible params for actual tweaking but it handles side slip, pitch stability and yaw stability very differently. But you can tweak one to match the other, except that again I find the Legacy model far easier to edit. Alterations in parameters show up more emphatically. The "modern" flight model seems incapable of promoting a proper side slip.

In both models they seem to have removed a lot of tables that were extremely useful in the old "air" file, which is roughly what the new flight_model.cfg is (an entirely text-based facsimile of it). I am not convinced any of the claimed multiple lift points or even more than one wing is actually being implemented. The lift points show in debug mode but this as far as I can see is just a reference or illustration that isn't actually used in the sim.

Whether time constraints or sheer difficulty of implementing these multiple lift points defeated Asobo I don't know, but a lot of people seem to believe this new flight model system is somehow a departure or revolutionary new fangled algorithm. I see no indication that it is. It seems to be a bog standard FSX airfile with maybe a couple of lift coefficient tables tweaked.

The virtual wind tunnel and flight model construction based on user input of dimensions etc does seem potentially very useful, but I suspect what might come out will still need an awful lot of tweaking.
 
I made a little experience, reading flight_model.cfg of some aircrafts:
- Official\OneStore\asobo-aircraft-c152\SimObjects\Airplanes\Asobo_C152\flight_model.cfg
- Official\OneStore\asobo-aircraft-dr400\SimObjects\Airplanes\Asobo_DR400\flight_model.cfg
- Official\OneStore\asobo-aircraft-208b-grand-caravan-ex\SimObjects\Airplanes\Asobo_208B_GRAND_CARAVAN_EX\flight_model.cfg
- Official\OneStore\asobo-aircraft-kingair350\SimObjects\Airplanes\Asobo_KingAir350\flight_model.cfg
- Official\OneStore\asobo-aircraft-tbm930\SimObjects\Airplanes\Asobo_TBM930\flight_model.cfg
- Official\OneStore\asobo-aircraft-savage-cub\SimObjects\Airplanes\Asobo_Savage_Cub\flight_model.cfg
- Official\OneStore\asobo-aircraft-c172sp-as1000\SimObjects\Airplanes\Asobo_C172sp_AS1000\flight_model.cfg
- Official\OneStore\asobo-aircraft-bonanza-g36\SimObjects\Airplanes\Asobo_Bonanza_G36\flight_model.cfg
- Official\OneStore\asobo-aircraft-c152\SimObjects\Airplanes\Asobo_C152\flight_model.cfg

[INTERACTIVE POINTS]
number_of_interactive_points = 0
- Official\OneStore\asobo-aircraft-savage-cub\SimObjects\Airplanes\asobo-aircraft-cj4\flight_model.cfg
[INTERACTIVE POINTS]
number_of_interactive_points = 4
interactive_point.0 = 0, 4, -30, -2.5, 3, 0, 0, -90, 0, 0, 0, 0, 0, 0
interactive_point.1 = 0, 4, 30, -2.5, 3, 0, 0, 90, 0, 0, 0, 0, 0, 0
interactive_point.2 = 0, -22, -13, -2.5, 4, 0, 0, -135, 0, 0, 0, 0, 0, 0
interactive_point.3 = 0, -22, 23, -2.5, 4, 0, 0, 135, 0, 0, 0, 0, 0, 0
- Official\OneStore\asobo-aircraft-dr400\SimObjects\Airplanes\Asobo_A320_NEO\flight_model.cfg
[INTERACTIVE POINTS]
number_of_interactive_points = 10
interactive_point.0 = 0.4, 27.93, -6.05, 3.02, 0, 0, 0, -86, 72, 16, 85, 3, -2, 33
interactive_point.1 = 0.4, 27.93, 6.05, 3.02, 0, 0, 0, 86, 85, 3, 72, 16, -2, 33
interactive_point.2 = 0.4, -53, -5.2, 3, 0, 0, 0, -103, 0, 0, 0, 0, 0, 0
interactive_point.3 = 0.4, -53, 5.2, 3, 0, 0, 0, 103, 0, 0, 0, 0, 0, 0
interactive_point.4 = 0.4, -29.5, 2, -1.8, 1, 0, 0, 90, 0, 0, 0, 0, 0, 0
interactive_point.5 = 0.4, 18, 1.93, -1.9, 1, 0, 0, 90, 0, 0, 0, 0, 0, 0
interactive_point.6 = 0.4, -4, -6, 6.2, 2, 0, 0, -90, 0, 0, 0, 0, 0, 0
interactive_point.7 = 0.4, -4, 6, 6.2, 2, 0, 0, 90, 0, 0, 0, 0, 0, 0
interactive_point.8 = 0, 36.3, 10.78, -5.18, 4, 0, 0, 45, 0, 0, 0, 0, 0, 0
interactive_point.9 = 0, 0, -54.59, -7.57, 3, 0, 0, -90, 0, 0, 0, 0, 0, 0
- Official\OneStore\asobo-aircraft-b7478i\SimObjects\Airplanes\Asobo_B747_8i
[INTERACTIVE POINTS]
number_of_interactive_points = 17
interactive_point.0 = 0.4, 150, -9.6, 1.3, 0, 0, 0, -82, 0, 0, 0, 0, 0, 0
interactive_point.1 = 0.4, -177.2, 7.4, 1.3, 0, 0, 0, 102, 0, 0, 0, 0, 0, 0
interactive_point.2 = 0.4, -32.2, -8.1, 11.2, 2, 0, 0, -90, 0, 0, 0, 0, 0, 0
interactive_point.3 = 0.4, -32.2, 8.1, 11.2, 2, 0, 0, 90, 0, 0, 0, 0, 0, 0
interactive_point.4 = 0.4, -57, -10.3, 1.3, 2, 0, 0, -90, 0, 0, 0, 0, 0, 0
interactive_point.5 = 0.4, -56, 10.3, 1.3, 2, 0, 0, 90, 0, 0, 0, 0, 0, 0
interactive_point.6 = 0.4, -94.6, -11, 1.1, 2, 0, 0, -90, 0, 0, 0, 0, 0, 0
interactive_point.7 = 0.4, -93.4, 11, 1.1, 2, 0, 0, 90, 0, 0, 0, 0, 0, 0
interactive_point.8 = 0.4, -132, -10, 1.1, 2, 0, 0, -90, 0, 0, 0, 0, 0, 0
interactive_point.9 = 0.4, -131, 10, 1.1, 2, 0, 0, 90, 0, 0, 0, 0, 0, 0
interactive_point.10 = 0.4, -15, -9.2, 1.3, 0, 0, 0, -85, 25, 4, 35, 1.5, 0, 0
interactive_point.11 = 0.4, -15, 9.2, 1.3, 0, 0, 0, 85, 35, 1.5, 25, 4, 0, 0
interactive_point.12 = 0.4, -26.3, 7, -5.4, 1, 0, 0, 90, 0, 0, 0, 0, 0, 0
interactive_point.13 = 0.4, -145, 6.4, -6, 1, 0, 0, 95, 0, 0, 0, 0, 0, 0
interactive_point.14 = 0.4, -87.98, -58.25, -12.6, 3, 0, 0, -45, 0, 0, 0, 0, 0, 0
interactive_point.15 = 0, 1.9, 10.8, -10.5, 4, 0, 0, 45, 0, 0, 0, 0, 0, 0
interactive_point.16 = 0, -96, 0, -8, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0

If my hypothesis is correct and if the INTERACTIVE POINTS table is indeed the declaration of the number of points taken into account in the advanced flight model (model which had to work on 1000 points ... max because in fact it is not that) we realize that many models have no points so they must be governed by the old model and only 3 or 4 aircraft are actually governed by this advanced model but with a maximum of 17 points.
We are far from the 1000 promised. Hopefully future updates will improve this.
 
Jeehell said "I compare from real life experience on the following models DR400, DA40 and DA42. I have >100hours on each of these, they don't come close enough. I don't feel any stability, on any axis, whereas these aircraft are rather easy to fly IRL"
That for me sums up what MSFS has done for airplane handling in the sim. It is nothing like real life which means it is a bad simulation. I have 3600 hours actual flight experience and just 30 hours on the DR400, the rest of my experience was mostly jet fighters with a smattering of single and twin pistons and a CPL. Flying the DR400 at night in 40 kt winds was easy and totally controllable whereas the sim plays games with you even when the wind is 5 kts or less. I have noticed it gets easier over sea so the idea must be a large number of ground thermal sources causing multiple up and down drafts. It is not like that except on days with large thermal activity as I found out on 360 flights in gliders.
I just hope there is some way to turn off the effects and restore normalcy to the fight characteristics.
Roy
 
I've been messing around with the flight model trying to make a sailplane. One thing that seems odd to me is how large the FM fuselage is for most aircraft. There is some sideforce visual displaying so maybe part of the issue is this over sized fuselage.

If my hypothesis is correct and if the INTERACTIVE POINTS table is indeed the declaration of the number of points taken into account in the advanced flight model (model which had to work on 1000 points ... max because in fact it is not that) we realize that many models have no points so they must be governed by the old model and only 3 or 4 aircraft are actually governed by this advanced model but with a maximum of 17 points.
We are far from the 1000 promised. Hopefully future updates will improve this.

I'm fairly certain that those are used for the landing gear. Note how they are in a section called "contact points" and every other variable in that section is related to gear.
 
From the SDK Docs:

"
[INTERACTIVE POINTS]

The Interactive Points have actually no impact on the flight model, but are currently located in the flight_model.cfg file. More information on this section is available here "

and following the link one get's to:

/Documentation/03-Content_Configuration/SimObjects/00-Aircraft/Aircraft_Configuration/InteractivePoints.html

where from we can read:

"Interactive Points in MSFS represent an extension of the [EXITS] from FSX. They are used to define position of various doors of the aircraft (regular, emergency, and cargo doors), as well as some other points to interact with Airport Services, such as the end of a fuel hose to interact with a FuelTruck, or the end of an eletrical cable to interact with a GroundPowerUnit vehicle."
 
I have to agree with those saying that the current implementation of the FM is somewhat wretched. Having a lot of real-world flying experience in many of the light aircraft featured (C152, 172, DA40, DA42) I can say they are really far from their real counterparts. Not only in terms of flying by the numbers, but also in terms of handling. At this moment I'm trying to tweak the C152 to be at least docile and enjoyable to fly as it should be without that loathsome elastic pitch feeling, and while I could somewhat cope with that I found out that the engine tuning is crippled as much. They say in the SDK that the air-file was transferred into the text form, but at the same time most of its parameters and tables simply don't work. For example, the prop efficiency table doesn't seem to affect the behaviour at all even with some extreme editing. At present, I can see no way to fine tune the prop characteristics for different airspeed ranges.
 
I have to agree with those saying that the current implementation of the FM is somewhat wretched. Having a lot of real-world flying experience in many of the light aircraft featured (C152, 172, DA40, DA42) I can say they are really far from their real counterparts. Not only in terms of flying by the numbers, but also in terms of handling. At this moment I'm trying to tweak the C152 to be at least docile and enjoyable to fly as it should be without that loathsome elastic pitch feeling, and while I could somewhat cope with that I found out that the engine tuning is crippled as much. They say in the SDK that the air-file was transferred into the text form, but at the same time most of its parameters and tables simply don't work. For example, the prop efficiency table doesn't seem to affect the behaviour at all even with some extreme editing. At present, I can see no way to fine tune the prop characteristics for different airspeed ranges.

Have you taken a look at "Documentation/03-Content_Configuration/SimObjects/00-Aircraft/Flight_Model.html". It has mentions of a lot of the variables that are present but ignored by the FM. I'm not very familiar with FSX fm but I don't think this game is sharing much, if any, fm code besides the stuff that is there to make importing old models possible.

I've managed to get the DR400 fairly stable/docile. Its no longer phased by 5kn winds at low level over hills and 40kns is pretty manageable. So it is possible to "tune" things to be more on rails like but I'm probably using way too high of values for some things. But I did find a few errors in their DR400 FM.
 
Have you taken a look at "Documentation/03-Content_Configuration/SimObjects/00-Aircraft/Flight_Model.html". It has mentions of a lot of the variables that are present but ignored by the FM. I'm not very familiar with FSX fm but I don't think this game is sharing much, if any, fm code besides the stuff that is there to make importing old models possible.
I have. And the problem is exactly that: lots of old variables are ignored, but there are no new ones to control similar things.
 
There's still very limited info, and stuff they talk about in the docs is not detailed enough.

They say they run those "virtual wind tunnel" tests at simulation load, to find the fd variables, based on the aerodynamic properties, but then they also say that the developers should then alter the legacy model variables to match those the test calculates ( ??? )

Where do they infer the wing shape from ? FSX reduced all tables to the aircraft as a whole. AoA was "aircraft" AoA, not wing AoA, and they trashed the "Incidence" variable. So, what values are they considering when they "design" their aircraft sketch ?

Then they write:

"To define the lift curve, we use a sub section of the legacy lift table. The only parameters that are key now in this table, are the lift coefficient at an angle of attack of zero, and the maximum clean lift coefficient at the stall angle of attack. "
 
Does area of horizontal/vert need to be the full area of that surface? That is to say including the rudder and elevator area?
 
In classical Flight Dynamics it always is.
To be more precise, it is the planform projection area (in case of wings, area of the shadow when sun is right above) including imaginary inner section that would exist if there were no fuselage.
 
Back
Top