Partenaires

CNRS
Logo PHIL
Logo lal



Rechercher

Sur ce site

Sur le Web du CNRS


Accueil du site > Liens > Codes, Software and accelerator schools > Codes and Software > Code Matlab permettant de caractériser un "mesureur d’émittance" par le système des fentes.

Code Matlab permettant de caractériser un "mesureur d’émittance" par le système des fentes.

par BROSSARD Julien - 10 novembre 2010

Le code Matlab présenté ici permet de caractériser (sous certaines hypothèses) la précision d’un système de mesure d’émittance 2D par la méthode des fentes.

Le détail de la méthode est présenté dans l’article de Min Zhang (FERMILAB).

Le code source est disponible ici. En cas d’utilisation, modification, diffusion de ce code, merci d’inclure la phrase suivante dans tout document, notice, rapport, site internet relatif à l’utilisation de ce code :

Code initialement rédigé par Brossard Julien (brossard@lal.in2p3.fr) du Laboratoire de l’Accélérateur Linéaire (IN2P3/CNRS/Université Paris-Sud XI, Orsay). La version initiale du code est librement disponible à cette adresse : http://phil/spip.php?article128

Un mode d’emploi synthétique est disponible ici, ainsi qu’une description des principales variables utilisées dans le code.

Le mesureur d’émittance 2D du CERN présenté dans la note CLIC-809 a été analysé avec ce code. Vous trouverez dans la note "PHIL 2010-013" les principaux résultats de cette analyse.

Pour toutes questions, commentaires, remarques vous pouvez me contacter par mail.

-------- Téléchargement du code --------

Pour utiliser ce programme, il est nécessaire de :

  1. de télécharger le fichier "Version_site_web_PHIL-2.zip"
  2. dé-zipper ce fichier
  3. déposer les 3 fichiers "*.m" dans un même répertoire
  4. lancer (depuis matlab) la commande "dimensionner_slit_geo"

Précision : ce code a été développé et utilisé sous une version Linux de Matlab version 7.6.0.324 (R2008a). D’éventuelles modifications sont à réaliser sous d’autres systèmes ou versions.

-------- Mode d’emploi --------

Après avoir lancé "dimensionner_slit_geo.m" depuis la fenêtre Matlab, le programme affiche plusieurs fenêtres dont la dernière (figure n°66) ressemble à celle-ci : Après cet affichage, le programme attends que l’utilisateur saisisse au clavier le nombre de zones qu’il a identifié (dans le cas présenté ici, la réponse est 3). (le nombre de zone est - dans ce code - nécessairement impair).

Ensuite, le code vous demande de sélectionner le centre de la zone (à x=cste) ou se trouve l’image de la fente la plus excentrée (dans la cas de l’image ci-dessus, il faut - à l’aide de la souris cliquer vers l’abscisse situé à + ou - 1.10-3). Un fois cette sélection réalisée, la figure affiche les zones sélectionnées, et réalise le même calcul sur N (dans le code N est par défaut égal à 10) autres "faisceaux types".

Après traitement de ces N faisceaux, le programme affiche à nouveau la fenêtre n°66 et demande à nouveau à l’utilisateur de sélectionner le centre de la zone (à x=cste) ou se trouve l’image de la fente la plus excentrée. Cette boucle est exécutée autant de fois que nécessaire.

-------- Structure interne du code et définition des variables --------

Le tableau ci-dessous décrit le rôle, les valeurs des différentes variables que l’utilisateur pourra - en fonction de ses besoins propres - modifier dans le corps du programme.

Définitions des faisceaux incidents :

Variable Définition Unité
epsi_rms vecteur contenant les émittances géométriques des faisceaux incidents à tester mm.mrad
sigmax Dimension transverse horizontal (sigma gaussien rms) des faisceaux incidents m
N Nombre de macro-particules du faisceau

Définition du système de fentes :

Variable Définition Unité
L Distance entre la face arrière des fentes et l’écran m
l Largeur des fentes m
e distance entre 2 fentes consécutives (bords à bords) m
epais Epaisseur des fentes m
nl Nombre de fentes (nombre impair)

Divers :

Variable Définition Unité
npaq_max Nombre de faisceaux testés pour chaque couple (dimension transverse, émittance)