Writing /var/www/tireur.org/wiki/data/meta/verification/technique/integration_rk4.meta failed
Unable to save metadata file. Hint: disk full; file permissions; safe_mode setting.
Vous êtes ici : start » verification » technique » integration_rk4

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
verification:technique:integration_rk4 [2026/08/12 13:41] – Traite ouvert : formule et 12 variables confirmees, critere du 6-DOF corrige, pas variable du BRL ; McGyro absent du traite Lepigeonverification:technique:integration_rk4 [2026/08/12 18:26] (Version actuelle) – Suite : le solveur 6-DOF passe en RK4 ; le defaut n etait pas un ordre de trop mais une divergence Lepigeon
Ligne 122: Ligne 122:
 **McGyro reste introuvable.** Le fichier de description publié par un site de balistique répond 404, pour moi comme pour le propriétaire du site ; le dépôt de rapports de défense qui archive MCDRAG était en maintenance ; et — résultat le plus parlant — **le traité de référence, dans son édition la plus récente, ne mentionne McGyro nulle part**. Un dépouillement du texte intégral ne rend aucune occurrence, alors qu'il en rend trois pour MCDRAG. La page n'affirme donc plus de millésime pour McGyro, seulement ce qu'il calcule, établi sur deux relevés secondaires concordants. **McGyro reste introuvable.** Le fichier de description publié par un site de balistique répond 404, pour moi comme pour le propriétaire du site ; le dépôt de rapports de défense qui archive MCDRAG était en maintenance ; et — résultat le plus parlant — **le traité de référence, dans son édition la plus récente, ne mentionne McGyro nulle part**. Un dépouillement du texte intégral ne rend aucune occurrence, alors qu'il en rend trois pour MCDRAG. La page n'affirme donc plus de millésime pour McGyro, seulement ce qu'il calcule, établi sur deux relevés secondaires concordants.
 </WRAP> </WRAP>
 +
 +## Le site a bien un solveur 6-DOF — et sa notice ment
 +
 +Cette fiche affirmait que « le site n'a pas de solveur 6-DOF pour l'arbitrer par le calcul ». **C'est faux**, et l'erreur est de ma main : j'avais relu le portage JavaScript servi aux visiteurs, où le 6-DOF est absent, et j'en avais conclu qu'il l'était partout. La bibliothèque Julia dont ce portage est tiré contient un module dédié — `SixDOF`, dans `BallisticsGuide/src/CompetitionBallistics.jl` — long de plus de trois cents lignes : jeu complet de coefficients aérodynamiques, moments d'inertie, équations d'Euler de la rotation, cinématique par quaternions.
 +
 +En le relisant, un défaut est apparu, du genre exact que cette passe rencontre le plus souvent.
 +
 +<WRAP round alert>
 +**La notice du solveur annonce « //Full 6-DOF rigid-body trajectory solver with RK4 integration// ». La boucle intègre par la méthode d'Euler.**
 +
 +Le code ne s'en cache d'ailleurs pas — un commentaire, deux lignes au-dessus du pas d'intégration, reconnaît que « //full RK4 on the 13-state would be ideal but Euler with small dt is adequate for demonstration// ». La compensation choisie est un pas très court, $\Delta t = 10^{-4}$ s, dix fois plus fin que celui du solveur 3-DOF.
 +
 +C'est la notice qui est fausse, pas le calcul — mais c'est la notice qu'on lit quand on décide de porter un module sur le web.
 +</WRAP>
 +
 +Deux remarques que ce module apporte à la page :
 +
 +* **son vecteur d'état compte treize composantes, pas douze** : trois de position, trois de vitesse, **quatre de quaternion** et trois de vitesse angulaire. Le compte dépend de la façon dont on porte l'orientation — trois cosinus directeurs dans le traité de référence, quatre paramètres de quaternion ici, en échange de l'absence de singularité. L'article dit « douze », ce qui vaut pour la formulation du traité ; les deux sont justes, chacune dans sa convention ;
 +* **les huit coefficients aérodynamiques y sont des valeurs par défaut en dur** — dérivée de force normale, moment de renversement, amortissements, force et moment de Magnus. Personne ne les a mesurés pour une balle donnée. C'est l'illustration exacte du « //garbage in, garbage out// » que le traité oppose au 6-DOF, et la meilleure justification de ce que dit l'article : ce n'est pas l'algorithme qui manque, ce sont les données.
 +
 +<WRAP round tip>
 +**Suite (2026-08-12, même jour).** Le solveur est passé à RK4 sur ses treize composantes, Euler restant accessible en repli. En l'instrumentant, le défaut s'est révélé plus grave que « un ordre de trop » : **il ne fonctionnait pas**. Euler explicite est inconditionnellement instable sur l'oscillateur gyroscopique de ces équations — son facteur d'amplification vaut $\sqrt{1+(\omega h)^2} > 1$ à tout pas —, et les vitesses angulaires atteignaient $10^{159}$ rad/s au bout de 39 ms de vol, le quaternion passant à //NaN//. Aucune trajectoire complète n'en était jamais sortie. Raccourcir le pas ne faisait que retarder l'explosion.
 +
 +Le pas par défaut était lui aussi mal dimensionné, sur la période épicyclique vue du sol au lieu du **mode rapide en repère corps** (24 000 rad/s, période 262 µs) : il passe de $10^{-4}$ à $5 \times 10^{-6}$ s, soit une cinquantaine de pas par cycle rapide — la règle relevée dans le traité. L'ordre 4 est vérifié par la mesure : l'erreur sur l'incidence totale à 100 yd décroît d'un facteur 16 par halvage. Et le repli Euler reproduit l'ancien comportement **au bit près**, explosion comprise, ce qui en fait un vrai témoin de non-régression.
 +
 +Cette page n'a pas à changer : elle décrit RK4, pas ce module. Mais le rapprochement mérite d'être noté — **c'est la rédaction de l'article qui a conduit à ouvrir ce code**, et le défaut y attendait depuis le début.
 +</WRAP>
 +
 +Le solveur n'étant pas servi aux visiteurs, l'article n'en parle pas. Il faudra y revenir si le 6-DOF passe un jour sur le site.
 +
 +En revanche, l'argument du traité — le critère est l'incidence, pas la distance — a été porté là où la question se pose vraiment, hors du wiki : un encadré « Pourquoi 3-DOF et pas 6-DOF ? » dans l'aide contextuelle du **calculateur balistique**, une note dans le chapitre 6-DOF du **manuel mathématique** (PDF reconstruit) et deux encadrés dans le **guide du solveur Julia**, dont un sur les coefficients par défaut. La notice bibliographique du manuel donnait par ailleurs le traité pour « 2ᵉ édition, 1999 » : c'est 1999 pour la première et 2012 pour la seconde, corrigé.
  
 ## Un défaut de rendu, invisible au source ## Un défaut de rendu, invisible au source
