FM, vous avez dit bizarre, comme c’est bizarre….
Publié : ven. juil. 19, 2013 8:54 am
Actuellement, je ne suis pas souvent chez moi, mais j’en profite malgré tout pour regarder certaines choses sur les FM puisque finalement, il faut très peu de choses pour le faire.
Pour ce faire, j’ai utilisé la classe « motor » et pris comme cas d’école le DB605. A ce stade, j’ai mis le doigts sur deux choses bizarres qui peuvent expliquer certaines choses et rendre caduques beaucoup d’explications qui ont été données jusqu’à présent.
Le premier point est lié à la puissance du moteur (en hp) que l’on trouve dans le fichier emd. Pour le DB605, cette puissance est égale à 1400 hp mais une fois ce fichier chargé, la première chose que fait IL2 est de calculer un couple maximum (à travers la fonction « initializeInline » en utilisant la formule suivante :
“engineMomentMax = (horsePowers * 746F * 1.2F) / wMax;”
Ici wMax est le nombre de tour en radian/s tire de la valeur de 2800 RPM. Le coefficient 746 sert uniquement à transformer les unités SI en hp. Par contre, en regardant cette formule, il est facile de voir que la puissance de référence a été multipliée par 1,2, c'est-à-dire qu’elle est devenue 1680 hp.
Si l’on poursuit un peu dans cette voie, dans la classe « motor », la fonction getn() donne le couple que peut délivrer le moteur à une position de throttle donnée. Toujours en utilisant l’exemple du dessus, on tombe sur les lignes de code suivante :
“ case 3: // '\003'
float f1 = 0.1F + 0.9F * getControlThrottle();
float f4 = w / wNom;
tmpF = engineMomentMax * ((-1F / f1) * f4 * f4 + 2.0F * f4);
if(getControlThrottle() > 1.0F)
tmpF *= engineBoostFactor;”
D’où il est facile de voir que lorsque la manette est en butée max, le couple est encore multiplié par un coefficient 1.1 correspondant au « engineBoostFactor » donné dans le fichier emd. Comme, toujours dans ce cas, wNoM = wMax, il est facile de voir que finalement la puissance délivrée pour le moteur est devenue : 1680 * 1.1 = 1848 hp qui est très loin des 1400 hp de base….
Après rajout de quelques lignes de code dans IL2 pour ressortir cette puissance, c’est effectivement la puissance que l’on lit lors d’un vol de test…
Difficile de comprendre cette chose, mais il me semble que dans IL2, toutes les puissances sont biaisées. Comme ces calculs s’appliquent à tous les moteurs (à piston), c’est juste un offset mais la raison de ce dernier, pour l’instant, en reste assez obscure…
Le second point est plus critique. Pour fixer les idées, il y a d’un coté un moteur qui délivre une certaine puissance, de l’autre une hélice qui absorbe cette puissance et la transforme en force de traction avec un rendement lié au profil de l’hélice à travers des formules bien connues qui sont tirées sur IL2 des travaux sur les disques faits par Froude. Il existe entre le moteur et l’hélice un réducteur qui permet de diminuer la vitesse de rotation de l’hélice pour l’adapter à certains paramètres et éviter entre autre que les extrémités de pales passent dans le domaine sonique. Ce réducteur, dans le cas qui nous occupe est de 0 .72.
Ce que l’on sait de la mécanique est que la puissance est un invariant (au rendement du réducteur prêt, mais qui pour IL2 est égal à 1).
Donc, ces considérations physiques amènent à dire que la puissance délivrée par le moteur est égale à la puissance absorbée par l’hélice.
Mais ce que l’on trouve dans IL2 est d’une autre nature. On trouve, toujours dans la classe « motor » la ligne suivante :
“float f23 = engineMoment - propMoment;”
(f23 sert ensuite, à travers des interties) à calculer la nouvelle vitesse de rotation du moteur et par là, à modifier la puissance absorbée et la force de traction…
Dans IL2, ce n’est pas la puissance qui est prise en compte, mais le moment du moteur et de l’hélice, ce qui est totalement faux, sauf si le réducteur à un rapport de reduction égal à 1.
Si l’on pouvait s’accomoder du permeir point, ce deuxième point fausse complètement les caractéristiques des avions et l’on arrive très vite que cette erreur favorisera les avions qui ont des rapports de réduction faibles. Si bien que certains se comporteront comme des veaux et d’autres comme des fusées (ca ne vous rappelle rien ?) ce qui expliquerait beaucoup de choses sur les discussions sans fin qu’il y a eu sur les MDV d’IL2.
J’espère ne pas vous avoir trop donné mal à la tête en cette période de vacances, mais c’est vraiment bizarre…..
Pour ce faire, j’ai utilisé la classe « motor » et pris comme cas d’école le DB605. A ce stade, j’ai mis le doigts sur deux choses bizarres qui peuvent expliquer certaines choses et rendre caduques beaucoup d’explications qui ont été données jusqu’à présent.
Le premier point est lié à la puissance du moteur (en hp) que l’on trouve dans le fichier emd. Pour le DB605, cette puissance est égale à 1400 hp mais une fois ce fichier chargé, la première chose que fait IL2 est de calculer un couple maximum (à travers la fonction « initializeInline » en utilisant la formule suivante :
“engineMomentMax = (horsePowers * 746F * 1.2F) / wMax;”
Ici wMax est le nombre de tour en radian/s tire de la valeur de 2800 RPM. Le coefficient 746 sert uniquement à transformer les unités SI en hp. Par contre, en regardant cette formule, il est facile de voir que la puissance de référence a été multipliée par 1,2, c'est-à-dire qu’elle est devenue 1680 hp.
Si l’on poursuit un peu dans cette voie, dans la classe « motor », la fonction getn() donne le couple que peut délivrer le moteur à une position de throttle donnée. Toujours en utilisant l’exemple du dessus, on tombe sur les lignes de code suivante :
“ case 3: // '\003'
float f1 = 0.1F + 0.9F * getControlThrottle();
float f4 = w / wNom;
tmpF = engineMomentMax * ((-1F / f1) * f4 * f4 + 2.0F * f4);
if(getControlThrottle() > 1.0F)
tmpF *= engineBoostFactor;”
D’où il est facile de voir que lorsque la manette est en butée max, le couple est encore multiplié par un coefficient 1.1 correspondant au « engineBoostFactor » donné dans le fichier emd. Comme, toujours dans ce cas, wNoM = wMax, il est facile de voir que finalement la puissance délivrée pour le moteur est devenue : 1680 * 1.1 = 1848 hp qui est très loin des 1400 hp de base….
Après rajout de quelques lignes de code dans IL2 pour ressortir cette puissance, c’est effectivement la puissance que l’on lit lors d’un vol de test…
Difficile de comprendre cette chose, mais il me semble que dans IL2, toutes les puissances sont biaisées. Comme ces calculs s’appliquent à tous les moteurs (à piston), c’est juste un offset mais la raison de ce dernier, pour l’instant, en reste assez obscure…
Le second point est plus critique. Pour fixer les idées, il y a d’un coté un moteur qui délivre une certaine puissance, de l’autre une hélice qui absorbe cette puissance et la transforme en force de traction avec un rendement lié au profil de l’hélice à travers des formules bien connues qui sont tirées sur IL2 des travaux sur les disques faits par Froude. Il existe entre le moteur et l’hélice un réducteur qui permet de diminuer la vitesse de rotation de l’hélice pour l’adapter à certains paramètres et éviter entre autre que les extrémités de pales passent dans le domaine sonique. Ce réducteur, dans le cas qui nous occupe est de 0 .72.
Ce que l’on sait de la mécanique est que la puissance est un invariant (au rendement du réducteur prêt, mais qui pour IL2 est égal à 1).
Donc, ces considérations physiques amènent à dire que la puissance délivrée par le moteur est égale à la puissance absorbée par l’hélice.
Mais ce que l’on trouve dans IL2 est d’une autre nature. On trouve, toujours dans la classe « motor » la ligne suivante :
“float f23 = engineMoment - propMoment;”
(f23 sert ensuite, à travers des interties) à calculer la nouvelle vitesse de rotation du moteur et par là, à modifier la puissance absorbée et la force de traction…
Dans IL2, ce n’est pas la puissance qui est prise en compte, mais le moment du moteur et de l’hélice, ce qui est totalement faux, sauf si le réducteur à un rapport de reduction égal à 1.
Si l’on pouvait s’accomoder du permeir point, ce deuxième point fausse complètement les caractéristiques des avions et l’on arrive très vite que cette erreur favorisera les avions qui ont des rapports de réduction faibles. Si bien que certains se comporteront comme des veaux et d’autres comme des fusées (ca ne vous rappelle rien ?) ce qui expliquerait beaucoup de choses sur les discussions sans fin qu’il y a eu sur les MDV d’IL2.
J’espère ne pas vous avoir trop donné mal à la tête en cette période de vacances, mais c’est vraiment bizarre…..