tests.tex [SRC] [CPP] [JOB] [SCAN]
DOC / fr



   1 | 
   2 | \chapter{Utilisation des tests}\label{chap_tests}
   3 | Un ensemble de tests a été développé afin de répondre à plusieurs objectifs. Une première partie est orientée utilisateurs et a pour but de tester son installation et ensuite d'appréhender l'utilisation du code de manière automatisée sur des cas d'étude type. La deuxième partie est orientée développeur et permet de tester la validité des modifications ou les performances.
   4 | 
   5 | \section{Téléchargement}
   6 | Les tests sont accessibles dans un dépôt Subversion par la commande suivante :\newline
   7 | \indent \cmd{svn co \url{http://www.cerfacs.fr/prissmasvn/branches/TEST_CASES .}} \newline
   8 | 
   9 | Vous pouvez retrouver une aide rapide sur l'utilisation de Subversion à la section \ref{sec_telechargementDOM}.
  10 | 
  11 | \section{Présentation des configurations utilisées}
  12 | Les différents tests s'appuient sur trois configurations que nous allons détailler dans cette partie.
  13 | 
  14 |     \subsection{le cube}
  15 | Le cube a une longueur $L = 1 \text{m}$. La pression est égale à la pression atmosphérique. La température du milieu se répartit en trois tranches, le bord gauche est à $T=600 \text{K}$, le centre à $T=700 \text{K}$ et le bord droit à $T=800 \text{K}$. Les parois sont noires et la température varie selon les faces. La face gauche est à $T=600 \text{K}$, la face droite à $T=800 \text{K}$ ; la température de la moitié gauche des faces latérales est à $T=666.6666 \text{K}$ et la moitié droite à $T=733.3333 \text{K}$. La composition du milieu est de 10\% pour H$_2$O, 5\% pour CO$_2$ et 75\% pour N$_2$ et des traces de suie ($1.10^{-7}$\%).
  16 | 
  17 | \figScaleX{0.5}{cube}{Configuration du cube.}
  18 | 
  19 |     \subsection{le cylindre homogène et isotherme}
  20 | Le cylindre a une longueur $L = 3 \text{m}$ et un rayon $R = 0.5 \text{m}$. La température du milieu est soit $T=1200 \text{K}$ soit $T = 1800 \text{K}$ et la pression est égale à la pression atmosphérique. Les parois sont noires et ont une température $T=300 \text{K}$. La composition du milieu est de 20\% pour H$_2$O, 10\% pour CO$_2$ et 70\% pour N$_2$. Pour chaque température, deux cas sont envisagés : un cas sans suies et un cas avec des traces de suies ($1.10^{-7}$\%).
  21 | 
  22 |     \subsection{le cylindre inhomogène et anisotherme}
  23 | Le cylindre a une longueur $L = 1.2 \text{m}$  et un rayon $R = 0.3 \text{m}$. Ses parois sont noires et ont une température $T = 800 \text{K}$ sauf la paroi située à $x=L$ qui est à 300K. La pression est égale à la pression atmosphérique. Les profils de température et de fractions molaires des espèces gazeuses H$_2$O et CO$_2$ sont donnés par :
  24 | \begin{equation}
  25 |     \begin{split}
  26 |         T(z,r) = 800 +1200(1-r/R)(z/L), \\
  27 |         X_{H_2O} (z,r) = 0.05 \left[ 1 -2(z/L - 0.5)^2 \right] (2 - r/R), \\
  28 |         X_{CO_2} (z,r) = 0.04 \left[ 1 -3(z/L - 0.5)^2 \right] (2.5 - r/R).
  29 |     \end{split}
  30 | \end{equation}
  31 | 
  32 | \dbfigScale{temp-cas2}{Champ de température le long de l'axe
  33 |   central.}{H2O}{Champ de $X_{H_2O}$ le long de l'axe central.}
  34 | 
  35 | % Les figures \ref{profil_T} et \ref{profil_H2O} les profils de température et de concentration de H$_2$O obtenus avec Paraview à partir du fichier de sortie créé par la routine \texttt{visu}
  36 | % \begin{figure}[!ht]
  37 | %    \centering
  38 | %    \includegraphics[width=10cm]{../img/inhomo_T.png}
  39 | %    \caption{Profil de température en Kelvin du cylindre inhomogène (vue en tranche à z=0)}
  40 | %    \label{profil_T}
  41 | %\end{figure}
  42 | 
  43 | %\begin{figure}[!ht]
  44 | %    \centering
  45 | %    \includegraphics[width=10cm]{../img/inhomo_H2O.png}
  46 | %    \caption{Profil de la concentration de H$_2$O du cylindre inhomogène (vue en tranche à z=0)}
  47 | %    \label{profil_H2O}
  48 | %\end{figure}
  49 | 
  50 | \section{Les tests pour l'utilisateur}
  51 | L'ensemble des tests pour l'utilisateur se situe dans le répertoire users. Le premier test présenté sert à vérifier que son installation du code \code s'est bien passé et que tout est en ordre. Les tests suivants ne sont pas vraiment des tests mais plutôt des études paramétriques où l'on va tester la validité des résultats calculés en les comparant à une référence numérique obtenue avec une autre méthode de calcul considérée comme plus précise, selon les cas : méthode de Monte-Carlo ou du Ray Tracing.
  52 | 
  53 |         \subsection{Tester son installation}\label{sub_test_install}
  54 |             \subsubsection{Présentation}
  55 | Un premier test a été développé pour tester son installation, il s'appuie sur une géométrie très simple : le cube. Le maillage réalisé pour le cube est très grossier (12 mailles uniquement) afin de pouvoir effectuer l'ensemble des calculs très rapidement : le temps de calcul est de l'ordre de la minute. Lors de l'exécution de ce test, un calcul est effectué pour chacun des modèles spectraux. Pour chaque modèle spectral, le résultat obtenu est comparé point par point avec une référence numérique (le résultat du même calcul validé sur une machine) le long d'un rayon. Si tout se passe bien, l'erreur mesurée doit être proche de zéro.
  56 | 
  57 | Si l'erreur obtenue est non négligeable, il faudra reprendre point par point l'installation et vérifier que tout a bien été fait selon les explications fournies au chapitre \ref{chap_install}.
  58 | 
  59 |             \subsubsection{Lancement du test}
  60 | Pour effectuer ce test, il faut se placer dans le répertoire users et lancer la commande :\newline
  61 | \cmd{make TEST\_INSTALL} \newline
  62 | 
  63 |         \subsection{Influence du modèle de discrétisation spatiale}
  64 |             \subsubsection{Présentation}
  65 | Dans cette étude paramétrique, on se place dans une configuration donnée, et on regarde l'influence du choix du modèle de discrétisation spatiale. Cette étude est disponible pour les deux configurations de cylindre. Pour chaque configuration, l'étude est menée pour deux modèles spectraux : le FS SNB-ck et le SNB-ck. Tous les calculs sont effectués avec la quadrature S4. \newline
  66 | 
  67 | Pour le cylindre homogène et isotherme, nous utilisons la version isotherme à $T=1200 \text{K}$ sans trace de suie. Pour le cylindre inhomogène et anisotherme, nous utilisons la configuration sans suie.
  68 | 
  69 |             \subsubsection{Lancement des tests}
  70 | Pour lancer les différentes variantes de cette étude paramétrique, il faut se placer dans le répertoire users des tests et lancer la commande : \newline
  71 | \cmd {make \textit{variante}} \newline
  72 | où \textit{variante} peut prendre les valeurs suivantes :
  73 | \begin{description}
  74 |     \item[SPATIAL\_DISCRETIZATION] cette variante effectue tous les calculs
  75 |     \item[SPATIAL\_DISCRETIZATION\_HOMO] cette variante effectue les calculs de variantes SPATIAL\_DISCRETIZATION\_HOMO\_FSCK et SPATIAL\_DISCRETIZATION\_HOMO\_SNB
  76 |     \item[SPATIAL\_DISCRETIZATION\_HOMO\_FSCK] cette variante effectue les calculs pour les trois modèles de discrétisation spatiale pour le cylindre homogène et isotherme à $T=1200 \text{K}$ sans trace de suie dans la configuration : quadrature S4 et modèle spectral FS SNB-ck
  77 |     \item[SPATIAL\_DISCRETIZATION\_HOMO\_SNB] cette variante effectue les calculs pour les trois modèles de discrétisation spatiale pour le cylindre homogène et isotherme à $T=1200 \text{K}$ sans trace de suie dans la configuration : quadrature S4 et modèle spectral SNB-ck
  78 |     \item[SPATIAL\_DISCRETIZATION\_INHOMO] cette variante effectue les calculs de variantes SPATIAL\_DISCRETIZATION\_INHOMO\_FSCK et SPATIAL\_DISCRETIZATION\_INHOMO\_SNB
  79 |     \item[SPATIAL\_DISCRETIZATION\_INHOMO\_FSCK] cette variante effectue les calculs pour les trois modèles de discrétisation spatiale pour le cylindre inhomogène et anisotherme sans trace de suie dans la configuration : quadrature S4 et modèle spectral FS SNB-ck
  80 |     \item[SPATIAL\_DISCRETIZATION\_INHOMO\_SNB] cette variante effectue les calculs pour les trois modèles de discrétisation spatiale pour le cylindre inhomogène et anisotherme sans trace de suie dans la configuration : quadrature S4 et modèle spectral SNB-ck
  81 | \end{description}
  82 | 
  83 |         \subsubsection{Résultats}
  84 | Les résultats concernant :
  85 | \begin{itemize}
  86 |     \item le cylindre homogène et isotherme sont dans le répertoire users/cyl\_homo/results
  87 |     \item le cylindre inhomogène et anisotherme sont dans le répertoire users/cyl\_inhomo/results
  88 | \end{itemize}
  89 | 
  90 |         \subsection{Influence de la quadrature}
  91 |             \subsubsection{Présentation}
  92 | Dans cette étude paramétrique, on se place dans une configuration donnée, et on regarde l'influence du choix de la quadrature. Cette étude est disponible pour les deux configurations de cylindre. Pour chaque configuration, l'étude est menée pour deux modèles spectraux : le FS SNB-ck et le SNB-ck. Tous les calculs sont effectués avec la discrétisation spatiale DMFS. \newline
  93 | 
  94 | Pour le cylindre homogène et isotherme, nous utilisons la version isotherme à $T=1200 \text{K}$ sans trace de suie. Pour le cylindre inhomogène et anisotherme, nous utilisons la configuration sans suie.
  95 | 
  96 |             \subsubsection{Lancement des tests}
  97 | Pour lancer les différentes variantes de cette étude paramétrique, il faut se placer dans le répertoire users des tests et lancer la commande : \newline
  98 | \cmd {make \textit{variante}} \newline
  99 | où \textit{variante} peut prendre les valeurs suivantes :
 100 | \begin{description}
 101 |     \item[QUADRATURE] cette variante effectue tous les calculs
 102 |     \item[QUADRATURE\_HOMO] cette variante effectue les calculs de variantes QUADRATURE\_HOMO\_FSCK et QUADRATURE\_HOMO\_SNB
 103 |     \item[QUADRATURE\_HOMO\_FSCK] cette variante effectue les calculs pour les six types de quadrature pour le cylindre homogène et isotherme à $T=1200 \text{K}$ sans trace de suie dans la configuration : quadrature S4 et modèle spectral FS SNB-ck
 104 |     \item[QUADRATURE\_HOMO\_SNB] cette variante effectue les calculs pour les six types de quadrature pour le cylindre homogène et isotherme à $T=1200 \text{K}$ sans trace de suie dans la configuration : quadrature S4 et modèle spectral SNB-ck
 105 |     \item[QUADRATURE\_INHOMO] cette variante effectue les calculs de variantes QUADRATURE\_INHOMO\_FSCK et QUADRATURE\_INHOMO\_SNB
 106 |     \item[QUADRATURE\_INHOMO\_FSCK] cette variante effectue les calculs pour les six types de quadrature pour le cylindre inhomogène et anisotherme sans trace de suie dans la configuration : quadrature S4 et modèle spectral FS SNB-ck
 107 |     \item[QUADRATURE\_INHOMO\_SNB] cette variante effectue les calculs pour les six types de quadrature pour le cylindre inhomogène et anisotherme sans trace de suie dans la configuration : quadrature S4 et modèle spectral SNB-ck
 108 | \end{description}
 109 |         \subsection{Influence du modèle spectral}
 110 |             \subsubsection{Présentation}
 111 | Dans cette étude paramétrique, on se place dans une configuration donnée, et on regarde l'influence du choix du modèle spectral. Cette étude est disponible pour les deux configurations de cylindre. Pour chaque configuration, l'étude est menée avec ou sans trace de suie. Tous les calculs sont effectués avec le modèle de discrétisation spatiale DMFS et la quadrature S4. \newline
 112 | 
 113 | Pour le cylindre homogène et isotherme, nous utilisons les deux versions d'isotherme : $T=1200 \text{K}$ et $T=1800 \text{K}$. Pour le cylindre inhomogène et anisotherme, nous utilisons la configuration sans suie.
 114 | 
 115 |             \subsubsection{Lancement des tests}
 116 | Pour lancer les différentes variantes de cette étude paramétrique, il faut se placer dans le répertoire users des tests et lancer la commande : \newline
 117 | \cmd {make \textit{variante}} \newline
 118 | où \textit{variante} peut prendre les valeurs suivantes :
 119 | \begin{description}
 120 |     \item[SPECTRAL] cette variante effectue tous les calculs
 121 |     \item[SPECTRAL\_HOMO] cette variante effectue les calculs de variantes SPECTRAL\_HOMO\_1200K et SPECTRAL\_HOMO\_1800K
 122 |     \item[SPECTRAL\_HOMO\_1200K] cette variante effectue les calculs pour les quatre modèles spectraux pour le cylindre homogène et isotherme à $T=1200 \text{K}$ avec et sans trace de suie dans la configuration : quadrature S4 et modèle de discrétisation spatiale DMFS.
 123 |     \item[SPECTRAL\_HOMO\_1800K] cette variante effectue les calculs pour les quatre modèles spectraux pour le cylindre homogène et isotherme à $T=1800 \text{K}$ avec et sans trace de suie dans la configuration : quadrature S4 et modèle de discrétisation spatiale DMFS.
 124 |     \item[SPECTRAL\_INHOMO] cette variante effectue les calculs de variantes SPECTRAL\_INHOMO\_SOOT et SPECTRAL\_INHOMO\_NOSOOT
 125 |     \item[SPECTRAL\_INHOMO\_SOOT] cette variante effectue les calculs pour les quatre modèles spectraux pour le cylindre inhomogène et anisotherme avec trace de suie dans la configuration : quadrature S4 et modèle de discrétisation spatiale DMFS.
 126 |     \item[SPECTRAL\_INHOMO\_NOSOOT] cette variante effectue les calculs pour les quatre modèles spectraux pour le cylindre inhomogène et anisotherme sans trace de suie dans la configuration : quadrature S4 et modèle de discrétisation spatiale DMFS.
 127 | \end{description}
 128 | 
 129 | On obtient des figures comme les figures \ref{inhomo_Sr} et \ref{homo_Sr}.
 130 | \begin{figure}[!ht]
 131 |     \centering
 132 |     \includegraphics[width=10cm]{../img/inhomo_Sr.png}
 133 |     \caption{Profil du terme source radiatif $S_r$ pour le cylindre inhomogène pour le modèle spectral SNB-ck (vue en tranche à z=0)}
 134 |     \label{inhomo_Sr}
 135 | \end{figure}
 136 | \begin{figure}[!ht]
 137 |     \centering
 138 |     \includegraphics[width=18cm,angle=90]{../img/SPECTRAL_Sr.pdf}
 139 |     \caption{Valeur du terme source radiatif $S_r$ dans les différents cas du cylindre homogène}
 140 |     \label{homo_Sr}
 141 | \end{figure}
 142 | 
 143 |     \subsection{Remise à zéro}
 144 | Au fur et à mesure que l'on effectue des tests, les différentes routines copient et créent des fichiers et accumulent des résultats dans le répertoire results des trois configurations. Pour remettre à zéro ses répertoires, il suffit de se placer dans le répertoire users des tests et lancer la commande : \newline
 145 | \cmd{make CLEAN} \newline
 146 | cela remettra tous les répertoires dans leur état initial.
 147 | 
 148 | 
 149 | \section{Les tests pour le développeur}
 150 | L'ensemble des tests pour le développeur se situe dans le répertoire dev.
 151 | 
 152 |         \subsection{Validation numérique}
 153 |             \subsubsection{Présentation}
 154 | Ce test permet de valider les modifications apportées au code. Le principe est le même que celui défini dans la partie \ref{sub_test_install}. Un calcul est effectué pour chacun des modèles spectraux. Pour chaque modèle spectral, le résultat obtenu est comparé point par point avec une référence numérique (le résultat du même calcul effectué dans une version du code qualifié) le long d'un rayon. Si tout se passe bien, l'erreur mesurée devrait être proche de zéro. En revanche, pour analyser plus finement les modifications, il s'appuie sur un cas plus concret que le cube : le cylindre inhomogène et anisotherme.
 155 |             \subsubsection{Lancement du test}
 156 | Pour effectuer ce test, il faut se placer dans le répertoire compare et lancer la commande :\newline
 157 | \cmd{make COMPARE} \newline
 158 |