3 La motorisation dans FB - De l`Histoire à la Simulation
Transcription
3 La motorisation dans FB - De l`Histoire à la Simulation
1 Remarque préliminaire Ce document concerne la mise en œuvre d’outils permettant d'étudier, d’éditer et de modifier les MDV des appareils utilisés dans IL2/FB. Ce n’est pas un mod en lui même, mais la démarche qui a été choisie pour créer des mod se rapportant aux MDV. Ces développements sont réalisés dans le cadre du site De l'Histoire à la Simulation et sont mis en place pour servir aux campagnes AOC. 2 Récupération et modifications des données du soft 2.1 Liste des fichiers fournis dans le package ✔ Flight Model 1 et 2: c'est de la documentation. Il s'agit uniquement des MDV de IL2/FB, tels qu'on pouvait les récupérer dans une version antérieure (avant qu'ils ne soient cryptés...). Ces fichiers s'ouvrent avec un éditeur de texte. ✔ ✔ 1 concerne les données relatives à l'avion (extension fmd), 2 concerne les données relatives au moteur (extension emd). Si vous êtes curieux, en prenant par exemple le fichiers le fichier Bf-109G-6Early.fmd, vous allez trouver les lignes suivantes: [Engine] Engine0Family DB-600_Series Engine0SubModel DB605D La première ligne signifie que vous allez faire appel au moteur de la famille DB-600. Vous allez alors retrouver dans Flight Model 2, un fichier qui se nomme DB-600_Series.emd. Si vous l'ouvrez, vous aller trouver une partie [generic] qui est relative à tous les moteurs de cette famille et quelques lignes plus bas la une partie [DB605D] qui traite du sous modèle de cette famille. Lorsque le fichier *.fmd se charge, lorsque il arrive sur ces lignes, il charge à partir du fichier *.emd alors les parties considérées. Bien que dans la version actuelle, il ne soit plus possible d'accéder directement à ces fichiers, le fonctionnement est le même et, d'après ce que j'ai pu en vérifier, les données sont les mêmes. Ces fichiers peuvent vous aider, c'est la raison pour laquelle ils sont inclus. ✔ Sources Java: contient tous les fichiers sources de IL2/FB. Ces fichiers ont été extraits de IL2/FB à l'aide de différents outils. C'est en modifiant certains d'entres eux qu'il est possible de créer des mods. C'est encore de la documentation. ✔ Tableur: ✔ new_mdv.ods: c'est un fichier correspondant au tableur d'Open Office (gratuit). Il vous permettra de faire varier les paramètres en d'en voir leurs conséquences (c'est expliqué plus bas). ✔ new_mdv.xls: c'est le même fichier que celui du dessus, mais je l'ai exporté au format Excel (payant). Toute la partie calcul doit fonctionner, la partie graphique peut avoir quelques problèmes de compatibilité mais elle n'est pas essentielle. ✔ Les 8 fichiers qui vont permettre de faire faire papa/maman à IL2/FB (enfin presque). L'installation est expliquée plus loin. Ces fichiers correspondent aux classes java qu'il a été nécessaire de modifier. ✔ Exemple: c'est encore de la documentation, en fait des fichiers d'exemple. Deux points sont à noter: ✔ le fichier Bf-109G-6Early.txt est l'équivallent des deux fichiers fmd et emd cités plus haut. Il en regroupe les éléments plus d'autres informations. Vous obtiendrez ce fichier lorsque vous passerez la première fois dans IL2/FB en suivant la méthode décrite plus loin. ✔ Le fichier Bf-109G-6Early_mod.txt est le fichier qui vous permettra de modifier des valeurs de paramètres par la méthode exposée plus loin. 2.2 Pré requis Il faut partir d’une installation propre, en version 4.08 ou 4.09 de IL2/FB avec le mod son. En outre, il est nécessaire d’avoir un tableur Excel ou Open Office (ce dernier est gratuit et vous pouvez récupérer la suite sur le net). L’application a été développée sous Open Office, mais les deux fichiers Excel et Open Office sont fournis. Ils sont compatibles, mais je ne garanti pas que les graphiques sous Excel ne présentent pas quelques problèmes de mise en page. En fait, comme tous les résultats sont également sous forme de tableau, si vous utilisez XLS, vous pourrez passer outre ces petits désagréments… 2.3 Installation C’est très simple et cela se fait en deux opérations. La première consiste à copier coller les 8 fichiers du dessus dans le même répertoire que ceux que vous avez pour le mod son. Si le programme vous demande d’écraser un fichier qui existe déjà, c’est que votre config n’est pas aussi propre que ce que vous pensez. Le fait d’écraser les fichiers vous fera perdre d’autres mods qui sont déjà en place. Donc, méfiance avant de faire une opération irréversible... La deuxième manip consiste à créer à la racine de IL2/FB un répertoire qu’il faudra appeler FM_mod. Voilà, c’est terminé pour l’installation. 2.4 Comment ça marche C’est très simple, la solution la plus rapide est d’utiliser l’éditeur de mission rapide. Dans un premier temps, il faut récupérer le MDV de l’avion considéré. J’ai utilisé pour la suite de cet exemple le 109G6. Donc, vous prenez l’éditeur de mission de rapide, vous choisissez l’avion et vous lancez le jeu. Dès que vous vous retrouvez dans le cockpit et vol, vous sortez. En fait, les paramètres sont chargés au moment où vous voyez apparaitre sur l’écran «loading aircraft». Donc, pas la peine de configurer le joystick, le track IR, la nationalité de l’avion, les skins, etc… C’est très rapide. Nota: si vous voulez récupérer plusieurs autres MDV, il suffit de rajouter, dans les slots IA les autres avions qui vous intéressent. Attention, un seul avion différent par slot. Ne vous étonnez pas si le chargement des avions est plus lent que d’habitude, il faut bien que le programme calcule pleins de machins… Une fois ressorti de IL2/FB, vous allez dans le répertoire FM_mod et là, surprise, un fichier texte à été crée. Si vous avez pris le 109G6, le fichier Bf-109G-6Early.txt va être généré. En ouvrant ce fichier, vous allez avoir tous les paramètres de vol pris en compte par le soft. En gros, cela vous donnera (début du fichier): Il apparait dans ce fichier tous les renseignements concernant le MDV. Les noms entre crochets correspondent à des chapitres, c’est juste une information. Ensuite, pour chaque paramètre, 3 éléments sont indiqués : • • • une référence: 100, 105, 110, … le nom du paramètre: Wingspan, Length, Type, … la valeur du paramètre: 9.918, 8.851, ….. Si vous continuez à jeter un coup d’œil sur le fichiers, d’autres éléments sont indiqués, sous forme de tableau, comme les coefficients aérodynamiques utilisés (polaire), les performances en virage, ainsi que les vitesses maxi en palier horizontal. Les paramètres moteurs sont également indiqués sous forme de deux séries de données : les données génériques de la famille du moteur utilisé ainsi que les données spécifiques au moteur utilisé. Dans le cas de multimoteurs, ces deux séries de données sont répétées autant de fois qu’il y a de moteurs. 2.5 Mise en place d’un mod A ce stade, vous n’avez fait que récupérer les paramètres nominaux. Il faut maintenant trouver l’astuce pour les changer. C’est très simple. Pour cela il suffit de créer dans le répertoire FM_mod, un fichier texte portant le même nom que le fichier que vous avez récupéré suivi par _mod. Dans notre cas, le fichier s’appellera: Bf-109G-6Early_mod.txt. Il est de la forme: Le 03 correspond à un suffixe du nouveau fichier texte avec les nouveau paramètres que vous allez créer. Cela permet de les différencier les uns des autres…. «test» est une ligne de commentaires que vous pouvez rajouter. Cela permet, quelques mois après, de ne pas se demander ce que l’on a fait et donc de garder une trace… Écrivez quelque chose, car je ne suis pas sur que si vous mettez rien, le programme ne plantera pas (pas eu le temps de tout vérifier… «3» correspond à une des options possibles que je détaillerais plus bas. En dessous, laisser une ligne blanche (important, sinon, là encore le programme risque de planter… Enfin, les valeurs modifiées doivent être entourées par les balises [deb] et [fin]. Pour modifier une valeur, il suffit de mettre son numéro de référence et la nouvelle valeur… Là, dans l’exemple, j’en ai modifié (au pif) 6. Un point important, le signe décimal est le point, si vous mettez une virgule, ça plantera. Je n’y peux rien, c’est la convention du java pour les nombre décimaux…. Vous relancez l’éditeur rapide (vous pouvez aussi bien vous créer une mission avec l’éditeur, ça marche aussi) , vous choisissez le même avion et vous pouvez voler avec les paramètres modifiés…. C’est tout. Si vous ressortez de IL2/FB et que vous alliez jeter un coup d’œil dans le répertoire FM_mod, un nouveau fichier à été crée: Bf-109G-6Early_03.txt. Si vous l’ouvrez (là encore que les premières lignes), vous obtenez: Voilà, c’est fait: vous avez créer votre premier mod…. Deux points à noter pour les modifications d’un paramètres. Vous pouvez indiquer plusieurs fois le même paramètres avec des valeurs différentes. Néanmoins, j’ai écrit le programme de telle façon que ce n’est que la valeur de la première occurrence qui sera prise en compte. En outre, vous n’êtes pas obligé de mettre les référence des paramètres dans l’ordre chronologique. Si vous procédez de la façon indiquée ci dessus, il y a de fortes chances que l’avion ait un comportement bizarre. En effet, beaucoup de paramètres liés aux polaire ou à l’aérodynamique du bousin sont liés. En changer un sans changer les autres entrainera 5 fois sur 10 des incohérences, d’où des options possibles (et nécessaires)… Option 0: cette option ne modifiera pas les caractéristiques aérodynamiques de l’avion même si vous avez modifié des paramètres qui ont une influence dessus. Vous pouvez changer par exemple la surface des ailes, mais (par exemple) la portance, ou la trainée ne changeront pas. En gros, cela veut dire que le recalcul n'est pas fait. Option 1: cette option recalculera les caractéristiques aérodynamiques, mais elle ne seront pas appliquées dans le programme. Il faut savoir que IL2/FB possède des fonctions permettant de recalculer ces caractéristiques. Elles ne sont pas utilisées nominalement dans le programme car elles ont du permettre à Oleg de définir les caractéristiques de chaque avion lorsqu'il était dans la phase débugging. En fait, la méthode d’optimisation est assez bizarre, elle existe, je n’ai fais que la réutiliser… Option 2: les caractéristiques sont recalculées et elles sont prises en comptes à 100% dans le mod pour l’avion considéré avec la méthode d'optimisation olégienne. Option 3: les caractéristiques sont recalculées, mais elles ne sont pas prioritaires par rapport à celles que vous avez vous même définies. Les paramètres concernés vont de 1480 à 1555. Si vous avez entré, par exemple le paramètre 1490 à 3.14, ce sera lui qui sera pris en compte et non pas celui recalculé le programme. Cela permet en fait d’atténuer certains effets dévastateur de l’optimisation olégienne… Option 4: c’est l’option qui correspond au tuning manuel des paramètres du vol (de1480 à 1555). En fait, dans cette option, le fichier que vous allez récupérer contient pleins d’éléments qui vont vous permettre de définir vos propres paramètres à l’aide d'un tableur. Lorsque vous allez ouvrir le fichier, vous allez voir apparaitre 4 zones (A, B, C et D) avec pleins de chiffres. Ces zones sont à copier/coller dans le tableur dans l’onglet correspondant. Pour copier un fichier texte (txt) dans le tableur, ce dernier va demander quel est le caractère séparateur à utiliser pour que les chiffres arrivent dans les bonnes cellules. Dans notre cas, il faudra utiliser la parenthèse ouvrante «(«. Un autre point à noter est lié au signe décimal. Java utilise le point décimal «.» alors que le tableur utilise la virgule «,». J’ai programmé le tableur pour que ce changement se fasse automatiquement. Donc, en principe, vous n’aurez pas à vous en soucier, mais je préfère le dire. Enfin, pour terminer, le tableur comporte de nombreuses cellules avec des formules. Pour éviter toutes fausses manip, j’ai protégé le tableur par un mot de passe et laissé libre uniquement les cellules dans lesquelles vous aurez à rentrer des valeurs. S’il s’agit de valeurs décimales, utilisez la virgule plutôt que le point… Toutefois, si vous voulez déprotéger les cellules (à vos risques et périls), le mot de passe à utiliser est «lutz». 2.6 Fonctionnement du tableur Le tableur a été programmé pour reprendre à l’identique toutes les formules et fonctions utilisées dans IL2/FB. En fait, il se comporte comme un «émulateur» de IL2/FB et permet de mettre au point les modèles de vols, en respectant la cohérence des paramètres. Une fois les nouveaux paramètres déterminés, il suffit des les introduire dans IL2/FB par la méthode exposée au dessus. Le fait d'utiliser un tableur, plutôt qu'un programme en java ou en VB impose quelques limitations: ● ● la vitesse varie par step de 5 km/h ce qui veut dire que les vitesses calculées sont précises à +/- 2,5 km/h les altitudes varient par step de 500 mètres ce qui donne une précision de +/- 250 m. Toutefois, le plafond est calculé à partir d'une interpolation si bien que la précision de sa détermination est plutôt de l'ordre de +/- 125 m. Avant d’utiliser le tableur et pour s’y retrouver, quelques infos sur la façon dont les différents paramètres sont définis dans IL2/FB. Les coefficients aérodynamiques Cx (trainée) et Cy (portance) sont définis d'une façon bizarre pour des incidences allant de -180° à 180° !!!! C'est la première fois que je vois ça. Pas bien grave, car la seule partie intéressante est celle qui se passe avant le décrochage. Comme il arrive également à un avion de chasse de voler sur le dos, il faut considérer le décrochage également en vol inversé... Si vous regardez les coefficients des MDV, paragraphe [paramètres] et [polaires], certaines conventions prise par Oleg vont nous aider. Les coefficients intéressants se terminent par H_0 ou H_1 et L_0 ou L_1. ● ● ● ● H veut dire que l'on se trouve en vol à plat normal, L veut dire que l'on se trouve sur le dos, _0 veut dire que les volets sont rentrés, _1 veut dire que les volets sont sortis à 100%... En fonction de ces conventions et en ne s'intéressant qu'à la partie du vol à plat et volets rentrés, les définitions utilisées dans IL2/FB pour les coefficients de portance Cy (courbe bleu) et de trainée Cx (courbe rouge) sont les suivante (en fonction de l'incidence). Sans trop entrer dans les détails et en simplifiant, le coefficient de portance Cy est une droite de pente [1480] et d'abscisse à l'origine [1490] se raccordant sur deux paraboles de coefficients parabCyCoeffH (incidence positive) et parabCyCoeffL (incidence négative = vol sur le dos). Il existe d'autres coefficients (decline, parabangle, maxdistang,...) qui ne présentent aucun intérêt ici car ils se rapportent à la partie après décrochage... Le coefficient de trainé Cx est schématisé par une parabole de coefficient [1515] positionné par deux valeurs [1490] et [1485]. Cette parabole est remplacée par droites fonctions (droite ou partie de sinusoïde) au delà de deux valeurs AOAparabH et AOAparabL (symétriques par rapport au sommet de la parabole AOAMinCx. Il est à noter que ces deux valeurs sont inscrites en dur dans le programme et égale à +6 et -6° quelque soit l'avion choisi. De même, deux autres valeurs utilisées dans le programme sont inscrites en dur, il s'agit de: ● ● AOACritL_0 = -16° qui est l'incidence de décrochage, volets rentrés en vol sur le dos, AOA_land = 12° qui est l'incidence maxi de décrochage pour l'atterrissage. Si la nécessité l'exige, une simple modification à faire sur les classe java de IL2/FB rendra possible la personnalisation (ainsi que d'autres bien sur) de ces paramètres pour chaque avion. Avec le schéma simplifié du dessus, même sans être tombé dans les mathématiques en étant petit, il est évident que beaucoup de coefficients sont liés et qu'en changer un sans changer les autres peut conduire à des discontinuités et donc à des trucs bizarres en vol.... C'est reflété sur la figure où les noms précédés par des [xxxxxxx sont en général des paramètres indépendants, ceux où il n'y a pas de crochets sont forcément des paramètres calculés ... Le tableur a été organisé de telle façon que les paramètres calculés sont fonctions de tout ou partie des valeurs modifiées se trouvant dans les lignes au dessus. Ont été également rajouté les mêmes tests de cohérences que ceux faits dans le programme (on ne sait jamais ce qui peut arriver). Si vous voyez OK partout, c'est que c'est bon... Enfin le dernier point concerne la motorisation. Du fait de l'utilisation du tableur, les fonctions utilisées dans le soft concernant la motorisation n'ont pu être reproduites car trop lourdes à programmer (prise en compte du pas d'hélice, du wep, du type de moteur, des réducteurs, du diamètre d'hélice, etc... L'option 4 permet de contourner cette limitation. En effet, c'est IL2/FB qui calcule les valeurs nécessaires et les inscrits dans le fichier texte qui est crée. Il suffit ensuite de copier/coller pour les reporter dans le tableur. Ainsi, si vous voulez connaitre l'impact d'une utilisation d'une hélice plus grande, il suffit d'utiliser l'option 4, changer le diamètre d'hélice et ensuite exporter les valeurs calculées dans le tableur. Dans une prochaine version, de nouveaux paramètres seront crées dans le soft et dans le tableur et permettront d'agir directement sur les courbe hp/altitude et hp/vitesse. L'option 4 permet d'entrer 4 types de données nécessaires au tableur à travers 4 onglets prévus à cet effet: ● ● ● ● zone A Puissance Var zone B Puissance Nom zone C Puissance Max zone D Paramètres 2.6.1 zone A Puissance Var La puissance (en hp) et la vitesse sont liées par une relation assez compliquée. Un paramètre utilisé par le soft et la vitesse maxi à l'altitude 0 [1300 Vmax]. Si l'on veut faire varier cette vitesse, il est nécessaire de connaitre comment varie la puissance en hp (ou la traction de l'hélice en Newton) pour toujours assurer la cohérence. C'est le but de cet onglet. Ces valeurs sont à récupérer dans le fichier texte généré par l'option 4 en copiant la partie en bleu et en la collant dans la cellule A1 du tableur (ne pas oublier que c'est la parenthèse ouvrante ( qui servira de séparateur entre les cellules, c'est Open Office ou Excel qui demandera d'indiquer le caractère séparateur à utiliser). Dans des colonnes cachées de la feuille, le tableur remplacera le point décimal utilisé par java par la virgule qu'il utilise... C'est terminé pour la zone A. Le résultat du collage doit ressembler à ça: 2.6.2 zone B Puissance Nom La zone B correspond au calcul de la puissance du moteur à 100% en fonction de l'altitude et de la vitesse. Dans le fichier texte, vous allez trouver des lignes ci dessous et pour lesquelles il faudra encore recopier la partie en bleu pour la coller dans la cellule A1 du tableur: pour obtenir: 2.6.3 zone C Puissance Max La zone C est identique à la zone B mais il s'agit de la puissance d'urgence (110% + wep quand il existe): qui devient alors dans le tableur: 2.6.4 zone D Paramètres Ce sont les paramètres que vous aller pouvoir modifier (ou recalculer). Il faut toutefois, au préalable, récupérer ceux du soft. Toujours même procédure: qui une fois passés dans le tableur deviennent: Là encore, la transformation entre point et virgule sera prise en charge automatiquement par le soft... C'est terminé pour la partie récupération des données du soft. L'onglet suivant «Mod» permet de modifier les paramètres et de voir leur influence... Dans cet onglet, une première zone concerne la modification des paramètres. Elle se décompose en 5 parties: ● la partie 1 concerne des paramètres qui sont inscrits en dur dans le programme (et qui sont, pour l'instant non modifiables), ● la partie 2 correspond au données que vous avez récupérées essentiellement dans la zone D auxquelles se rajoutent des calculs pour déterminer des paramètres liés. Cette partie là n'est pas modifiable. A ce stade, il est nécessaire de donner une petite explication sur chacun des paramètres rencontrés: ○ ○ ○ ○ ○ ○ ○ ○ 410 - TakeOff: c'est la masse au décollage utilisée comme référence pour déterminer l'enveloppe de vol. Il faut savoir que cette masse est probablement différente de celle que vous pouvez avoir en mission, car cette dernière est fonction d'une masse à vide, d'une masse de carburant, d'une masse d'huile, du poids du pilotes, du poids des armements et des munitions emportées, etc... 440 - Wing: surface des ailes de l'avion. Ce paramètre sert aussi pour le calcul des coefficients aérodynamiques. 1310 - Vmin: vitesse minimum correspondant au décrochage à l'altitude 1505 – CyCritH_0: coefficient Cy de portance maximum (correspond au décrochage) pour l'altitude 0, en vol à plat et volets rentrés. A cette valeur, l'incidence est maximum et la vitesse est égale à Vmin. 1300 – Vmax: c'est la vitesse maximum que peut atteindre l'avion, à l'altitude 0 en utilisant la puissance d'urgence. A cette vitesse, correspond nécessairement une puissance du moteur (hp), donc une traction sur l'arbre de l'hélice (en Newton) qui est donnée par les caractéristiques (donc les paramètres liés au moteur). J'ai prévu la possibilité de faire varier cette vitesse de + ou – 20% et la nouvelle traction sur l'hélice sera recalculée à partir des données de la zone A. La nouvelle traction recalculée au paramètre P_Vmax. J'ai approximé cette fonction par une courbe du second degré qui donne des valeurs exactes pour les valeurs à -20%, + 0% et -20% de la vitesse. Pour les autres vitesses, il peut y avoir une erreur inférieure à 1% (à mon avis sans influence). Si nécessaire, je pourrais resserrer encore la fonction d'interpolation. 1485 – AOAMinCx_Shift: ce paramètre sert à positionner le coefficient de trainé (aller jeter un coup d'oeil sur la figure du dessus). En fait, il permet de mettre en place le point le coefficient de trainé Cx minimum par rapport au point de coefficient de portance Cy nul. 1515 – ParabCxCoeff_0: c'est le coefficient de la parabole servant à simuler la courbe du coefficient de trainée Cx (volets rentrés). 1520 – CxMin_0: c'est le coefficient de trainé minimum Cx volets rentrés (et qui correspond au sommet de la parabole liée au coefficient 1515 – ParabCxCoeff_0. Ce coefficient se calcule à partir de: P_Vmax, 1300 – Vmax, 440 – Wing, 1515 – ParabCxCoeff_0, 1485 – AOAMinCx_Shift et aussi à partir de la position de la courbe de portance Cy. ○ 1425 – K_Max: c'est la finesse maximum (rapport Cy/Cx). En fait, cette valeur dans la colonne «lue» n'est qu'une borne et n'est pas le reflet de la véritable valeur. Cette borne sert à vérifier que la valeur exacte de la finesse est comprise entre entre 0,6.K_Max et 1,3.K_Max. Dans la colonne «calcul», c'est effectivement la valeur réelle de la finesse qui est inscrite. ○ 1325 – VminFlaps: vitesse minimum possible avec les volets sortis. En dessous de cette vitesse, c'est le décrochage assuré. 1525 – Cy0_1: idem 1490 – Cy0_0 mais avec les volets sortis à 100%. Ce paramètre se calcule à partir de 410 – TakeOff, 440 – Wing, 1325 – VminFlaps, 1480 – lineCyCoeff et AOA_Land (inscrit en dur dans le ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ programme et égal à 12° quelque soit l'avion choisi) 1435 – FlapsMult: c'est un multiplicateur destiné à calculer le coefficient de la parabole représentant la trainée. 1555 – ParabCxCoeff_1: idem 1515 – ParabCxCoeff_0, mais avec les volets sortis. Ce coefficient se calcule très simplement: [1555] = [1515] x [1435] 1320 – VmaxFLAPS: à l'altitude 0, vitesse maximum possible avec les volets sortis à 100%. 1550 – CxMin_1: idem 1520 – CxMin_0 mais pour les volets sortis à 100%. Se calcule d'une façon analogue mais en prenant les paramètres relatifs aux volets déployés (_1). 1530 – AOACritH_1: incidence maxi correspondant au décrochage avec les volets sortis. 1540 – CyCritH_1: idem 1505 – CyCritH_0 mais avec les volets sortis. Ce paramètre est calculé à partir de 1525 – Cy0_1, 1530 – AOACritH_1 et 1480 – lineCyCoeff. 1440 – FlapsAngSh: voir ligne suivante. 1535 – AOACritL_1: idem à 1495 – AOACritH_0, mais en vol dos avec volets sortis. Ce coefficient est calculé à partir de AOACritL_0 (valeur en dur dans le programme et égale à -16°) et de 1440 – FlapsAngSh. La formule utilisée est très simple: [1535] = [AOACritL_0] – [1440]. 1545 – CyCritL_1: idem que 1510 – CyCritL_0, mais avec les volets sortis. Le calcul correspond à un choix entre deux valeurs dont on prend la plus petite. En fonction du choix qui est fait, 1535 – AOACritL_1peut intervenir, dans le cas contraire, c'est une valeur à 0,7 qui sera prise. ➢ Nota: toutes les formules utilisées correspondent à celles qui se trouvent dans le programme (même si certaines sont surprenantes). Toutefois, dans les paramètres du programme (colonnes rouges), il existe des incohérences. En fait, après calculs, certains paramètres ont été modifiés à la main... ce qui peut parfois expliquer des comportements étranges de certains appareils.... ● la partie 3, en vert correspond aux données que vous pouvez modifier en entrant une nouvelle valeur pour le paramètre, ● la partie 4 correspond à des paramètres liés (et donc calculés) à partir des éléments des parties 1 et 3, ● la partie 5 correspond à des tests. Ces mêmes tests étant faits par le IL2/FB, je les ai rajouté dans le tableur... Toujours sur cette feuille, lorsque vous faites bouger un paramètre, vous voyez quelques résultats. Tout d'abord, les caractéristiques générales de l'avion: ainsi que quelques courbes telles que le domaine de vol (aussi bien à 100% qu'en puissance d'urgence) et une autre correspondant à différentes puissance en hp: ● ● la courbe verte correspond à la puissance mini nécessaire au horizontal à l'altitude donnée. Cette courbe est calculée à partir des coefficients que vous pouvez modifier dans cette page, les courbes bleu et rouges correspondent aux puissances à 100% et d'urgence maxi que peut développer le moteur aux considérées, il s'agit donc de la puissance utilisable à considérée. Ces courbes qui dans une version ultérieure pourront être directement modifiables sans aller trifouiller paramètres moteurs... Elles proviennent des zones B et C. altitudes l'altitude du mod dans les Ceci dit, on voit bien au passage, l'influence du compresseur jusqu'aux environs de 7000 m puisque la puissance en hp reste à peu prêt constante avant de s'écrouler... C'est tout pour cet onglet, mais il y a de quoi faire. S'il y a certains paramètres qui vous semblent étranges, posez des questions.... Le prochain onglet «Polaire» donne sous forme graphique, les caractéristiques aérodynamiques... Il servira peut être. Il permet quand même de vérifier d'un simple coup d'oeil que les choix faits au niveau des paramètres conduisent à des courbes logiques. Pour aider, la courbe originale (IL2/FB) est indiquée et l'on vient y superposer la courbe modifiée. On rencontre plusieurs courbes dont les polaires: L'onglet suivant «Domaine de vol» est plus intéressant car il donne, altitude par altitude, les principales caractéristiques du coucou... L'onglet suivant «Domaine de vol» est plus intéressant car il donne, altitude par altitude, les principales caractéristiques du coucou... Enfin, le dernier onglet correspond à la motorisation (en fait c'est elle qui détermine le domaine de vol) à différentes altitudes. Les courbes se présentent de la façon suivante: La courbe bleu représente la puissance nécessaire (en hp) à un vol horizontal. Quelques points sont indiquer tels que la puissance mini ou le point de finesse max. On peut y voir aussi, qu'à cette altitude, la vitesse mini est de l'ordre de 190 km/h. A ce point, l'avion est l'incidence max tout prêt du décrochage. La courbe rouge (mais la verte ferait aussi bien l'affaire) représente la puissance (toujours en hp) que peut donner le moteur à cette altitude en fonction de la vitesse. Si l'on veut par exemple voler à 500 km/h (en vol horizontal), il faudra que l'on ajuste les RPM de façon à ce que le moteur délivre une puissance 800 hp... Il est aussi facile de voir qu'à cette altitude, en régime d'urgence, la vitesse max que l'on pourra atteindre est de l'ordre de 560 km/h. En fait, la différence entre la courbe bleu et la courbe rouge donne la possibilités d'accélération (augmentation de la vitesse), ou la capacités de monter. Dans les deux cas, c'est une augmentation du niveau d'énergie de l'appareil. Ainsi, plus cette différence est grande, plus c'est bon... J'ai indiqué cette différence par les courbes en pointillé... Il ne reste plus qu'à essayer et à tester... 3 La motorisation dans FB De nombreux paramètres interviennent dans la modélisation de la motorisation dans FB et rendent difficile l'utilisation d'un tableur compte tenu des relations mises en jeu. Une première solution a consisté à modifier FB de façon à ce que les variables liées à la motorisation soient enregistrées au cours d'un vol. Cette méthode à vite montré ces limites pour plusieurs raisons: ● ● ● le nombre de variables à traiter, l'évolution de ces variables dans le temps avec des phases transitoires associées, la difficulté à maintenir constant certains paramètres de vol (cas du vol horizontal stabilisé par exemple) afin de déterminer le comportement et l'évolution de ces variables sous certaines conditions. Compte tenu de ces contraintes, un « simulateur de MDV » a été écrit. Ce simulateur reprend: ● ● ● toutes les variables utilisées dans FB, toutes les fonctions utilisées dans FB, la même logique d'enchainement des différentes fonctions que celles utilisées dans FB. Basé sur ces principes, ce simulateur permet alors: ● ● ● ● d'évaluer les MDV de FB (... et ceux des mods proposés), de vérifier les conséquences d'une modification de paramètres du MDV, de tester les modifications ou la création de nouvelles fonctions du soft, enfin, de sortir les résultats sous une forme facilement exploitable (tableaux, courbes, etc...) L'enregistrement des données lors d'un vol dans FB ainsi que leur comparaison avec celles calculées directement dans le simulateur ont permis de montrer qu'il était totalement représentatif de FB (moins de 1% d'écart, cet écart étant principalement causé par les imperfections du pilotage). 3.1 Comment est simulée la motorisation dans FB La motorisation consiste à transformer une énergie fournie par le moteur en une autre qui est une énergie de traction. Cette transformation se fait par l'intermédiaire d'une hélice. Le soft considère tout d'abord le moteur tout seul et calcule le couple moteur qu'il peut délivrer. Pour donner une image, il suffit de considérer un moteur sur un bâti de test, au sol (altitude 0) et, en bout d'arbre, non pas une hélice mais un dispositif permettant de mesurer la vitesse de rotation et le couple délivré par le moteur pour différentes pressions d'admission. Dans le cas de FB, il s'agira plus prosaïquement de différentes positions de la manette des gaz... On peut donc voir ce type de mesure comme les données constructeur du motoriste. Ce moteur étant destiné à un avion et donc utilisé en altitude, ce couple moteur va être altéré par les capacités du compresseur qui lui sera destiné. Le but du compresseur étant de fournir au moteur de l'air en débit suffisant nécessaire à son fonctionnement. Il existe donc dans le soft, en fonction du type de compresseur utilisé, un coefficient venant altérer le couple moteur déterminé sur le banc de test. C'est à ce niveau que sont effectués les calculs de consommation (avions humains uniquement, la consommation des IAs est plus rustique). Une fois ces calculs effectués, le couple moteur est encore soumis à un coefficient qui traduisant l'état d'usure du moteur (cette usure pouvant occasionner, dans certaines conditions l'arrêt définitif...). Sauf cas particulier, dans le simuleur de MDV ce coefficient est pris égal à 1. Le prochain coefficient à intervenir concerne l'état des magnétos de l'avion. Dans le simulateur de MDV, ce coefficient est pris, sauf cas particulier égal à 1, mais dans FB: ● ● ● 2 magnétos en fonctionnement: coef = 1 1 seule magnéto en fonctionnement: coef = 0.87 aucune magnéto: coef = 0 Ensuite, un autre coefficient intervient qui traduit lui l'état de « bonne santé » du carburateur, donc le mélange air/carburant. Là encore, sauf cas particulier, ce coefficient sera pris égal à 1 dans le simulateur de MDV, le but n'étant pas, à ce stade d'évaluer le modèle de panne... A ce niveau, un autre coefficient entre en jeu. Ce coefficient traduit le fait qu'un dispositif aussi complexe qu'un moteur d'avion est réglé autour d'un point de fonctionnement et que lorsqu'il commence à s'en éloigner, son fonctionnement est désoptimisé et il peut se mettre à « ratatouiller ». C'est ce que traduit ce coefficient. Enfin, un couple de frottement est rajouté, mais ce couple n'intervient que lorsque le moteur subit des avaries. Bien qu'il existe dans le simulateur de MDV, il est prit égal à l'unité pour n'avoir aucune influence. A ce point, la partie « moteur » est terminée et nous nous retrouvons avec un moteur délivrant en bout d'arbre, un couple moteur et une certaine vitesse de rotation. C'est ensuite à l'hélice qui transformera ce couple moteur en traction. Toutefois, une partie de l'énergie délivrée par le moteur sera utilisé pour vaincre le couple résistant de l'hélice, l'énergie disponible restante étant transformée en traction. C'est cette traction qui sera appliquée à l'avion. 3.2 Le simulateur de MDV Le simulateur de MDV est une copie conforme de ce qui se passe dans FB. A ce stade, seule la partie motorisation a été développée et il reste à lui adjoindre la partie liée à la mécanique du vol de l'avion. En prenant le cas très simple du vol horizontal stabilisé à une altitude donnée, on peut schématiser les choses de la façon suivante: ● ● ● ● le throttle est une commande destiner à régler le moteur autour d'un point de fonctionnement, le moteur délivre un couple moteur associé à un certains nombre de RPM. Toutefois, pour fonctionner, il utilise des éléments externes comme par exemple la vitesse de l'avion qui est un paramètre d'entrée pour la pression d'admission, l'hélice, quant à elle, transforme l'énergie en une force de traction. Toutefois, dans le fonctionnement de l'hélice il faut tenir compte de la vitesse de l'avion, la force de traction appliquée aux équations de la mécanique du vol, dans le cas d'un vol horizontal stabilisé permettra, au travers de nombreux paramètres, le calcul de la vitesse de l'avion. Pour l'instant, le simulateur de MDV se résume au throttle et à la motorisation, la partie mécanique du vol sera disponible dans peu de temps. Néanmoins, à ce stade, pour tester cette partie motorisation, il est nécessaire d'entrée une vitesse « cohérente » avec la position du throttle. La solution a consisté à effectuer dans FB différents vols à des altitudes différentes et à des positions de throttle différentes et de relever ces deux paramètres (entre autres) et de les injecter ensuite dans le simulateur de MDV, partie motorisation. Pour reprendre l'analogie avec un banc de test, cette méthode revient à dire que l'on teste le moteur et son hélice, dans une soufflerie et que l'on relève les différents paramètres qu'il délivre. On peut d'ailleurs remarquer que c'est une étape obligatoire pour beaucoup de moteurs d'avion... Enfin, pour terminer, dans FB, il existe beaucoup d'avions utilisant de nombreux types de moteurs. Nous utilisons plus particulièrement dans nos campagnes AOC actuelles le 109G6. C'est donc c'est avion qui a été pris comme référence. L'adaptation pour les autres types de moteurs et d'avion se fera très facilement car seules quelques fonctions seront à modifier, mais dans le sens de la simplification... 3.3 Relation ATA <-> RPM Dans ces paramètres de bases, lors du chargement de l'avion dans FB, une relation entre ATA et RPM est rentrée. Cette relation est définie à travers des paramètres: ● ● ● ● ● ● ● ● 2765 – CompressorRPM0 400.0 2770 – CompressorATA0 0.6 2775 – CompressorRPM1 1200.0 2780 – CompressorATA1 0.75 ... ... 2745 – CompresssorRPMMax 2800.0 2740 -CompressorMaxATARPM 1.42 (comme dans la première partie, les chiffres représentent des référence utilisées pour la modification éventuelles des valeurs...) et qui donnent finalement la courbe suivante: ATA / RPM 1 ,60 1,4 0 1 ,20 ATA 1 ,00 0 ,80 0 ,60 0,4 0 0 ,20 0 ,00 0 500 1 00 0 15 0 0 20 0 0 250 0 3000 35 00 RPM Le soft possède les fonctions capables de calculer un nombre ATA à partir d'un nombre de RPM, ... mais pas le contraire. Dans le 109G6, de la façon dont le soft est programmé, la position du throttle est pratiquement proportionnelle au RPM. La pente de cette courbe montre, que pour les RPM > 2000, une petite variation de RPM entrainera une variation importante du nombre d'ATA. 3.4 Caractéristiques du moteur au niveau de la mer Comme dit plus haut, cela correspond à un moteur fixé sur un support et sur lequel on mesure le couple délivré et les RPM en fonction de la position du throttle. En fonction des RPM, il est aussi possible de calculer la pression ATA. Il faut bien comprendre que ces caractéristiques correspondent aux caractéristiques maximum du moteur puisque, par la suite, il ne leur sera plus appliqués que des coefficients inférieurs à 1. Dans ce calcul, les paramètres suivant interviennent: ● ● ● 2555 – HorsePowers 1400.0 2540 – RPMMax 2800.0 2535 – RPMNom 2800.0 Très peu de paramètres interviennent dans ce calcul. Les deux premiers servent à calculer un couple maximum pour le moteur de la façon suivante: engineMomentMax = (horsePowers * 746F * 1.2F) / wMax A partir de cette formule, on voit très facilement que: ● ● les calculs du soft se font systématiquement dans le système international, le coefficient 746 est uniquement destiné à transformer des hp en Watt, si l'on en croit cette formule, la puissance max est égale à 1,2 fois la puissance indiquée dans le paramètre 2555, soit pour un 109G6: 1680 hp. Le paramètre 2535 à pour effet de modifier la forme de la courbe de puissance. Par contre, si sa valeur est différente de celle du paramètre 2540, cela entrainera une diminution de puissance pour les throttle / RPM ou ATA élevés. En utilisant le simulateur de MDV (mais aussi en récupérant les valeurs dans FB pour vérification...): ● ● ● la puissance du paramètre 2555 (1400 hp) est obtenue pour une position du throttle à 75%. Ce résultat est applicable à tous les avions du jeu. la puissance max calculée plus haut (1680 hp) est atteinte pour une position du throttle, non pas à 110% , mais à 103%. C'est une surprise. lorsque le throttle est à 110%, la puissance développée est égale à 1848 hp, soient un coefficient de 1,32 (et non pas 1,2) par rapport au 1400 hp du paramètre 2555. Les variables engineMomentMax et RPMMax étant appelées à maintes reprises dans plusieurs sections de FB, il en résulte une incohérence dans le soft. En effet ces variables sont adossées à un coefficient de 1,2 fois une puissance alors que le soft, dans certaines de ses fonctions calcule avec un coef de 1,32. C'est une erreur générique qui s'applique à tous les avions du jeu et pas seulement au 109G6. Cela veut tout simplement dire que tous les MDV sont erronés si bien qu'en relatif, rien ne se voit... Néanmoins, pour le 109G6, le simulateur de MDV permet de tracer des courbes et de voir comment elles évoluent lors d'une variation de paramètres. Les 4 premiers graphiques sont obtenus à partir des valeurs nominales du 109G6 de FB. La dernière montre l'influence du paramètre 2535 RPMNom. Hp / Throttle Hp / RPM 2 00 0 2 00 0 1 80 0 1 80 0 1 60 0 1 60 0 1 4 00 1 4 00 1 20 0 1 20 0 1 00 0 1 00 0 80 0 80 0 60 0 60 0 4 00 4 00 20 0 20 0 0 0,3 0 ,4 0,5 0,6 0 ,7 0,8 0,9 1 ,0 0 1 80 0 1 ,1 2 00 0 T hr ot t le 2 20 0 24 00 26 0 0 28 0 0 RPM Hp / ATA RPM / Throttle 2 00 0 2 90 0 1 80 0 2 70 0 1 60 0 1 4 00 2 50 0 1 20 0 2 300 1 00 0 80 0 2 10 0 60 0 1 90 0 4 00 1 70 0 20 0 0 1 50 0 0 ,9 1 1,1 1,2 1 ,3 1,4 1,5 0 ,3 0,4 0,5 AT A 0 ,6 0,7 0,8 0,9 1 T r ot t le Influence de RPMNom sur la puissance 200 0 180 0 160 0 1 4 00 120 0 RPMNom = 2 2 00 RPMNom = 2 8 00 RPMNom = 34 00 100 0 80 0 60 0 4 00 1 80 0 190 0 200 0 21 0 0 22 0 0 2 300 RPM 24 00 2 50 0 2 60 0 2 70 0 2 80 0 1,1 La courbe RPM / Throttle met bien en évidence la relation de proportionnalité entre la position du throttle et les RPM alors que la puissance développée devrait plutôt être proportionnelle au nombre d'ATA. La dernière montre que la puissance maximum est obtenue pour une valeur de RPMNom égale à RPMMax 3.5 Le compresseur Pour effectuer les calculs relatifs au compresseur, FB utilise les paramètres suivants: ● ● ● ● ● ● 2725 – CompressorMultiplier0 0.86 2750 – CompressorSpeedManifold 0.5 2720 – CompressorAltitude0 6200.0 2740 – CompressorMaxATARPM 1.42 2755 – compressorPAt0 0.3 2540 – RPMMax 2800.0 Le paramètre 2720 représente l'altitude critique du compresseur. Au dessus de cette dernière, il perd de son efficacité. Pour le 109G6, cette altitude est unique, mais il peut exister des cas où plusieurs altitudes critiques sont présentes et indiquent alors que le compresseur perd graduellement son efficacité. Dans ce cas là, il existe aussi plusieurs paramètres 2725 CompressorMultiplier. Dans le calcul entre également la vitesse de l'avion, mais, elle a une influence minime (de l'ordre de 1%). Par contre, l'influence du nombre de tour est significative, mais cela semble évident. Pour le 109G6, ce qui est modélisé est un compresseur à deux étages qui amènent chacun un taux de compression de l'air ambiant par des formules plus ou moins sophistiquées. En utilisant les paramètres nominaux du 109G6, le coefficient de compression est le suivant en fonction de l'altitude et pour trois valeurs du throttle (qui a vrai dire ont une influence assez faible, au moins jusqu'à l'altitude critique: Compresse ur 1 Throttle: 0.8 Throttle: 1.0 Throttle: 1.1 P/P0 0 ,8 0 ,6 0 ,4 0 ,2 0 0 200 0 4 0 00 Alt it ud e 60 0 0 80 0 0 1 00 00 Le paramètre 2720 correspond à l'altitude critique du compresseur et le seul examen de la figure ci dessus fait comprendre sa signification. En utilisant le simulateur, il est très facile de déterminer l'influence des autres paramètres. Influence paramètre [2725] 1 0 ,8 0 .7 0 .8 6 1 ,0 0 ,6 0 ,4 0 ,2 0 0 20 0 0 4 00 0 60 0 0 80 00 100 0 0 Alt it ude Le premier paramètre choisi est le 2725 – CompressorMultiplier0 qui, par défaut pour le 109G6, est égal à 0.86. En utilisant 2 autres valeurs (0.7 et 1.0), le résultat est le suivant et son utilité s'en déduit... Le deuxième paramètre retenu est le 2755 – compressorPAt0. Sa valeur par défaut, toujours pour le 109G6 est 0.3. Le comportement du compresseur a été simulé avec une valeur de 0.6. On note peu d'influence jusqu'à l'altitude critique: Influence paramètre [2755] 1 ,1 0.3 0.6 1 0 ,9 0 ,8 0 ,7 0 ,6 0 ,5 0 ,4 0 200 0 4 00 0 600 0 800 0 100 0 0 Alt it ude Enfin, pour terminer, le fonctionnement du compresseur dans FB est représenté sur la figure suivante: Sur ce schéma, deux cas de fonctionnement ont été représentés: ● ● ● un fonctionnement à 3000 m (en vert) un fonctionnement à 9000 m (en rouge) les valeurs en bleu représente des paramètres du MDV ou des données du vol. La position du throttle permet le calcul de la pression seuil au collecteur du compresseur (compressorManifoldThreshold). La pression externe représente la pression à l'entrée du compresseur. Cette pression est égale à la pression statique à l'altitude considérée à laquelle se rajoute la pression dynamique fois le coefficient compressorSpeedManifold. Ce coefficient indique tout simplement qu'une partie simplement de la pression dynamique est utilisable pour le compresseur (perte de charge dans les entrées d'air, mauvais rendement, ...). Le schéma montre cette pression externe est transformée par les deux étages du compresseur pour finalement aboutir un un coefficient de compression. Ce coefficient de compression qui viendra diminuer la puissance du moteur, car toujours inférieur à 1. 3.6 L'usure du moteur Une variable interne au programme traduit l'état de « fatigue » du moteur. En début de vol, cette variable est positionnée à 1 et diminue ensuite en fonction de l'état d'usure du moteur. Elle agit alors comme un coefficient multiplicateur (< = 1) qui affecte le couple moteur. Cette variable a été incluse dans le simulateur de MDV et son évolution est dépendante de l'état de surchauffe du moteur ainsi que des régimes de survitesse auxquels il peut être soumis. Par contre, ne sont pas pris en compte tous les cas d'usure prématurée consécutifs aux combats. 3.7 Les magnétos Une autre variable interne au programme est relative aux magnétos. Elle agit également comme un coefficient multiplicateur (<= 1) s'appliquant au couple moteur. Elle figure dans le simulateur de MDV avec une valeur égale à 1 dans le cas d'une évolution future et garder la cohérence avec FB. A noter que dans FB cette variable est égale: ● ● ● à 1 lorsque les deux magnétos sont en fonctionnement, à 0.85 lorsqu'une seule magnéto est en fonctionnement à 0 lorsque aucune magnéto ne fonctionne. L'évolution de cette variable est provoquée: ● soit par une action volontaire du pilote ● soit comme résultat d'un dommage provoqué au cours d'un combat. 3.8 Le mélange dans le carburateur Là encore, il existe une variable qui indique la qualité du mélange air/carburant. Cette qualité intervient comme un coefficient multiplicateur (<= 1) sur le couple moteur. Dans le cas du 109G6, le mélange étant automatique, la variable a été positionnée à 1. Pour les autres avions équipés avec des dispositifs différents, les lignes de code seront à récupérer de FB pour les inclure dans le simulateur. 3.9 Les phases de vol Du point de vue du soft, il existe plusieurs phase de vol: ● ● ● ● ● ● ● ● ● STAGE_NULL STAGE_WAKE_UP STAGE_STARTER_ROLL STAGE_CATCH_UP STAGE_CATCH_ROLL STAGE_CATCH_FIRE STAGE_NOMINAL STAGE_DEAD STAGE_STUCK qui correspondent chacune à une certaine valeur d'un coefficient multiplicateur venant affecter le couple moteur. Il se trouve que pour la phase qui nous intéresse (STAGE_NOMINAL), ce coefficient est égal à 1. Néanmoins, ce coefficient a été introduit dans le simulateur, même si pour l'instant il est égal à 1, dans le cadre d'une possible évolution future. 3.10 Le point de fonctionnement du moteur Un coefficient est présent dans FB pour tracer le fait que le moteur a été réglé autour d'un point de fonctionnement optimum. Lorsqu'il s'éloigne de ce point, il tourne un peu moins «rond» et cela se traduit par une variation du couple moteur. Les paramètres entrant en jeu pour ce coefficient sont les suivants: ● ● ● ● 2800 DisP0x 2400 2805 DisP0y 0.0 2810 DisP1x 0.0 2820 DisP1y 12.0 A partir de ces paramètres, une amplitude de variation du couple moteur est calculée. Un coefficient est ensuite calculée à partir de cette amplitude par multiplication avec une nombre aléatoire compris entre -1 et 0.1. Cette fonction étant appelée plusieurs fois par seconde ne donnera jamais le même résultats mais variera autour d'une valeur moyenne. ● le paramètre 2800 fixe la position du maximum de la courbe correspondant au coefficient moyen (ici maximum obtenu pour 2400 tr/mn) ● les autres paramètres fixent la concavité de la courbe (en l'écrasant plus ou moins) et la déplacent vers le haut ou vers le bas. ● attention toutefois, si le paramètre 2805 est supérieur à 2820, la concavité du coefficient moyen deviendra négative et le maximum se transformera en minimum. Le coefficient a été tracé pour sa valeur moyenne ainsi que pour les valeurs mini et maxi qu'il peut atteindre. Coef Fonctionnement moteur 1 ,0 5 1 ,0 0 Coe f 0 ,9 5 Co e f mo yen Co e f mini Co e f ma xi 0 ,9 0 0 ,8 5 0 ,8 0 0 5 00 1 00 0 1 50 0 20 0 0 25 0 0 30 00 RPM Pour être complet sur le sujet, dans FB une autre paramètre se rajoute dans le calcul de ce coefficient: il s'agit du ratio entre le nombre de cylindres total et le nombre de cylindre encore en état de fonctionner. Ce ratio a été pris en compte dans le simulateur, mais sa valeur a été fixée à 1 si bien que son influence est nulle. 3.9 Les frottements Un coefficient de frottement intervient aussi dans le calcul final du couple moteur. Ce coefficient de frottement conduit à un calcul d'un couple de frottement qui vient se retrancher au couple moteur. Ce coefficient de frottement est «activé» en fonction des dégâts subis par le moteur. Pour l'instant, bien que pris en compte avec une valeur 0, il ne présente pas d'intérêt pratique pour le simulateur. 3.10 L'hélice L'aspect hélice a été assez maltraitée dans FB. En laissant de coté pour l'instant le dispositifs de contrôle de vitesse constante, on trouve comme paramètres: ● ● ● 2650 Reductor 0.72 2655 PropDiameter 3.12 2160 PropMass 150 Le réducteur est placé entre le moteur et l'hélice et abaisse le nombre de tour. Il n'y a aucune notion de rendement mécanique prise en compte dans FB pour ce réducteur... Le diamètre est la masse sont facile à comprendre. FB utilise comme norme, pour calculer les différents éléments de l 'hélice, un point situé à 0.75 fois le rayon, ce qui est un chose que l'on retrouve très souvent dans la littérature. A partir du diamètre, une surface «équivalente» de l'hélice est calculée. C'est cette surface qui servira dans me calcul de la traction de l'hélice ou de son couple résistant. Cette surface est déterminée à partir de la surface du disque ayant 0.75 fois le rayon multipliée par un coefficient d'occultation traduisant le fait que la surface totale des pales n'occupe pas le disque en entier. Dans le programme, ce coefficient d'occultation a été pris à 8.3%. Le deuxième point qui apparait ainsi est que FB ne fait aucune différence entre les hélices à 2 pales, 3 pales, 4 pales etc... puisque le coefficient d'occultation est le même pour toutes les hélices. Le nombre de pales est pourtant un élément important entrant dans la performance de l'hélice... Il n'a pas été prévu dans FB un moyen permettant de différencier des hélices. Des valeurs par défaut sont chargées pour permettre le calcul des coefficients Cx et Cz de l'hélice. En conclusion, quelle soit la nationalité, l'avion et le moteur l'équipant, c'est toujours la même hélice (avec le même nombre de pale) qui sera utilisée pour donner des performances identiques (bien sur, au diamètre prêt). Un des points qui pénalise les hélices est le fait que la combinaison de la vitesse d'avancement et du nombre de tours de l'hélice peut conduire à des vitesses soniques en extrémités de pales. Ces vitesses soniques sont génératrices de vibrations, de bruit, mais aussi d'une perte d'efficacité de l'hélice. Cette perte d'efficacité a été traduite dans FB par une augmentation de la trainée de l'hélice dès que la vitesse dépasse un seuil de 300 m/s. Le seul problème est que la vitesse du son varie avec l'altitude et ce point a été oublié dans FB. Enfin, comme pour les moteurs, une hélice est « taillée » pour une vitesse mini. En dessous de cette dernière, elle fonctionnera dans des conditions dégradées. C'est le paramètre ● 2760 Voptimal 325.0 qui est utilisé. Ci dessous, ont été représentés les coefficients de traction et de trainée des pales tels qu'utilisés dans le soft (même si certaines formes semblent un peu bizarres). Hélice: coefs Cx et Cy Cx Cy 2 1 ,5 1 Cx : Cy 0 ,5 0 -0 ,5 -1 -1 ,5 -20 -10 0 10 20 Incid ence 30 40 50 A partir de ces courbes, la finesse max (21.86) de la pale est obtenue à une incidence de 3.6°. En définissant un coefficient sans dimension J = V / (n.D) où V représente la vitesse d'avancement de l'hélice, n le nombre de tour par seconde qu'elle effectue et D son diamètre, il est possible de calculer son rendement pour plusieurs angles de calage. Avec ces unités le coefficient J est compris (en pratique) entre 0.3 et 1.5. Tous calculs faits, avec les données de FB, les hélices ont les rendements suivants (sans tenir compte des dégradations causées par une vitesse sonique ou l'effet du paramètre 2760): Rendement Hélice en fonction du calage 1 00 90 80 Rendement (x10 0 ) 70 60 50 40 30 20 10 20 30 40 50 60 10 0 0 ,00 0,25 0,5 0 0 ,7 5 1,0 0 1 ,2 5 1,50 1,7 5 2,00 2,2 5 2 ,5 0 2,7 5 3,00 3,2 5 3,5 0 3,75 4 ,0 0 J = V / (n . D) A noter, que pour chaque calage, le rendement maximum est atteint au point de finesse max. L'enveloppe des rendements max est donnée par: Rendement optimum hélice (x 100) 100 90 80 70 60 0 ,0 0 0 ,5 0 1 ,0 0 1 ,5 0 2 ,0 0 J = V / ( n . D) 2 ,5 0 3,0 0 3,5 0 4 ,0 0 Les principales caractéristiques de l'hélice ayant été établies, il est maintenant possible de parler de son dispositif de réglage du calage. Pour ce dispositif, les paramètres suivants sont utilisés: ● ● ● ● ● ● ● 2665 PropAnglerType 7 2670 PropAnglerSpeed 0.08 2675 PropAnglerMinParam 1650.0 2680 PropAnglerMaxParam 2800.0 2690 PropPhiMin 16.0 2695 PropPhiMAx 55.0 2700 PropAOA0 11.0 Le paramètre 2665 correspond au type de dispositif d'hélice qui est monté sur l'avion (ici le 109G6). Les types utilisables sont les suivants: ● ● ● ● ● ● ● ● ● PROP_FIXED = 0 PROP_RETAIN_RPM_1 = 1; PROP_RETAIN_RPM_2 = 2 PROP_RETAIN_AOA_1 = 3 PROP_RETAIN_AOA_2 = 4; PROP_FRICTION = 5 PROP_MANUALDRIVEN = 6 PROP_WM_KOMANDGERAT = 7 PROP_FW_KOMANDGERAT = 8 Il est facile de voir qu'il existe une différence, suivant le soft, entre le Bf et le Fw. Le paramètre 2670 correspond à la vitesse de changement de calage des pales (pour les moteurs qui en sont équipés) exprimée en rad/s. Dans le cas du 109G6, cette vitesse est égale à 0.08 rad/s soient 4.6 °/s. C'est cette vitesse qui sera utilisée dans le cas d'un dispositif de calage automatique. Les paramètres 2675 et 2680 indiquent la plage de tours par minute (RPM) dans lequel le dispositif automatique opère. Les paramètres 2690 et 2695 indiquent les angles minis et maxi de calage que l'hélice peut atteindre. Enfin, dans le cas du 109G6, plus exactement des hélices de type 7, le paramètre 2700 n'est pas utilisé. En utilisant le simulateur, il est alors possible de vérifier le comportement du moteur équipé de son hélice et de son dispositif automatique de calage. Il est nécessaire d'avoir une référence, pour cela, les éléments suivants ont été récupérés au cours d'un vol dans FB: ● ● ● ● ● ● ● ● altitude = 5000 m throttle = 0.924 vitesse = 468 km/h RPM = 2639 tr/mn Calage hélice = 31.88° Incidence hélice = 1.88° Traction hélice = 5024 N Couple hélice = 3782 m^N ● Couple moteur = 3800 m^N L'altitude, le throttle et la vitesse seront les valeurs qui seront entrées dans le simulateur. Au départ, et afin de voir l'évolution dans le temps, le nombre de tour sera pris égal à 2300 tr/mn et le calage de l'hélice à 35.5° Lorsque l'équilibre a été atteint, le simulateur donne les résultats suivants: ● ● ● ● ● ● RPM = 2616 tr/mn soit un écart inférieur à 1% Calage hélice = 31,24° soit un écart de l'ordre de 2% Incidence hélice = 1.88° soit un écart inférieur à 1% Traction hélice = 5156 N soit un écart de l'ordre de 2,7% Couple hélice = 3793 m^N soit un écart inférieur à 1% Couple moteur = 3786 m^N soit un écart inférieur à 1% Les écarts s'explique par l'imperfection du vol virtuel, mais néanmoins, ils ne sont pas significatifs. Il est clair que le calage de l'hélice n'est pas optimum, car l'incidence ne correspond pas à la finesse max de l'hélice et donc à son rendement maximum. Enfin, le simulateur permet d'obtenir en fonction du temps la loi de variation des différents paramètres: Le simulateur permet de mesurer directement les effets d'un changement de configuration. Ci dessous figure les évolutions de ces variables pour un avion volant à 300 km/h, à 5000 m d'altitude, throttle = 0.8. Au temps t = 100, les éléments suivants sont provoqués ● ● passage à throttle = 1.1 en 3 secondes montée à vitesse constante (300 km/h) avec une vitesse verticale de 20 m/s pendant 50 secondes ( t = 150s) de façon à passer de 5000 m à 6000 m. L'augmentation du throttle à un effet immédiat sur la vitesse de rotation du moteur qui atteint (et même dépasse) son régime nominal en 10 secondes environs et qui en fait se stabilise totalement au bout de 50 secondes lorsque la montée est terminée. Le calage hélice varie très rapidement dans un premier temps pour contrer l'effet de l'augmentation de la vitesse du moteur. Lorsque le moteur est pratiquement stabilisé il évolue encore le temps de la montée pour ensuite se stabiliser. Enfin, on eut remarquer que les courbes d'incidence, de traction et de couple ont des formes similaires. Ceci dit, il ne s'agit que d'un cas d'école, dans la mesure où la vitesse de l'avion ainsi que la vitesse de montée ont été fixées arbitrairement. Lorsque la dernière partie du simulateur aura été intégrée, ces vitesses seront récupérées à partir des calculs faits en utilisant les données du modèle de vol de l'avion. Le fait d'intégrer cette dernière partie devrait changer plus ou moins la phase transitoire que l'on observe sur toutes les courbes (avec très peu d'influence sur celle relative au nombre de tours de moteur). Les éléments suivants décrivent le fonctionnement du moteur avec son hélice dans le cas d'une augmentation du throttle: ● ● ● un couple délivré par le moteur: Cm un couple résistif de l'hélice qui correspond aux forces de trainée qui s'exercent sur elles: Ch enfin, une force de traction crée par l 'hélice et qui fera avancer l'avion: T Si le couple délivrée par le moteur Cm est supérieur au couple opposé par l'hélice Ch, le nombre de tour du moteur va augmenter, ce qui à puissance égale, aura pour effet de faire diminuer Cm. Dans le même temps, la vitesse de rotation de l'hélice augmentant, les forces de trainée vont augmenter et donc faire augmenter le couple Ch. Il va donc y avoir à un moment donnée équilibre entre les couples moteurs Cm et de l'hélice Ch. Dans Fb, cette accélération affectant le nombre de tours est calculée à partir de la différence entre Cm et Ch. Ce fait également intervenir l'inertie de l'hélice qui est déterminée à partir éléments géométrique et massique de cette dernière ainsi que de l'inertie du moteur qui est un paramètre du MDV: ● 2290 EngineI 1.0 Un autre coefficient intervient dans le calcul de l'accélération du moteur: ● 2295 EngineAcceleration 4.0 Il s'agit d'un coefficient de modélisation qui n'a rien à voir avec la physique. Lorsque l'accélération calculée avec la méthode vue quelques lignes plus haut est positive, cette dernière est multipliée par ce coefficient. Lorsqu'il s'agit d'une décélération, ce coefficient n'intervient pas. En conclusion, les moteurs prennent plus rapidement les tours que ce qu'ils peuvent en perdre. 3.11 Calcul de la consommation Le calcul de la consommation se fait à partir d'une courbe de conso spécifique. Cette courbe peut être incluse dans les paramètres moteur comme elle peut être directement utilisée avec des valeurs par défaut attribuées par FB. Une recherche rapide montre que des avions comme le 109, le Fw, le Spit ou le Hurricane utilisent cette même courbe de consommation spécifique... Les paramètres utilisés sont les suivants: ● FuelConsumptionP0 0.4 ● ● ● FuelConsumptionP05 0.24 FuelConsumptionP1 0.28 FuelConsumptionPMax 0.30 Conso spécifique 0,4 0 0,38 0,36 0 ,34 0,32 0,30 0 ,2 8 0 ,2 6 0,2 4 0 ,2 2 0 ,2 0 Fue lCo ns umpt io nP05 Fue lCo ns umpt io nPM AX Fue lCo nsumpt io nP0 Fue lCo nsumpt io nP1 Le paramètre d'entrée dans cette courbe est la puissance du moteur ramenée à sa puissance maximum. Ce rapport permet donc de se situer entre FuelConsumptionP0 et FuelConsumptionPMax. La courbe fournit alors directement la consommation horaire par hp. Il suffit ensuite de multiplier cette valeur par la puissance au moment considéré pour obtenir la consommation. A ce stade du développement du simulateur, il n'est pas encore possible de calculer les caractéristiques des différentes consommation de l'avion car il manque encore à intégrer la partie «planeur» dans ce dernier. C'est en conjonction avec elle, qu'il sera possible de déterminer les altitudes et vitesses économiques,... 3.12 Les températures Les paramètres qui interviennent dans les calculs de températures sont les suivants: ● ● ● ● ● ● ● ● ● ● 2820 TESPEED 0.01 2825 TWATERMAXRPM 95.0 2840 TOILINMAXRPM 70.0 2845 TOILOUTMAXRPM 107.0 2850 MAXRPMTIME 300.0 2855 MINRPMTIME 999.0 2860 TWATERMAX 115.0 2865 TWATERMIN 60.0 2870 TOILMAX 125.0 2875 TOILMIN 40.0 De la façon dont elles sont codées dans FB, les variations de températures suivent une loi exponentielle. Le paramètre 2820 est une valeur entrant dans la constante de temps de cette fonction. De toutes façons, pas la peine de se prendre la tête: ● ● augmenter de paramètre augmentera la vitesse de variation, le diminuer, diminuera cette vitesse. A mon avis, il y a également un abus de langage avec les coefficients TWATERxxxx qui sont probablement les températures des liquides de refroidissement qui ne sont pas nécessairement de l'eau. Pour éviter de se faire des noeuds au cerveau, c'est le terme « eau » qui sera utilisé. Pour donner une image pratique au codage de FB, il suffit de considérer deux éléments: un bloc moteur et un radiateur d'eau. Ces deux éléments ont leurs températures qui varient instantanément en fonction: ● ● ● ● de la puissance appliquée au moteur, du nombre de tour du moteur, de l 'état du radiateur, de la vitesse et de l'altitude. C'est à ce niveau qu'interviennent les paramètres 2825 et 2845 qui correspondent à une température limite de fonctionnement lorsque la manette des gaz est positionnée à 100%. C'est ce coefficient qui intervient dans la formule, mais les autres paramètres (puissance moteur, radiateur, etc...) viennent modifier les températures des réservoirs d'eau et d'huile. Ces températures de réservoirs ayant été calculées, 3 températures sont déterminées: une température pour l'eau dans le radiateur une température d'huile en entrée et en sortie moteur. L'état de surchauffe moteur est vérifiée par comparaisons de la températures d'eau et de sortie d'huile avec les paramètres 2860 et 2870. Si une des deux températures dépasse ces limites: ● un compteur commence à s'incrémenter ○ si ce compteur dépasse la valeur du paramètre 2850 (qui représente des secondes), alors: ■ l'usure du moteur augmente ce qui a pour effet de diminuer la puissance qu'il délivre (voir explication plus haut). Si cette usure dépasse un certain seuil (0.32), le moteur s'arrête. Il est bon pour la casse. ■ le paramètre 2870 voit sa valeur diminuer. Si, à la suite d'une action, les températures d'eau et d'huile repassent en dessous des valeurs définies par les paramètres 2860 et 2870, le compteur repasse à 0 si bien qu'il suffit, dans le cas du 109G6, d'être en régime de surchauffe pendant des durées ininterrompues de 299 secondes maximum (MAXRPMTIME – 1s) pour qu'il ne se passe rien de fâcheux pour le moteur... Le paramètres suivants ne sont pas (ou plus) utilisés dans la version actuelle de FB: ● 2855 MINRPMTIME 999.0 Dans le cas du SPIT9, SPIT8 et SPIT8Clp, les paramètres suivants sont utilisés ● ● 2865 TWATERMIN 60.0 2875 TOILMIN 40.0 pour le calcul de l'ouverture (ou fermeture) du radiateur. Lorsqu'un avion ● ● démarre au sol, sa température est aux alentours de 22° démarre en l'air, sa température pour l'eau et l'huile est la moyenne des paramètres: ○ 2840 et 2875 pour la température d'huile en entrée, ○ 2845 et 2875 pour la température d'huile en sortie, ○ 2825 et 2865 pour la température de l'eau. Bien que ne faisant pas partie du moteur, le radiateur est un élément indispensable à son fonctionnement. L'ouverture du radiateur provoque un supplément de trainée qui influe donc sur les performances de l'avion. Le type de radiateur est donné par la valeur du paramètre: ● 2665 PropAnglerType 7 Dans le cas du 109G6, la modification de la position du radiateur est effectuée lorsque la température de l'huile en sortie dépasse la valeur du paramètre 2845. Dans le cas où la température en sortie est en dessous de la valeur du paramètre 2845, l'ouverture du radiateur est fonction de la vitesse: ● ● ● = 1 (ouvert) lorsque la vitesse est nulle = 0 lorsque le rapport entre la vitesse et le paramètre ○ 1305 VmaxH 643.0 est supérieur ou égal à 1 et évolue linéairement entre les deux valeurs pour les vitesse comprises entre 0 et VmaxH. La première simulation consiste à voir comment évoluent les différentes températures au démarrage au sol. Cette connaissance peut être intéressante dans le cas d'un mod fixant des contraintes de températures au démarrage. Donc, la vitesse a été fixée à 0 et la manette des gaz au minimum. Cette évolution est résumée à travers les courbes suivantes où l'on voit, en utilisant les paramètres de base, qu'il faut aux environs de 6 minutes pour que les températures minis soient atteintes. Températures au démarrage 65 60 55 Huile entrée Huile so rtie Eau Min huile Min eau 50 45 40 35 30 25 20 0 50 10 0 15 0 2 00 250 30 0 350 4 00 Enfin, la courbe suivante montre l'évolution des températures dans le cas suivant: ● ● ● ● la puissance est réglée à 75% l'altitude choisie est 1000 m la vitesse est de 510 km/h à l'instant t = 50 s, le puissance passe à 110% Dès que la puissance passe à 110%: ● ● ● ● ● ● ● une élévation des températures de l'huile en entrée et sortie ainsi que de la température de l'eau se produit. Lorsque la température d'huile en sortie dépasse tOilMaxRPM, le radiateur s'ouvre. Toutefois son ouverture, même à 100%, n'est pas suffisante pour compenser l'élévation de température de l'huile. Lorsque la température de l'huile en sortie dépasse tOilCritMax, le compteur commence à s'incrémenter. Quant le compteur arrive à la valeur MAXRPMTIME ( = 300 s), le coefficient d'usure du moteur diminue (si bien que le couple moteur diminue). Dans le même temps, la valeur de tOilCritMax diminue. La diminution du couple moteur entraine une diminution des températures (le moteur fournit moins de puissance). Lorsque la température de sortie d'huile passe en dessous de tOilCritMax, le compteur passe à 0 et le coef d'usure du moteur cesse d'évoluer. Enfin, lorsque l'huile repasse en dessous de tOilMaxRPM, le radiateur repasse à la position qu'il avait avant la surchauffe du moteur et tout est redevenue comme avant. Ce n'est pas tout à fait vrai, la puissance affichée par la manette des gaz est toujours de 110%, alors que le coefficient d'usure à fait que le moteur ne délivre plus qu'aux alentours de 40% de la puissance qu'il devrait délivrer dans cette position. 4 Simulation de l'avion complet A venir, fera l'objet de la prochaine mise à jour