plane icon Welcome to Microsoft Flight Simulator’s SDK Q&A Platform!

You have questions regarding the SDK? DevMode Tools? SimConnect? You would like to submit an idea for future improvements, seek help or exchange knowledge? You’re in the right place.


Please take a moment to read the platform’s guidelines before you get started!


question

GrimPhoenix9349 avatar image
GrimPhoenix9349 asked JacobW answered

How does the need for accurate geometry balance against the lack of adjustment?

This is a bit of a general question, but I am going to try and use one specific area of the flight model and some detail from aircraft I have built to explain the issue:


The SDK entry for roll moment from rudder - combined with the same from yaw rate and slip angle (the SDK entry for these is virtually identical) gives you the secondary effect of the primary control surface which controls yaw.

roll_moment_delta_rudder

Defines how much roll moment will be generated when the rudder is deflected.

This is a legacy FSX parameter not used in the modern flight model. In the modern flight model this effect is natively obtained through aerodynamic simulation of the surfaces defined in the [AIRPLANE_GEOMETRY] section. In the modern flight model, most of the roll will be induced by the difference in lift between one wing and the other, and the rudder will work against this effect. Adjust the shape of the wing via wing_sweep, wing_dihedral, wing_twist, wing_camber, the position of the wing, and the vertical position of the rudder, the rudder area, and rudder lift coefficient, to adjust this effect. Some of these parameters will work against each others. Induced roll is a very complex effect to balance which will depend on many factors.


I agree with the definition as far as "... difference in lift between one wing and the other ...". Firstly, the rudder does not "work against this effect", it is a causation of the effect because it puts the wings in a situation where differential lift is created, but I suppose that could just be poor phraseology. My primary concern is that, given we are asked in the SDK to build accurate geometry when using the modern flight model and that CFD is likely to make this even more critical, if a behaviour is not correct we are asked to modify the shape of the aircraft? In this case the wing (which should already be set up correctly in terms of sweep, dihedral, twist, camber, position) and rudder (again, the position, shape and size should already be correct - lift coefficient is a variable rather than a fixed situation, so I will allow that it could be adjusted).


I have already had to use incorrect geometry in one respect on several flight models with particular regard to the dihedral - when set correctly to real-world figures, with everything else geometrically correct, it is often possible to complete a 360 degree roll just using the rudder. The remaining wing and tail fin / rudder geometry is correct, the behaviour of the dihedral in terms of the roll induced by the yawing process is massively overdone. So I have had to decrease the dihedral (by more than half) on several flight models purely for this one part of the dihedral effect and this leaves me wondering if the other behaviours resultant from the dihedral are correct or have been weakened. As is correctly noted in the SDK quoted above, it's a complex effect but as a flight model builder I feel I have lost control of it. Either I build it correctly in geometric terms OR I set that one obvious behaviour correctly and hope that the guesswork I have used instead of accurate geometry doesn't result in poor behaviours elsewhere in the flight model (with dihedral, stability in roll being the primary effect which would be of concern).


If the aim of this game is to give us a flight model in which accurate geometry is crucial, how can we have an SDK in which, if we get an incorrect behaviour the answer is almost flippantly to adjust the geometry (i.e. use incorrect geometry)? To me, this simply does not make sense, because every step away from accurate geometry may give you the answer to one small area but is bound to have a knock-on effect in other areas.

flightmodeldocumentation
1 comment
10 |10000

Up to 5 attachments (including images) can be used with a maximum of 4.8 MiB each and 23.8 MiB total.

GrimPhoenix9349 avatar image GrimPhoenix9349 commented ·

To give a further example, the JF Hawk - the real aircraft has no dihedral.


With the wing set correctly as far as the geometry is concerned, any yaw gives a roll AWAY from the direction of yaw. This is incorrect, except for a very small range specifically noted in the POH. The roll should, except for that small range, be towards the yaw as is standard for the secondary effect of rudder use and yaw.


The only way I have been able to achieve a (very unsatisfactory) roll in the direction of the yaw is to give the wing dihedral, which is incorrect geometrically and would lead to problems elsewhere in the flight model. In P3D, FSX and its predecessors, we were able to achieve the correct, satisfactory secondary effect of the rudder use and also, as we had multiple coefficients and modifiers on them in terms of tables set against speed, we were able to recreate the reversed roll in that small speed band.


For aircraft that have specific behaviours such as this, which are known and may not be a 'generic' behaviour that the core flight model can cope with, how does the SDK's suggestion of altering the geometry (thus making it incorrect) move us forwards?


