Projet informatique Master 2 Simulation d un diagramme d Hubble



Documents pareils
Les objets très lointains

Comment dit-on qu'une étoile est plus vieille qu'une autre ou plus jeune qu'une autre?

Les moyens d observations en astronomie & astrophysique

Chapitre 02. La lumière des étoiles. Exercices :

Panorama de l astronomie

1.6- Génération de nombres aléatoires

Introduction au pricing d option en finance

FORMATION ET FONCTIONNEMENT D'UNE ETOILE

SUIVI CINETIQUE PAR SPECTROPHOTOMETRIE (CORRECTION)

Panorama de l astronomie. 7. Spectroscopie et applications astrophysiques

Magnitudes des étoiles

Comprendre l Univers grâce aux messages de la lumière

Quelques liens entre. l'infiniment petit et l'infiniment grand

Stockage ou pas stockage?

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

OM 1 Outils mathématiques : fonction de plusieurs variables

Ecran : Processeur : OS : Caméra : Communication : Mémoire : Connectique : Audio : Batterie : Autonomie : Dimensions : Poids : DAS :

Texte Agrégation limitée par diffusion interne

Analyse des bruits de clavier d ordinateur

Spectrophotomètre double faisceau modèle 6800

TP Modulation Démodulation BPSK

Mesures de PAR. Densité de flux de photons utiles pour la photosynthèse

LE CATALOGUE MESSIER

EXERCICE 2 : SUIVI CINETIQUE D UNE TRANSFORMATION PAR SPECTROPHOTOMETRIE (6 points)

Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai.

Fluctuation d une fréquence selon les échantillons - Probabilités

Si la source se rapproche alors v<0 Donc λ- λo <0. La longueur d onde perçue est donc plus petite que si la source était immobile

Statistique : Résumé de cours et méthodes

Niveau 2 nde THEME : L UNIVERS. Programme : BO spécial n 4 du 29/04/10 L UNIVERS

Cours 7 : Utilisation de modules sous python

Recherche De Coalescences Binaires Étalonnage Du Détecteur

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

CORRIGES DES CAS TRANSVERSAUX. Corrigés des cas : Emprunts

Objets et Programmation. origine des langages orientés-objet

Opérations de base sur ImageJ

DIFFRACTion des ondes

Celestia. 1. Introduction à Celestia (2/7) 1. Introduction à Celestia (1/7) Université du Temps Libre - 08 avril 2008

Qualité du logiciel: Méthodes de test


«J ai testé les meilleures stratégies pour gagner sur les actions», Cédric Froment

MOND avec ou sans matière noire

Fonctions de deux variables. Mai 2011

Statistiques Descriptives à une dimension

TP 03 B : Mesure d une vitesse par effet Doppler

C++ Programmer. en langage. 8 e édition. Avec une intro aux design patterns et une annexe sur la norme C++11. Claude Delannoy

Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN

G.P. DNS02 Septembre Réfraction...1 I.Préliminaires...1 II.Première partie...1 III.Deuxième partie...3. Réfraction

TP: Représentation des signaux binaires. 1 Simulation d un message binaire - Codage en ligne

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

Examen d informatique première session 2004

Chapitre 6 : les groupements d'étoiles et l'espace interstellaire

Chapitre 6 La lumière des étoiles Physique

TP : Gestion d une image au format PGM

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

TP 2: LES SPECTRES, MESSAGES DE LA LUMIERE

Premiers Pas en Programmation Objet : les Classes et les Objets

Comment parier jute sur les sites de paris sportifs

Antivol de Fuel. Boitier GPS VT1000 adapté. Auteur : Sena Raj JUGANAIKLOO / Sena Computer

Algorithmique et Programmation, IMA

Java Licence Professionnelle CISII,

Systèmes de transmission

IFT3355: Infographie Sujet 6: shading 7 (illumination globale 4)

Introduction à la Programmation Parallèle: MPI

Système de contrôle d accès Codelock avec clavier de codage CL12

Atelier : L énergie nucléaire en Astrophysique

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

I. Introduction aux fonctions : les fonctions standards

Proces-Verbaux Procédure de téléchargement

Utilisation du Cloud StratusLab dans le cadre d application astroparticule à l APC

Créer un album photo

4. Exercices et corrigés

Programmation système de commandes en C

Diagramme de déploiement

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.

Ordinateurs, Structure et Applications

Tout savoir sur. la fibre optique. Livret didactique

LE COSMODETECTEUR : UN EXEMPLE DE CHAÎNE DE MESURE

TD de supervision. J.P. Chemla. Polytech Tours Département productique 2ème année

Spectrophotométrie - Dilution 1 Dilution et facteur de dilution. 1.1 Mode opératoire :

Manuel d'utilisation de la maquette

Quad 110 cc - 4 temps - 60 Km/h - QUAD1101 (Lot 10 pcs)

LES REGLEMENTS AVEC SOCIEL.NET DERNIERE MISE A JOUR : le 14 juin 2010

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Simulations hydrodynamiques relativistes de la phase émission rémanente dans les GRB. Séminaire au L.U.Th, Observatoire de Paris

TP1 : Initiation à Java et Eclipse

Corrigés des premiers exercices sur les classes

1 Comment faire un document Open Office /writer de façon intelligente?

GESTION DE L OptoAMC Via AREASanté

Mise en pratique : Etude de spectres

Activité 1 : Rayonnements et absorption par l'atmosphère - Correction

Chapitre 10. Les interfaces Comparable et Comparator 1

1. Vocabulaire : Introduction au tableau élémentaire

Généralités. Aperçu. Introduction. Précision. Instruction de montage. Lubrification. Conception. Produits. Guides à brides FNS. Guides standards GNS

Introduction à MATLAB R

MESURE ET PRECISION. Il est clair que si le voltmètre mesure bien la tension U aux bornes de R, l ampèremètre, lui, mesure. R mes. mes. .

Aide - mémoire gnuplot 4.0

3 Approximation de solutions d équations

EFFET DOPPLER EXOPLANETES ET SMARTPHONES.

LES CARACTERISTIQUES DES SUPPORTS DE TRANSMISSION

Transcription:

Projet informatique Master 2 Simulation d un diagramme d Hubble Florent Marmol sous la direction de dominique Fouchez

Sommaire I.Directives du projet... 3 II. Méthodologie... 3 2.1 Simulation du diagramme d Hubble théorique... 3 2.2 Introduction des dispersions... 4 2.3 Dispersion stretch... 4 2.4 Dispersion en couleur... 4 2.5 Dispersion totale... 4 2.6 Méthode de standardisation... 5 2.7 Diagramme d Hubble observé... 5 2.8 Diagramme d Hubble observé avec coupure... 5 III. Résultats... 6 3.1 Résultats avec toutes les corrections... 6 3.2 Résultats avec coupure à 24 et toutes les corrections... 6 3.3 Résultats sans aucunes corrections... 7 3.4 Résultats avec correction stretch... 7 3.5 Résultats avec correction couleur... 7 IV. Conclusion... 7 Annexes... 8 2

