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
technique:integration_rk4 [2026/08/12 13:03] – References confrontees : McDrag n estime que la trainee a incidence nulle et McGyro que le facteur de stabilite ; journal et pages ajoutes pour Runge et Kutta Lepigeontechnique:integration_rk4 [2026/08/14 21:41] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
 # L'intégration numérique par la méthode de Runge-Kutta d'ordre 4 (RK4) # L'intégration numérique par la méthode de Runge-Kutta d'ordre 4 (RK4)
  
-Les équations de la balistique — intérieure comme extérieure — n'admettent pas de solution analytique en forme close dès qu'on emploie un modèle réaliste : la traînée suit une table expérimentale fonction du nombre de Mach, l'air change de densité avec l'altitude, la poudre brûle selon une loi empirique. On les résout donc **numériquement**, pas de temps par pas de temps. L'algorithme employé pour cela sur Tireur.org est la **méthode de Runge-Kutta d'ordre 4**, abrégée **RK4**, due aux travaux de Carl Runge (1895) et Wilhelm Kutta (1901).+Les équations de la balistique — intérieure comme extérieure — n'admettent pas de solution analytique en forme close dès qu'on emploie un modèle réaliste : la traînée suit une table expérimentale fonction du nombre de Mach, l'air change de densité avec l'altitude, la poudre brûle selon une loi empirique. On les résout donc **numériquement**, pas de temps par pas de temps. L'algorithme employé pour cela sur Tireur.org est la **méthode de Runge-Kutta d'ordre 4**, abrégée **RK4**, due aux travaux de Carl Runge (1895) [6] et Wilhelm Kutta (1901) [3].
  
 Cette page part du problème lui-même, expose la méthode la plus élémentaire qui le résout — celle d'Euler — puis ce que RK4 y ajoute, et décrit enfin la façon dont l'algorithme est appliqué dans nos outils, et ce qui, chez eux, n'en relève pas. Aucune connaissance préalable en analyse numérique n'est supposée. Cette page part du problème lui-même, expose la méthode la plus élémentaire qui le résout — celle d'Euler — puis ce que RK4 y ajoute, et décrit enfin la façon dont l'algorithme est appliqué dans nos outils, et ce qui, chez eux, n'en relève pas. Aucune connaissance préalable en analyse numérique n'est supposée.
Ligne 102: Ligne 102:
 $$ y_{n+1} = y_n + \frac{\Delta t}{6} \left( k_1 + 2k_2 + 2k_3 + k_4 \right) $$ $$ y_{n+1} = y_n + \frac{\Delta t}{6} \left( k_1 + 2k_2 + 2k_3 + k_4 \right) $$
  
-Le poids double accordé à $k_2$ et $k_3$, les évaluations centrales, revient à privilégier le milieu du pas — c'est ce qui fait la précision de la formule. L'erreur commise sur un pas isolé décroît comme $\Delta t^5$ ; c'est son accumulation sur l'ensemble des pas d'une trajectoire qui ramène la méthode à l'ordre 4.+Le poids double accordé à $k_2$ et $k_3$, les évaluations centrales, revient à privilégier le milieu du pas — c'est ce qui fait la précision de la formule. Elle n'est d'ailleurs pas la seule possible : le système d'équations qui définit une méthode de Runge-Kutta jusqu'à l'ordre 4 est **sous-déterminé**, une des constantes pouvant être choisie arbitrairement, si bien que plusieurs formules d'ordre 4 coexistent [1]. Celle donnée ici est la formule classique de Kutta [3] ; la variante de Gill en est une autre, longtemps préférée pour son moindre encombrement en mémoire. L'erreur commise sur un pas isolé décroît comme $\Delta t^5$ ; c'est son accumulation sur l'ensemble des pas d'une trajectoire qui ramène la méthode à l'ordre 4.
  
 ![Panneau A : cinq pas d'Euler de 0,1 s décrochent visiblement de la solution exacte, toujours du même côté. Panneau B : dans le tout premier pas, les quatre pentes sondées par RK4 — k₂ et k₃ sont prises au même instant, sur deux estimations différentes de l'état — et le point d'arrivée, confondu avec la courbe exacte.](technique:euler_vs_rk4.svg?640) ![Panneau A : cinq pas d'Euler de 0,1 s décrochent visiblement de la solution exacte, toujours du même côté. Panneau B : dans le tout premier pas, les quatre pentes sondées par RK4 — k₂ et k₃ sont prises au même instant, sur deux estimations différentes de l'état — et le point d'arrivée, confondu avec la courbe exacte.](technique:euler_vs_rk4.svg?640)