3 Likes 3 ·
ModelMuncher avatar image
ModelMuncher answered GrimPhoenix9349 edited

Are you not missing a fundamental issue here ?

"This is a legacy FSX parameter not used in the modern flight model."

2 comments
10 |10000

Up to 5 attachments (including images) can be used with a maximum of 4.8 MiB each and 23.8 MiB total.

GrimPhoenix9349 avatar image GrimPhoenix9349 commented ·

Not really, that is precisely the point - just because the picture from the SDK shows a legacy parameter, that does not mean that the answer is "don't use legacy parameters". I have a problem with the implimentation of the aerodynamic effect previously controlled by that parameter but in the modern flight model. In the legacy flight model, we had control of these areas. According to the SDK quoted above (which details how to achieve the same aerodynamic feature in the modern flight model), the only way to adjust an effect in the modern flight model is to alter the geometry. If the geometry is already correct and the effect is completely incorrect, are we expected to change the geometry to an incorrect value? That would alter other areas than just the one we are trying to alter, and lead to an equally substandard flight model.

1 Like 1 ·
GrimPhoenix9349 avatar image GrimPhoenix9349 GrimPhoenix9349 commented ·

To bump this one and hopefully add clarity - there is a really simple question at the basis of this, entirely rooted in the modern flight model:

When the accurate geometry, taken from the manufacturers' documentation, does not create the required / expected / accurate behaviours and the [FLIGHT_TUNING] section has nothing that can adjust the required effect, what are we supposed to do?


I have given some examples above, dihedral initially followed by multiple issues on the Hawk where the geometry can not be accurate within the bounds of definition in the current flight model and as a result the behaviour is incorrect. Then there are areas which neither FSX, P3D, X-Plane or MSFS seem to create natively, but which in the previous sims we could create through the tables (Mach Tuck, for example, relied especially, but not exclusively, on CM0 v Mach). We no longer have the ability to adjust required areas to create the correct behaviour, so we are left with a sub-standard product. CFD moves us towards the X-Plane way of doing things, but again that sim relies on a mass of adjustability on top of the geometry.

I have recently been working on a large STOL aircraft which has very small ailerons on the outer portion of the wing, and roll is substantially controlled by roll-spoilers. Again, the behaviour (even with aileron effectiveness set to 3) is a slower than required roll rate. There is nothing in the flight tuning to adjust the effectiveness of the roll spoilers (which, in this case, are significant and across much of the wing). The spoiler definition itself is limited - nothing to adjust the area, only the angle it deploys to - so we are unable to create a precise, accurate behaviour without creating ridiculously oversized ailerons. If you do that, the whole premise of "the correct definition of the aircraft's dimension data is of particularly (sic) importance" falls down. Other aerodynamic factors reliant on the altered / incorrect feature will also be incorrect, you then have to make adjustments elsewhere to compensate and the domino effect begins. Very shortly, there is nothing accurate in the whole geometry section and the entire flightmodel becomes 'best guess'.


I am not alone in my views on the inability of 3rd Party Devs to use the core flight model to create accurate behaviours across the entire envelope. I am aware of the risks of reading individual posts, so I would encourage some reading around the following linked posts. Robert Young created some of the best flight models for FSX, anyone that flew the RealAir products would attest to that:

https://www.avsim.com/forums/topic/623568-msfs-flight-model/?do=findComment&comment=4838231

and

https://www.avsim.com/forums/topic/623568-msfs-flight-model/?do=findComment&comment=4838322


Previous sims gave us the ability to adjust, often multiple areas for one effect and they were all grounded in aerodynamic theory. We were able to build precise, accurate flight models which didn't have much interaction with the environment. Now we have the opposite - aircraft that get thrown around in a living, breathing world but their accuracy (to those of us that have always strived to get right even the areas most simmers will not notice) is not there.


I would never expect a core flight model to be able to replicate all aerodynamic behaviours of any aircraft purely on the geometry, that would be asking far too much. However, I would expect it to allow us enough scope in a logical manner to adjust - Flight tuning currently has 35 aerodynamic lines, compared to roughly 115 lines / tables in the old airfiles. Several of those lines in MSFS are not aerodynamically logical - the 'maxangle scalars' are something that appears only in this game, not in any aerodynamic theory and their description in the SDK makes little sense. I know that it is a work in progress, I know that CFD is sitting in the wings (!) and hopefully improving the flight model. However, even CFD will rely on somebody programming the base to give desired behaviours, followed by 3rd party dev reliance on geometry which cannot be precise enough and there will be many points at which adjustment will be necessary.


