2.1.1 Introduction

L’écriture d’un code d’intégration des équations du mouvement est arrivée tardivement dans mon travail de thèse. Dans le langage accélérateur, on parle souvent de code de tracking. De multiples raisons expliquent ce choix :

Pour commencer, de nombreux codes de tracking avaient déjà été écrits. Par exemple le programme MAD développé continuellement au CERN [50] est largement employé par la communauté des physiciens des accélérateurs. Cependant, généralement à chaque accélérateur correspond un ou plusieurs codes spécifiques. Ces codes sont modifiés, améliorés constamment et localement pour permettre de prendre en compte de nouveaux phénomènes physiques, de nouveaux éléments magnétiques. Très rapidement, le résultat peut être un code volumineux qui, souvent, est adapté à des tâches diverses et variées, allant de la conception d’un accélérateur à l’optimisation de sa dynamique et de ses performances. Le groupe théorie faisceau d’une machine peut être divisé schématiquement en deux sous-groupes : une personne spécialiste et développeur des codes utilisés par les membres du second groupe.

J’ai découvert le monde des accélérateurs au sein de l’équipe du Projet SOLEIL, il y a bientôt trois ans. Lorsque j’ai commencé à étudier la dynamique de SOLEIL, on m’a donné une description de la maille théorique de l’anneau de stockage et le manuel d’utilisation du logiciel BETA [93] pour faire le tracking. Le même processus s’est répété pour l’étude de l’Advanced Light Source avec le code DESPOT [42] (ici il n’y a pas de manuel d’utilisation).

Donc dans un premier temps, les codes d’intégrations se sont résumés à des boîtes noires « censées » donner les bons résultats. De plus, l’écriture d’un code de tracking est considérée comme une tache ardue par les utilisateurs. Mon directeur de thèse, astronome, prétendait le contraire après avoir travaillé avec les physiciens de l’ALS (1993). Initialement, je ne l’ai pas crû. Puis, en travaillant sur différentes sources de lumières (cf. chapitre 3), j’ai dû presque utiliser un code de tracking différent par machine. J’ai été confronté à des problèmes de modélisation, à des incompatibilités entre codes. Plus préoccupant, les codes peuvent donner des résultats complètement différents aux grandes amplitudes du mouvement et parfois même pour les paramètres linéaires. Le temps de calcul peut également être du simple au double suivant les méthodes utilisées.

Enfin, à ces motivations doivent encore s’en ajouter deux autres. Premièrement à ma connaissance, il n’existe pas dans la communauté française2 de code de tracking optimisé et adapté à l’étude de la dynamique à long terme des accélérateurs d’électrons. Deuxièmement, l’équipe Astronomie et Systèmes Dynamiques est un lieu regroupant toutes les compétences nécessaires pour l’écriture d’un tel intégrateur. Ces dernières années, plusieurs intégrateurs y ont d’ailleurs été développés pour la Mécanique Céleste.

Le but principal de ce travail est donc d’obtenir un code de calcul efficace permettant d’intégrer le mouvement d’une particule dans un élément magnétique puis dans l’accélérateur complet. L’intégrateur doit être à la fois rapide pour réaliser des études à long terme (plusieurs millions de tours), précis pour étudier finement la dynamique et valide à grande amplitude pour prendre correctement en compte l’effet des éléments multipolaires. Dans la première version du code, la modélisation des défauts (déplacements, rotations des éléments magnétiques) ne nous intéresse pas ; cependant leur implémentation ne poserait aucune difficulté.

Je vais commencer par décrire les deux grandes approches selon lesquelles les codes numériques de tracking sont écrits. Mais tout d’abord, définissons les notions d’information locale et globale dans un accélérateur (cf. Forest et Hirata, 1992 et Forest, 1998).

Une quantité est appelée locale si elle dérive d’un élément magnétique indépendamment de sa position dans l’anneau et de l’anneau lui-même : intégration d’une particule à travers l’élément, le système de coordonnées de référence, la déviation de l’orbite nominale, le champ magnétique ou l’enveloppe du faisceau.

Une quantité est dite globale si elle ne peut être déduite qu’à partir de la connaissance de l’anneau complet : l’orbite fermée, les nombres d’ondes, les fonctions de Twiss ou l’émittance d’équilibre.