Ligne 131: Ligne 131:
 Nos solveurs avancent à **pas constant**, choisi une fois pour toutes : $\Delta t = 0{,}0005$ s pour la trajectoire extérieure, 1 microseconde pour la simulation intérieure, où tout se joue en une à deux millisecondes. Nos solveurs avancent à **pas constant**, choisi une fois pour toutes : $\Delta t = 0{,}0005$ s pour la trajectoire extérieure, 1 microseconde pour la simulation intérieure, où tout se joue en une à deux millisecondes.
  
-Les intégrateurs à **pas adaptatif** — Runge-Kutta-Fehlberg, Dormand-Prince, ceux que l'on trouve derrière un `ode45` — estiment l'erreur à chaque pas en comparant deux formules d'ordres différents, puis resserrent ou relâchent $\Delta t$ en conséquence. Sur une trajectoire, ils raccourciraient le pas au passage transsonique et l'allongeraient sur la fin de course. À pas fixe, la marge se prend en amont : on retient un pas assez court pour la phase la plus raide et on le garde partout. C'est plus simple, un peu plus coûteux en calcul, et suffisant tant que le pas reste petit devant les temps caractéristiques du problème.+Les intégrateurs à **pas adaptatif** — Runge-Kutta-Fehlberg, Dormand-Prince, ceux que l'on trouve derrière un `ode45` — estiment l'erreur à chaque pas en comparant deux formules d'ordres différents, puis resserrent ou relâchent $\Delta t$ en conséquence [2]. Sur une trajectoire, ils raccourciraient le pas au passage transsonique et l'allongeraient sur la fin de course. À pas fixe, la marge se prend en amont : on retient un pas assez court pour la phase la plus raide et on le garde partout. C'est plus simple, un peu plus coûteux en calcul, et suffisant tant que le pas reste petit devant les temps caractéristiques du problème.
  
 ## Application vectorielle ## Application vectorielle
Ligne 148: Ligne 148:
 ### Et le 6-DOF ? ### Et le 6-DOF ?
  
-Un modèle **6-DOF** suit en plus l'attitude du projectile : son vecteur d'état compte douze variables — trois de position, trois de vitesse, trois d'orientation et trois de vitesse angulaire. Il ne réclame plus un simple coefficient de traînée mais un jeu complet de coefficients aérodynamiques : portance, moment de tangage, amortissement en tangage et en roulis, effet Magnus. Ce jeu complet s'obtient par réduction de tirs en tunnel balistique ou d'essais en soufflerie. Les codes semi-empiriques que les tireurs connaissent de nom n'en fournissent chacun qu'une pièce : **McDrag**, publié par Robert L. McCoy en 1981, estime le seul coefficient de traînée à incidence nulle, et **McGyro** (1986) le facteur de stabilité gyroscopique et le pas de rayure nécessaire. Ni l'un ni l'autre ne rend la portance, les amortissements ou l'effet Magnus.+Un modèle **6-DOF** suit en plus l'attitude du projectile : son vecteur d'état compte douze variables — trois de position, trois de vitesse, trois d'orientation et trois de vitesse angulaire. Il ne réclame plus un simple coefficient de traînée mais un jeu complet de coefficients aérodynamiques : portance, moment de tangage, amortissement en tangage et en roulis, effet Magnus. Ce jeu complet s'obtient par réduction de tirs en tunnel balistique ou d'essais en soufflerie. Les codes semi-empiriques que les tireurs connaissent de nom n'en fournissent chacun qu'une pièce : **McDrag**, publié par Robert L. McCoy en 1981 [4], estime le seul coefficient de traînée à incidence nulle, et **McGyro** le facteur de stabilité gyroscopique et le pas de rayure nécessaire. Ni l'un ni l'autre ne rend la portance, les amortissements ou l'effet Magnus.
  