I cannot speak for others, but my view reflects the posts linked above and discussion with several other flight dynamics developers who have always tried to use a metaphorical 'surgical scalpel' to create the best result for their customers. Look at the flight tuning section - it is a sledgehammer for adjustment, and cheating our way out of it by fudging the accuracy just will not do.


4 Likes 4 ·
DanPL avatar image
DanPL answered

I had also to "cheat" with data to get the correct behaviour. The problem is that any update is likely to break our workaround. Good luck for your question....

10 |10000

Up to 5 attachments (including images) can be used with a maximum of 4.8 MiB each and 23.8 MiB total.

An.Petrovich avatar image
An.Petrovich answered An.Petrovich edited

Thank you for the question,
I agree that it's a bit (actually deep) of a general question.

Usually in simulators you can distinguish 3 groups of parameters among all flight model settings:

1) "hard-set" parameters (which are reliably known in advance, such as geometry, mass, etc.);

2) "estimated" parameters (which we can get either from flight test of real aircraft directly, or calculate (restore) using known engineering methods and "hard-set" parameters or/and flight test data);

3) and parameters for "fine tuning", which we can neither know, nor estimate, but which allow making various corrections of behavior without violating the integrity of parameters from the first two groups.

Depending on the complexity of the simulated object, your knowledge of it and the desired accuracy of the final behavior of the object, sometimes, due to lack of parameters in Group 3, developers are forced to distort the parameters from Group 2, and even from Group 1. At the current level of development of flight models in simulators, this is the normal, and sometimes the only possible way. Especially if you know exactly what behavior you want to achieve.

Our goal is to improve the flight model and, of course, to move toward avoiding such ways of correction by improvement and extending all three groups of parameters. Say, what now refers to "reliably known geometry" doesn't really describe the aircraft geometry in its entirety either, but gives only a few basic geometric parameters. If you take this point of view into account, a small correction of these parameters will no longer be perceived as weird. The only important recommendation here is to do it last, if you are convinced and know for sure that you cannot achieve the desired result by any other means:

Practice of creation of flight models known to me shows that the "hacks" described by you are inevitable in all existing flight simulators at the present stage, and apparently this inevitability will remain for some time. I think that the main priority here should always remain the final behavior of the aircraft.

2 comments
10 |10000

Up to 5 attachments (including images) can be used with a maximum of 4.8 MiB each and 23.8 MiB total.

GrimPhoenix9349 avatar image GrimPhoenix9349 commented ·

Hello Andrey,


Thank you for taking the time to put a detailed response together - it's appreciated. I agree with your breakdown of the flight model into the three groups of parameters, that is pretty much how I have looked at my flight models over the years. Before getting into a proper response (in case this is thrown out as an 'answer'), we now have the option of selecting legacy FM only or modern FM only - this has muddied the waters even further. Legacy was originally airfile and aircraft.cfg. Modern was the multiple text files. From the lack of clarity surrounding this and some experimentation (setting legacy only =1, using an airfile and aircraft.cfg and watching the aircraft behave like a spinning top made of helium) I am guessing that 'Legacy' now refers to the initial 'Modern' flight model with coefficients apparently working even though they are not? I have to admit to being totally confused by what is going on!


Now if I may take some of your points and offer a different opinion:


1) The 'Hard Set Parameters' should never be adjusted from real world figures - there has to be a solid base, and if the core flight model cannot cope with such basics then it raises questions about its quality. I have commented elsewhere that I do not believe MSFS gives us the ability to define various parts of the geometry accurately enough (especially if CFD is to be the way forward) but if the absolute basics are not as accurate as we can get them then we may as well give up now.


2) 'Estimated Parameters' - from FSX this would be the coefficients. I'll just say that for the Just Flight 747 Classic for P3D prior to its recent cancellation, with the Hard Set correct and the parameters entered from Airplane J (B747), Appendix B of Roskam's 'Airplane Flight Dynamics and Automatic Flight Controls Part I' there was very little need for adjustment to achieve book figures. Indeed, all that was really missing was a decent world in which to fly!


