no commit message

parent ced151a9
{
"cells": [],
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Allumage et combustion d'une poudre propulsive à vulnérabilité réduite "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div style='text-align: justify;'>\n",
"Pour mettre en application les notions apprises au cours de ce module sur la construction d'un document computationnel, j'ai choisi de ré-analysé des données expérimentales issues de mes travaux de thèse. Ce dernier porte sur l'allumage et la combustion de poudres propulsives à vulnérabilité réduite. Les poudres propulsives sont des matériaux énergétiques qui présentent la particularité de générer de grandes quantités de gaz chaud en un temps très court. Elles sont ainsi employées dans le domaine de la défense pour la propulsion de projectiles. Au laboratoire PRISME, à l'IUT de Bourges, nous disposons d'un dispositif expérimental permettant de caractériser l'allumage et la combustion des poudres en mesurant un signal de pression. Ce dispositif est un réacteur fermé dans lequel est placé un grain de poudre. Avant chaque tir, le réacteur est pressurisé à l'aide d'un gaz de pressurisation à une pression initiale $P_{0}$. L'allumage est ensuite réalisé par une diode laser. Si l'allumage est réussi, le grain génère des gaz et un signal de pression est alors obtenu. À partir de ce signal de pression plusieurs grandeurs physiques peuvent être obtenues comme :\n",
"\n",
"- la surpression maximale $\\Delta P_{max}$. Celle-ci est généralement divisée par la masse du grain de poudre *m* afin de s'affranchir ce paramètre ;\n",
"- la vitesse maximale de montée en pression $(\\frac{d\\Delta P}{dt})_{max}$, également divisée par la masse *m*.\n",
" \n",
"Pour chaque condition de tir, un minimum de trois essais est réalisé. Une moyenne est ensuite calculée pour chaque condition testée, ainsi qu'un écart-type pour estimer la dispersion des résultats. Ce sont ces analyses statistiques basiques que je vais réaliser ici. Les données traitées et les résultats présentés dans ce document sont disponibles dans mon article [Laser Ignition of Two Low-Vulnerability RDX-Based Gun Propellants: Influence of the Atmosphere on Ignition and Combustion Properties](https://www.tandfonline.com/doi/full/10.1080/00102202.2023.2182195) qui est en *open access*. Les résultats correspondent à ceux des Figures 3 et 5 sous atmosphère **Air** pour la poudre **P1**. De plus amples informations sur le dispositif et le contexte de l'étude peuvent également y être trouvés.\n",
"</div>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Mise en forme des données"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div style='text-align: justify;'>\n",
"Les données utilisées ont été réécrites dans un fichier .txt. Elles contiennent, pour chaque tir réalisé, la référence du tir, la puissance du laser, l'atmosphère de pressurisation, la pression initiale, la surpression maximale et la vitesse de propagation maximale massiques. Je commence donc par lire le fichier et mettre les données en forme :\n",
"</div>"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"ename": "FileNotFoundError",
"evalue": "[Errno 2] No such file or directory: 'https://app-learninglab.inria.fr/moocrr/gitlab/a12707740afaaa5fb65905502cc0ab13/mooc-rr/blob/master/module2/exo4/Donnees_Module_2_Exercice_2_Partie_4.txt'",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mFileNotFoundError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-1-f6df05c5881e>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mmatplotlib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpyplot\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0mf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"https://app-learninglab.inria.fr/moocrr/gitlab/a12707740afaaa5fb65905502cc0ab13/mooc-rr/blob/master/module2/exo4/Donnees_Module_2_Exercice_2_Partie_4.txt\"\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\"r\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 5\u001b[0m \u001b[0mlines\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreadlines\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mclose\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: 'https://app-learninglab.inria.fr/moocrr/gitlab/a12707740afaaa5fb65905502cc0ab13/mooc-rr/blob/master/module2/exo4/Donnees_Module_2_Exercice_2_Partie_4.txt'"
]
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"f = open(\"https://app-learninglab.inria.fr/moocrr/gitlab/a12707740afaaa5fb65905502cc0ab13/mooc-rr/blob/master/module2/exo4/Donnees_Module_2_Exercice_2_Partie_4.txt\",\"r\")\n",
"lines = f.readlines()[1:]\n",
"f.close()\n",
"\n",
"LaserPower = []\n",
"Atmosphere = []\n",
"InitialPressure = []\n",
"Overpressure = []\n",
"PropagationRate = []\n",
"\n",
"for x in lines:\n",
" LaserPower.append(float(x.split()[1]))\n",
" Atmosphere.append(x.split()[2])\n",
" InitialPressure.append(float(x.split()[3]))\n",
" Overpressure.append(float(x.split()[4]))\n",
" PropagationRate.append(float(x.split()[5])) "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
......@@ -16,10 +100,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.3"
"version": "3.6.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment