• 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 We need a new FS2020-ready AirWrench, or AirEd :-)

Just saying...

Been a long time since I visited the forum. Was in the MFS Alpha but didn't even notice it until 15 days before release - I seldom check my Outlook account.

Then after release I bought the game and played it for a few days... Looks interesting, to say the least, but I really have to understand how that blend between the
Legacy CFG+AIR files, now collapsed into one + a reference data file, and the MODERN FDM ( virtual wind tunnel ) approach...


Resource contributor
The sim actually comes with an amazing editor for aerodynamics, weight and balance, contact points etc. You can make changes and immediately apply them to your model.

Roy Holmes

Resource contributor
"You can make changes and immediately apply them to your model."
That assumes you know what changes to make. Also if the changes are potentially interrelated you absolutely should make one change, test the result, if needed make further changes and tests and then move on to the next thing to test. Air Wrench gave you instant answers after you made the change and that takes the place of the flight test and results.
In other words there still is a need for a tool that gives you instant performance results. Much quicker and less liable to suffer from experimental error.
Is it true for any aircraft? I couldn't find a way to open the FD of existing aircraft for editing.
I'll be honest. I miss AAM ( Aircraft Airfile Manager ). I miss it because it had a very thorough comment section in it that attempted to define what each entry did and which other entries it effected. Wached oveer time, you could see all these entries in a single air file would change and come to understand the dynamic nature of them allowing you to create an even more realistic and accurate FDE..
Not sure if this might help, but I have developed an application that converts "modern" .cfg files to "legacy" aircraft/.air files. So far, I have been able to correlate "modern" variables (mostly from flight_model.cfg and engines.cfg) to their legacy counterparts and the application puts them in an aircraft.cfg and a "text version" of .air that can be imported by Mudpond's AirUpdate utility.

Still in its infancy but I can work now with the A320Neo model in AirWizEd ... which is pretty cool, if I may say :)

I am not a flight model guru, and almost all I've learned I have learned from you guys. But from my humble point of view, and at least the Neo, the flight model and engine model are very poor.

Next steps would be to tweak the model in AirWizEd, work on the engine tables (following Roy's documentation) and then, work backwards from aircraft/ .air files to MSFS cfg structure.

I am attaching a screen dump of the app and a copy of the A320 Neo files produced by the tool (aircraft.cfg, .air in both, text and binary form). Feel free to discuss or point out any issues you see with my approach (which I am sure there are).

Of course, once I get the whole thing working I'll be more than glad to include it as a resource to the community.



  • Capture.PNG
    25.3 KB · Views: 217
  • a320neo.zip
    14.7 KB · Views: 187
This is a great idea.
Unfortunately the dynamic part of the new sim is so unfinished that at present very few things seem to work as supposed.
Asobo took out 80% of all tables from the Neo's file in the latest update (substituting those with simple constants) which clearly shows they have still been working on it.

The Legacy-mode is a mess, control surface sensibilities are horrible, the most important engine tables do not work, but it's peanuts compared to the "Modern" mode where almost none of the tables work and it's impossible to regulate pitch.

I guess we have to wait a considerable time more until the entire idea is finished.
I fully agree. Honestly, I think the biggest problem is "communication" ... written communication. Without a properly defined and complete SDK document, its almost impossible to work out the potential and magic of the new model.

Probably flight modeling is harder due to the mix between geometry-based modeling and traditional parameter modeling (it seems you have to make both worlds match if you want things like AP). But engine modeling should still rely on parameters/ tables just liker we had before.

I will concentrate on the later until we get a decent SDK and documentation.
There is some additional explanation of the FM that is commented out of the HTML file in the SDK;

The aim of this algorithm is to compute aerodynamic coefficients for each surface element so that the resulting global behavior of the plane is in accordance with "global" aerodynamics coefficients and tables provided by user.

Normalization coefficients are pre-computed at initialization for $N_{\textrm{ctrl states}} = N_{\textrm{flap states}}\times N_{\textrm{spoiler states}}$ input controls configurations
Spoiler totally active or totally inactive $N_{\textrm{spoiler states}} = 2$
Number of flaps states $N_{\textrm{flap states}}$ positions, provided by user in *aircraft.cfg*

For each controls state input (spoiler activated or not and flaps position):

1. aircraft_evaluate_FSX: returns AC_Evaluation coefficients corresponding to a controls configuration state, computed using FSX old model

On boucle 10 fois: (pas de verif de la convergence)

2. aircraft_evaluate_Plane: returns AC_Evaluation coefficients corresponding to a controls configuration state, computed using surface elements

aircraft_evaluate_Plane works like this
* Get control state for which we want to compute normalization coefs
* Recompute surface elements normals aircraft_initplanepoints_new_system: update surface elements for normals to adapt to controls positions/deflections + use currently normalized aero coef (iterative algo)
* *evaluate_performance*: This function evaluates lift, drag, side forces and pitch moment using the surface element model for:
+ a given airspeed norm, fixed to cruise speed Vc
+ a given AoA (orientation of relative air vector)
+ a given dynamic state (rotation) of the aircraft

* Lift, drag, side force and pitch moment are computed by integrating relative wind pressure force on each oriented surface element. The function has different versions, and output CL, CD and the 3 moments coefficients.
*evaluate_performance* is called 6 times to estimate CL, CD, Cy and Cm, and dCm and dCl and dCmf from 6 aircraft dynamic states:

+ AoA 0(purely longitudinal relative wind), no rotation speed
+ AoA + 10 degrees, no rotation speed
+ Wind coming from right (total side slip), no rotation speed
+ AoA 0(purely longitudinal relative wind) + pure pitch velocity
+ AoA 0(purely longitudinal relative wind) + pure roll velocity
+ AoA 0(purely longitudinal relative wind) + pure yaw velocity

Ci0 = CL0 = AoA 0
Ci = CL for AoA 10 degrees
==> deduce dCL/dAoA = dCi
Same for Cm0 = Cm at AoA 0
Cm = Cm at AoA 10 degrees
==> dCm
dCmf = frictional rotation force
Moments without rotation speed are compared to moments computed with rotation speed (norm = 0.5???)
Variation du pitch en fonction de la vitesse de rotation de l'avion

3. Once *aircraft_evaluate_Plane* has computed *AC_Evaluation*, normalization coefficients are simply obtained by making a ratio between FSX computed coefficients and Microsoft Flight Simulator computed coefficients. This is done in *aircraft_calc_normalization2*. All resulting coefficients are stored in *AC_Normalization* structure

Normalization coefficients

* Incidence trim angle ok
* Tail incidence delta ? not used
* CiNormalizeToFSX ok
* CdNormalizeToFSX ok
* CdFlapNormalizeToFSX ? not used
* CybetaNormalizeToFSX ? not used
* CfmNormalize ok
* CaForwardTrim ? not used

All this is done only once at the beginning the the chosen $N_{\textrm{ctrl states}}$ control states.

In game:
During the game, the current applicable normalization coefficients are simply deduced by linearly interpolating pre-computed normalization coefficients using the current input control state.

Get current controls states

Update surface elements orientation according to current controls positions/angles

Interpolation current normalization coefficients from current control states

Use current normalization to set aerodynamics coefficients of each surface element (to dispatch it actually) function
*aircraft_initplanepoints_new_system* that sets all surface elements and their aero coefficients according to selected/interpolated normalization

I wish there was a way to use just the new FM and not have to deal with this normalization stuff.