3) 'Fine Tuning', yes there is always going to be a need for this but if you are given enough adjustable and clearly understandable tools then it should by this point just be a case of honing it in. I worked with two USAF T37 instructors on the SWS T37 for P3D, and this was probably the most enjoyable part, using the tables v Mach and v AoA to bend the coefficients (coincidentally again from Roskam's paper) and create something which both instructors found to be realistic. I will say, however, that I do not agree with 'made up' features such as maxangle scalars (if the effect calculated by the core is correct, then at it's maximum angle any deflected surface should not require a further scalar to adjust it). Also, the alteration of geometry (adding incidence to the aileron and tip, twist to the tip at the stall) to try and control behaviours rather than looking to use correct airflow behaviours is just wrong. As you say, 'Hacks' are necessary and I believe they always will be but they should be refined, as precise as possible and should make aerodynamic sense.
I was told last year, though, in direct conversation with an Asobo FD person that "real aircraft engineers use 'tricks' like these in the hangar to make real aircraft fly" . . . . Make of that what you will.

There has been some 'background whispering' that many of the coefficients brought over from FSX no longer have any effect, the move away from tables of data to a geometry-based flight model being explicitly stated in the SDK. When Just Flight released the Hawk T1 it was flown by an RAF pilot who was trained on it in real life - he provided several tutorials on his YouTube channel and was very happy with how it flew (with a couple of minor reservations which we were going to look at). Fast forward a few Sim Updates and it now flies appallingly, despite not having had any flight model updates - some of the controlling coefficients I suspect have been made non-functional. But to stick with the Hawk for a mo, giving brief reference to earlier comments in the thread about dihedral, there is a specific behaviour resultant from yaw in the Hawk. Currently, with the correct lack of dihedral, a yawing moment creates a roll away from the direction of yaw at all speeds. Give the aircraft dihedral and you can create a roll in the direction of yaw (as you would expect) but then you have other implications from the dihedral such as increased roll stability. However, and to quote the Hawk T1/T1A POH, "Application of rudder produces a moderate rolling moment. There are areas in the flight envelope, normally above 300 knots, where the response to rudder is roll in the opposite direction." So speed-dependant, the roll from rudder could be into or against the yaw.

I would never expect a core flight model to be able to realistically cope with that sort of detailed behaviour, and it may seem like a bizarre thing to be trying to replicate, but that is the level of detail which many flight dynamics developers are aiming for (requiring significant adjustment of specific aerodynamic effects). Those were available in FSX, most have no effect in the current MSFS flight model. Just a quick glance at the old airfiles gives about 25 tables where effects could be adjusted for speed and another 12 that could be adjusted for AoA and while not perfect it felt as if the developer was in control of how the aircraft behaved rather than the core flight model taking priority, getting it wrong and not being able to be adjusted. What we are currently left with is the option to create a generic flight model that has some accurate speeds but none of the realistic behaviours which we have aimed for in all of the other sims and which we were a good way towards before all these SUs!


To briefly take X-Plane as it is a more relevant example to the current move to CFD (which I accept is in its infancy). Even the blade element theory has a mass of adjustment allowed within the sim on top of the geometry - far, far more than the twenty or so lines we have in the Flight_Tuning section. Too much emphasis in MSFS is placed on allowing the core to calculate what it thinks should happen, and all too often the results are incorrect and we are left unable to make them correct.


Sorry for the long post, I am purely a flight dynamics developer and have spent the last couple of years watching control taken from me and getting more and more disillusioned with what I think should be the most 'correct' part of any sim. The rest of MSFS is superb to me. It is what we have been crying out for for years but I just want to be able to create detailed, accurate flight dynamics based on aerodynamic theory as I have been able to do in FSX, P3D and X-Plane for many years.

Best wishes,

Paul.

0 Likes 0 ·
An.Petrovich avatar image An.Petrovich GrimPhoenix9349 commented ·

I got your point, and must say we have nothing to argue about here, as our wishes basically coincide. By the way, the effect you mention for the Hawk (opposite roll reaction on rudder at different airspeed ranges) was perfectly modeled for the Su-25 in "LockOn: Flaming Cliffs" back in 2003, using correct geometry and based-on-elements aerodynamics, so I understand very well what you are talking about. The way to improve the FM, taking into account the need to support all the previously created content is very, very difficult, but in any case we are going through it. I'm sure eventually it will work, but it will take time.

1 Like 1 ·
JacobW avatar image
JacobW answered

What I wonder is why they try to invent the wheel again?


Someone have already done all the calculations.


Why did they just don’t buy them selves out of the problem?


https://youtu.be/aBERfB5PI2Q




10 |10000

Up to 5 attachments (including images) can be used with a maximum of 4.8 MiB each and 23.8 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 5 attachments (including images) can be used with a maximum of 19.1 MiB each and 23.8 MiB total.