avec solinit

Lorsqu'on utilise solinit, deux fichiers sont nécessaires : solinit.choices et perso.inc. Comme précédemment, si l'un des fichiers (ou les deux) manque, un fichier type est créé. Son contenu devra être adapté et la routine relancée.

Le fichier solinit.choices ne contient que le chemin vers le répertoire des fichiers d'entrée (dans notre cas INFILES) :

'./INFILES'         ! *.in directory

Le fichier perso.inc permet de définir les solutions analytiques pour les différents champs nécessaires pour définir le milieu. Pour le cas test présenté au début de ce chapitre, le fichier prend la forme suivante :

      R_ref = 0.3
      L_ref = 1.2
      r = SQRT(z(i)*z(i)+y(i)*y(i))

      T_n(i)     = 800.+1200.*(1.-r/R_ref)*(x(i)/L_ref)

      P_n(i)     = 1.
      XH2O_n(i)  = 0.05*(1.-2. *(z(i)/L_ref-0.5)**2)*(2.-r/R_ref)
      XCO2_n(i)  = 0.04*(1.-3. *(z(i)/L_ref-0.5)**2)*(2.5-r/R_ref)
      XCO_n(i)   = 0.
      XO2_n(i)   = 0.2*(1.-XH2O_n(i)-XCO2_n(i)-XCO_n(i))
      XN2_n(i)   = 0.8*(1.-XH2O_n(i)-XCO2_n(i)-XCO_n(i))
      XSOOT_n(i) = 0.

      kscattering_n(i) = 0.
      kabsorption_n(i) = 0.1
Les différents profils à renseigner sont donc :

Le contenu de ce fichier est utilisé au sein d'une boucle sur les nœuds du maillage et permet donc d'exprimer la valeur de ces différentes grandeurs au nœud. Pour accéder aux coordonnées du nœud, on utilise x(i), y(i) et z(i). Il est également possible d'utiliser les réels suivants pour déclarer des données du système étudié : r, d, x_ref, y_ref, z_ref, R_ref, L_ref, T_ref. Dans l'exemple, on utilise R_ref et L_ref pour définir respectivement le rayon et la longueur du cylindre, ainsi que r pour définir la position radiale du nœud.

D'un point de vue technique, il est fortement conseillé d'écrire le contenu de ce fichier entre la 7ème et la 73ème colonne (incluse), pour des raisons de compatibilité avec certains compilateurs Fortran.

Damien Poitou 2010-06-10