After experimenting a bit with the flight model while I was trying to improve the one of the 747-8, I arrived to the following conclusion: the assumptions made by the game for the flight model are correct and working for straight and traditional wing profiles but are incorrect for large transport aircraft with swept wings and super critical aerofoils.
Interestingly enough, the CJ4 can be modelled accurately with the standard flight model and assumptions due to its straight wing and traditional profile (the MMO is low at 0.77 compared to the 747-8 MMO of 0.90).
For supercritical aerofoils, the centre of pressure is significantly more aft than for a traditional aerofoil, with the pressure distribution over the wing being more spread than with a traditional aerofoil, to reduce the drag generated by the shock wave forming over the wing when flying above Mcrit.
Right now, it is possible to change the wrong position of the centre of pressure from forward of the centre of gravity to aft of the centre of gravity by changing the empty CG position in the config file and in the game when loading the aircraft to be in front of 25% MAC, which might be more restrictive than what the real aircraft can do, for example the 747-8 can be loaded between 11% MAC to 33% MAC IRL (I’m aware the mass and balance chart is more complex than this, just trying to illustrate my point here).
I have also realised that the SDK is not correct on what the wing_pos_apex_long and the aero_center_lift parameters do: if you have the line compute_aero_center = 1 in the config file, then the aero centre position can be changed by changing the value of the wing_pos_apex_long parameter, not the aero_center_lift one as indicated by the SDK. With the computer_aero_center parameter enable, you can also modify the lift_coef_aoa_table and the pitch_moment_aoa_table to change the calculated aero centre position. When the compute_aero_center parameter is set to 0, then the aero centre position is determined by the value of the aero_center_lift parameter in the config file. Changing this value will move the centre of pressure position, but will maintain the same distance between it and the centre of gravity, moving the centre of gravity in the process.
Finally, it is possible to improve a bit on the standard autopilot behaviour by writing pitch_use_trim = 0 in the autopilot section of the systems.cfg file, emulating an elevator control based autopilot as they are IRL. I say emulating because the trim won’t be used to control the aircraft in pitch, but neither will be the elevator, the plane pitch will just change and the aircraft will trim itself, allowing the AP to be disengage with the aircraft in trim.
Hopefully, this reaches Asobo and they can take these things into account to improve our simulator.
Thank you for reading me.