Ligne 133: Ligne 164:
 * **La notice de McGyro n'a pas été ouverte.** Le rapport de McDrag, lui, a été lu sur la fiche du dépôt de défense qui l'archive — numéro, laboratoire, date et objet du programme viennent de là. Pour McGyro, le fichier de description publié par un site de balistique répond 404 : ce qui est écrit plus haut provient de deux relevés secondaires concordants, non de la source. La conclusion ne s'en trouve pas fragilisée — elle tient déjà pour McDrag seul —, mais l'année 1986 et la liste exacte des sorties restent à confirmer. * **La notice de McGyro n'a pas été ouverte.** Le rapport de McDrag, lui, a été lu sur la fiche du dépôt de défense qui l'archive — numéro, laboratoire, date et objet du programme viennent de là. Pour McGyro, le fichier de description publié par un site de balistique répond 404 : ce qui est écrit plus haut provient de deux relevés secondaires concordants, non de la source. La conclusion ne s'en trouve pas fragilisée — elle tient déjà pour McDrag seul —, mais l'année 1986 et la liste exacte des sorties restent à confirmer.
 * **L'exemplaire du traité consulté est un scan à reconnaissance de caractères dégradée.** Le texte extrait est brouillé par endroits ; les quatre pages qui portent les conclusions ci-dessus ont donc été **lues sur l'image**, pas dans la couche texte. Le reste du chapitre n'a pas été dépouillé avec la même attention. * **L'exemplaire du traité consulté est un scan à reconnaissance de caractères dégradée.** Le texte extrait est brouillé par endroits ; les quatre pages qui portent les conclusions ci-dessus ont donc été **lues sur l'image**, pas dans la couche texte. Le reste du chapitre n'a pas été dépouillé avec la même attention.
-* **Le point-masse comparé au 6-DOF n'a toujours pas été *mesuré* ici** : le traité l'affirme et la page le reprend désormais avec sa condition d'incidence faible, mais le site n'a pas de solveur 6-DOF pour l'arbitrer par le calcul.+* **Le point-masse comparé au 6-DOF n'a toujours pas été *mesuré* ici.** Le traité l'affirme et la page le reprend avec sa condition d'incidence faible ; la comparaison par le calcul reste à faireet le solveur qui la permettrait porte le défaut décrit ci-dessus.
 * **Le pas de 1 µs du simulateur intérieur** n'a pas subi le test de convergence appliqué au solveur extérieur. * **Le pas de 1 µs du simulateur intérieur** n'a pas subi le test de convergence appliqué au solveur extérieur.
 * **L'ordre 4 n'a été mesuré que sur le modèle jouet.** Sur le solveur du site, la mesure bute sur la recherche d'angle de zéro (voir plus haut) avant d'atteindre le régime où l'ordre se lit. * **L'ordre 4 n'a été mesuré que sur le modèle jouet.** Sur le solveur du site, la mesure bute sur la recherche d'angle de zéro (voir plus haut) avant d'atteindre le régime où l'ordre se lit.
verification/technique/integration_rk4.1786542082.txt.gz · Dernière modification : de Lepigeon