-Ils ne sont publiés pour presque aucune balle du commerce : c'est ce qui cantonne le 6-DOF à l'étude de la stabilité et de la dispersion plutôt qu'à la prévision courante de trajectoire, où un modèle point-masse correctement renseigné fait pratiquement aussi bien. L'algorithme d'intégration, lui, ne change pas : RK4 s'applique à un vecteur de douze composantes exactement comme à un vecteur de six.+Ils ne sont publiés pour presque aucune balle du commerce. Mais la raison de fond tient au vol lui-même, et McCoy l'énonce sans détour [5] : **le 6-DOF n'est pas nécessaire au travail courant de balistique extérieure**. Tant que l'incidence totale reste faible sur tout le parcours, un modèle point-masse est « souvent suffisamment exact à toutes fins pratiques ». Le 6-DOF s'impose dès que le projectile vole à **forte incidence** — un obus tiré à 70° de site, une balle lâchée en travers du vent relatif d'un avion. En tir tendu, la .308 de 168 gr qu'il prend en exemple ne dépasse jamais 5° de tangage-lacet : le cas ne relève pas du 6-DOF. 
 + 
 +L'intégrateur, lui, reste de la même famille sans être identique. Le programme 6-DOF du laboratoire de recherche balistique américain emploie la variante de Gill [5], avec un pas de temps **variable**, réévalué en continu sur la période du cycle de lacet ; une cinquantaine de pas par cycle sont nécessaires pour obtenir quatre à cinq chiffres significatifs. Le contrôle d'exactitude y est élégant : l'orientation étant portée par un vecteur unitaire, il suffit de vérifier à chaque pas que son produit scalaire avec lui-même vaut toujours 1 — un écart de plus de $10^{-5}$ signale un pas trop long.
  
 ## Quel outil intègre quoi ## Quel outil intègre quoi
Ligne 162: Ligne 164:
 ## Références ## Références
  
-1. C. Runge — //Ueber die numerische Auflösung von Differentialgleichungen//, Mathematische Annalen **46** (1895), p. 167-178. +Par ordre alphabétique d'auteur, puis chronologique pour un même auteur ; les renvois **[n]** dans le texte pointent vers cette liste. 
-2. W. Kutta — //Beitrag zur näherungsweisen Integration totaler Differentialgleichungen//, Zeitschrift für Mathematik und Physik **46** (1901), p. 435-453 — la formule classique d'ordre 4. + 
-3. J. C. Butcher — //Numerical Methods for Ordinary Differential Equations//, Wiley, 3ᵉ éd., 2016. +1. Butcher, J. C. — //Numerical Methods for Ordinary Differential Equations//, Wiley, 3ᵉ éd., 2016. Conditions d'ordre, sous-détermination des méthodes d'ordre 4 et variante de Gill. 
-4. E. Hairer, S. P. Nørsett, G. Wanner — //Solving Ordinary Differential Equations I: Nonstiff Problems//, Springer, 2ᵉ éd., 1993 (Springer Series in Computational Mathematics, 8). +2. Hairer, E., Nørsett, S. P. & Wanner, G. — //Solving Ordinary Differential Equations I: Nonstiff Problems//, Springer, 2ᵉ éd., 1993 (Springer Series in Computational Mathematics, 8). Méthodes à pas adaptatif et estimation d'erreur. 
-5. R. L. McCoy — //Modern Exterior Ballistics: The Launch and Flight Dynamics of Symmetric Projectiles//, Schiffer, 2ᵉ éd., 2012 (modèles point-masse et 6-DOF). +3. Kutta, W. — //Beitrag zur näherungsweisen Integration totaler Differentialgleichungen//, Zeitschrift für Mathematik und Physik **46** (1901), p. 435-453. La formule classique d'ordre 4, celle que nos solveurs emploient. 
-6. R. L. McCoy — //MC DRAG — A Computer Program for Estimating the Drag Coefficients of Projectiles//, Ballistic Research Laboratory, rapport ARBRL-TR-02293, février 1981.+4. McCoy, R. L. — //MCDRAG — A Computer Program for Estimating the Drag Coefficients of Projectiles//, Ballistic Research Laboratories, rapport technique ARBRL-TR-02293, 1981. 
 +5. McCoy, R. L. — //Modern Exterior Ballistics: The Launch and Flight Dynamics of Symmetric Projectiles//, Schiffer, 2ᵉ éd., 2012. Modèles point-masse et 6-DOF, et l'intégrateur du programme 6-DOF du BRL. 
 +6. Runge, C. — //Ueber die numerische Auflösung von Differentialgleichungen//, Mathematische Annalen **46** (1895), p. 167-178.
  
 ## Voir aussi ## Voir aussi
technique/integration_rk4.1786539780.txt.gz · Dernière modification : de Lepigeon