I.Directives du projet Le projet informatique est composé de deux parties. La première consiste à reproduire un diagramme d Hubble théorique à partir des équations de Friedmann-Lemaître. Le diagramme d Hubble est l un des outils les plus importants de la cosmologie, grâce à celui-ci il est possible de déterminer les valeurs de la densité de matière de l univers ainsi que celle de l énergie noire. Ces paramètres sont fondamentaux pour comprendre l évolution de l univers et sa composition. Ce diagramme consiste à tracer les magnitudes relatives des supernovae de type Ia, véritables balises de l univers, en fonction de leur redshift. Les supernovae de type Ia permettent de déterminer les distances à partir de leur caractéristique commune ; la luminosité lors de leur explosion. La première partie du projet consistera aussi à introduire des dispersions physiques et observationnelles de ces magnitudes, et d en mesurer l effet sur la détermination des densités. Une méthode de standardisation sera alors utilisée afin de réduire ces dispersions. Cette deuxième partie du projet a pour objet de constater l impact de la coupure en magnitude sur l évaluation des densités. Cette coupure qui correspond à une réalité physique, est la conséquence des limites de l astronomie optique. Ainsi un certain nombre de supernovae de type Ia ne peuvent pas être observées, ce qui va modifier le diagramme d Hubble. Mais aussi de mesurer l effet des dispersions sur ces densités. Ce projet informatique s inscrit dans les travaux du Groupe RENOIR au Centre de Physique des Particules de Marseille sous la direction de dominique Fouchez. II. Méthodologie 2.1 Simulation du diagramme d Hubble théorique La simulation du diagramme d Hubble est réalisée par la combinaison de 2 outils. Le premier consiste à faire les différents calculs à partir d un programme C++ pour produire les valeurs simulées. Celles-ci sont alors utilisées sous Root pour tracer graphiquement le diagramme d Hubble. Pour calculer les magnitudes des supernovae il faut connaître leur redshift z. Ces redshifts seront générés aléatoirement sous C++. Les magnitudes sont alors calculées par les formules suivantes : m ( z) M 5log( dl( z)) 5 Avec z (1 z) c dz' dl( z) H 3 (1 z') (1 )(1 z' )² M M Où m(z) est la magnitude, M la magnitude absolue, dl(z) la distance lumineuse, H la constante d Hubble, Ω M la densité de matière, Ω Λ la densité de l énergie noire. Ainsi le programme contient 3 fonctions pour faire ce calcul ; la première calcule la partie sous l intégrale de la formule précédente. Les valeurs des densités connues aujourd hui sont entrées manuellement dans le programme. 3

La deuxième fonction fait une intégration numérique et retourne dl(z). Une formule composite de la méthode du rectangle à été utilisée pour calculer cette intégrale. La fonction sous l intégrale est quasi-linéaire sur des redshifts allant de à 1 (ce qui correspond aux valeurs observationnelles en astronomie optique) justifiant cette méthode. La troisième fonction calcule finalement la magnitude associée à son redshift. 2.2 Introduction des dispersions Les supernovae de type Ia sont considérés comme des chandelles standards, pourtant il existe une dispersion intrinsèque dans leur magnitude. Il existe des dispersions dans les mesures mais celle-ci sont négligeables par rapport aux précédentes Toutes ces dispersions sont implantées dans le programme sous forme de fonction gaussienne avec un écart-type σ typique. Pour créer ces dispersions, il faut d abord tirer une probabilité entre et 1 de manière «équitable». Cette probabilité est ensuite insérer dans la fonction gaussienne pour en tirer la valeur de la dispersion. 2.3 Dispersion stretch Le stretch est associé à la vitesse de décroissance des courbes de lumière des supernoae. La dispersion stretch est paramétrisée de la manière suivante : m observé m ( s 1)* Avec s qui est tiré aléatoirement de façon gaussienne avec un σ de.1 et α est une constante dont la valeur est de 1.4. Cette méthode sera utilisé pour toutes les dispersions afin de créer une population de supernovae telle que la verrai un observateur. 2.4 Dispersion en couleur La dispersion couleur vient du fait que l observateur voit sa population de supernovae selon un filtre optique. Le plus souvent dans le domaine du bleu. Cependant quand le redshift augmente on constate un décalage spectral vers le rouge du pic de luminosité. Il faut paramétriser ceci par la formule suivante : m observé m * c Avec c qui est tiré aléatoirement de façon gaussienne avec un σ de.2 et β est une constante dont la valeur est 2. 2.5 Dispersion totale On obtient ainsi le calcul des magnitudes des supernovae en fonction de leur redshift et des différentes dispersions par la formule suivante : m observé m * c ( s 1) * 4

Magnitude Magnitude 2.6 Méthode de standardisation La méthode de standardisation à pour objectif de supprimer toutes ces dispersions, on peut alors définir la magnitude corrigée par la formule suivante : m corrigée 2.7 Diagramme d Hubble observé m observé * c ( s 1) * La magnitude avec ses dispersions permet donc enfin d avoir un échantillon d une population de supernovae de typer Ia. Voici le résultat obtenu sur un diagramme d Hubble : 3 25 2 15 1 5 Diagramme d'hubble,2,4,6,8 1 1,2 z Figure 1 : Diagramme d Hubble avec toutes les dispersions 2.8 Diagramme d Hubble observé avec coupure 3 25 2 15 1 5 Diagramme d'hubble avec coupure,2,4,6,8 1 1,2 z Figure 2 : Diagramme d Hubble avec toutes les dispersions et coupure en magnitude à 24 5

Densité Densité La figure 2 montre le vrai diagramme d Hubble vu par un observateur car la coupure en magnitude est une réalité physique. Une fois le diagramme obtenu, il est possible de déterminer les densités et les erreurs associées à celles-ci grâce à un programme réalisé par dominique Fouchez pour faire correspondre au mieux la simulation à la théorie. Evidemment les valeurs trouvées sont celles implantés dans le programme. Mais ce qui est intéressant c est de voir l impact sur les valeurs centrales et surtout sur les erreurs en faisant varier les différents paramètres ; comme la coupure en magnitude à hauts redshifts et les différentes corrections. Pour pouvoir utiliser le programme de «fit» il faut utiliser l interface de Root (voir les lignes de commandes dans la section Annexes). III. Résultats 3.1 Résultats avec toutes les corrections,8,6,4,2 1 2 3 4 5 6 7 8 9 1 ΩM,29,284,23,272,351,283,326,323,264,288 ΩΛ,72,69,645,682,756,691,727,736,68,71 Moyennes : Ω M =.291 et Ω Λ =.71 σ ΩM =.732 et σ ΩΛ =.623 3.2 Résultats avec coupure à 24 et toutes les corrections 1,8,6,4,2 1 2 3 4 5 6 7 8 9 1 ΩM,299,269,32,358,388,4,382,46,288,371 ΩΛ,712,675,711,744,782,776,765,834,692,757 Moyennes : Ω M =.354 et Ω Λ =.745 σ ΩM =.13 et σ ΩΛ =.82 6

Densité Densité Densité 3.3 Résultats sans aucunes corrections,8 1,6,4,2 1 2 3 4 ΩM,154,299,541,736 ΩΛ,61,648,949,546 Moyennes : Ω M =.267 et Ω Λ =.686 σ ΩM =.335 et σ ΩΛ =.24 3.4 Résultats avec correction stretch 1,2,8 1,6,4,2 1 2 3 4 5 6 7 ΩM,237,666,633,69,49,228,272 ΩΛ,66,998,951,967,481,687,686 Moyennes : Ω M =.396 et Ω Λ =.775 σ ΩM =.37 et σ ΩΛ =.461 3.5 Résultats avec correction couleur Moyennes : IV. Conclusion 1,8,6,4,2 1 2 3 4 5 6 7 8 9 1 ΩM,12,16,244,285,321,52,17,217,223,351 ΩΛ,527,622,646,68,718,878,66,634,621,743 Ω M =.261 et Ω Λ =.667 σ ΩM =.124 et σ ΩΛ =.16 Les résultats montrent clairement qu appliquer une méthode de standardisation améliore significativement la détermination de la valeur centrale et erreur des densités. L autre résultat important est celui de l influence de la coupure en magnitude. Celle-ci pourrait paraître tout d abord comme très néfaste aux résultats. Cependant si les corrections sont appliquées, son impact est très fortement minimisé, jusqu'à obtenir des valeurs très proches de la réalité. 7

Annexes Programme en C++ : /// ///Simulation d'une population de SN Ia pour tracer un diagramme d'hubble/// ///Auteur: Florent Marmol/////////////////////////////////////////////////////// /// #include <time.h> #include <stdio.h> #include <stdlib.h> #include <time.h> #include <iostream.h> #include <math.h> #include <iomanip.h> #include <fstream> float* tableauz; float* tableaudl; float* tableaum; float* tableaumerror; float* tableauzcut; float* tableaumcut; float* tableaumcuterror; float* tableaus; float* tableauc; float* tableauscut; float* tableauccut; int accumulateur; float* tableaudisp1; float nombrealeatoire(float min, float max) return (min + ((float) rand() / RAND_MAX * (max - min))); float h_z(float z) float OM,OL; OL=.7; OM=.3; return (1/sqrt(OM*(1+z)*(1+z)*(1+z)+OL+(1-OM-OL)*(1+z)*(1+z))); //Je définie la function qui fait l intégration numérique float integration_h_z(float z) 8

float N=1; float accumulateur=.; for (int i=;i<n;i++) accumulateur = accumulateur + h_z(i*z/n); return z/n*accumulateur; // Je définie la fonction qui calcule la distance lumineuse en fonction de z float dl_z(float z) int H=7; double c= 3e5; return((c*(1+z)/h)*integration_h_z(z)); // Je définie la fonction qui calcule la magnitude en fonction de la // distance lumineuse float magnitude(float dl) //dl doit etre exprime en pc dans cette formule float M=-19.31; return (M+5*log1(dl*1)); /////////////////////////////////////////////////////////////////////////////// float gaussienne(float sigma) float p=.; float a=.; float x=.; float y=.; p=nombrealeatoire(.,1.); a=nombrealeatoire(-1.,1.); x= sqrt(-2*sigma*sigma*log(p)); if (a>=) y=x; if (a<) y=-x; return y; /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// 9

void lecture_simu(float sigmadisp1, float sigmas, float sigmac, float coupure, int nb ) srand(time(null)); float max=1; int l=; tableauz= new float[nb]; tableaudl= new float[nb]; tableaum= new float[nb]; tableaumerror= new float[nb]; tableaus= new float[nb]; tableauc= new float[nb]; tableaudisp1= new float[nb]; for (int i=; i<nb;i++) float disp1=gaussienne(sigmadisp1); tableaudisp1[i]=disp1; float c=gaussienne(sigmac); tableauc[i]=c; float s=gaussienne(sigmas)+1; tableaus[i]=s; for (int i=; i<nb; i++) float z=nombrealeatoire(.,max); float dl = dl_z(z); float error=sqrt(sigmadisp1*sigmadisp1); tableaumerror[i]=error; tableauz[i]=z; tableaudl[i]=dl; float m = magnitude(dl); //on introduit une dispersion dans les valeurs des magnitudes m = m + tableaudisp1[i]/2 + (tableaus[i]-1)*1.4-2*tableauc[i]; tableaum[i]=m; accumulateur=; 1

for (int j=;j<nb;j++) if (tableaum[j]<coupure) accumulateur++; tableauzcut= new float[accumulateur]; tableaumcut= new float[accumulateur]; tableaumcuterror= new float[accumulateur]; tableauscut= new float[accumulateur]; tableauccut= new float[accumulateur]; for (int k=;k<nb;k++) if (tableaum[k]<coupure) tableaumcut[l]=tableaum[k]; tableauzcut[l]=tableauz[k]; tableaumcuterror[l]=tableaumerror[k]; tableauscut[l]=tableaus[k]; tableauccut[l]=tableauc[k]; l++; //Ici on fait la correction apres la coupure for (int n=;n<accumulateur;n++) tableaumcut[n]=tableaumcut[n]-(tableauscut[n]-1)*1.4+ 2*tableauccut[n]; //Ici on fait la correction sans la coupure for (int p=;p<nb;p++) tableaum[p]=tableaum[p]-(tableaus[p]-1)*1.4+ 2*tableauc[p]; 11

Commandes sous Root :.L fint.c+.l testhubble.c+ lecture_simu() TGraph *gsimu = new TGraphErrors(1,tableauz,tableaum,,tableaumerror) gsimu.draw("ap") ff = new TF1("ff",mobs,,2,5) ff->setparameters(.,.,.,.26,.74) ff->fixparameter(,.) ff->fixparameter(1,.) ff->fixparameter(2,.) ff->setparlimits(4,.,1.) ff->setparlimits(3,.,1.) gsimu->fit(ff,"r") TGraph *gsimu = new TGraphErrors(accumulateur,tableauzcut,tableaumcut,,tableaumcuterror) gsimu.draw("ap") ff = new TF1("ff",mobs,,2,5) ff->setparameters(.,.,.,.26,.74) ff->fixparameter(,.) ff->fixparameter(1,.) ff->fixparameter(2,.) ff->setparlimits(4,.,1.) ff->setparlimits(3,.,1.) gsimu->fit(ff,"r") 12