c@a
c@versb
C-----------------------------------------------------------------------
C
CVERS                  Code_Saturne version 1.3
C                      ------------------------
C
C     This file is part of the Code_Saturne Kernel, element of the
C     Code_Saturne CFD tool.
C
C     Copyright (C) 1998-2008 EDF S.A., France
C
C     contact: saturne-support@edf.fr
C
C     The Code_Saturne Kernel is free software; you can redistribute it
C     and/or modify it under the terms of the GNU General Public License
C     as published by the Free Software Foundation; either version 2 of
C     the License, or (at your option) any later version.
C
C     The Code_Saturne Kernel is distributed in the hope that it will be
C     useful, but WITHOUT ANY WARRANTY; without even the implied warranty
C     of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
C     GNU General Public License for more details.
C
C     You should have received a copy of the GNU General Public License
C     along with the Code_Saturne Kernel; if not, write to the
C     Free Software Foundation, Inc.,
C     51 Franklin St, Fifth Floor,
C     Boston, MA  02110-1301  USA
C
C-----------------------------------------------------------------------
c@verse
                        SUBROUTINE MTINI1
C                       *****************
C     -------------------------------------------------------------
C     -------------------------------------------------------------
C***********************************************************************
C  FONCTION  :
C  ---------
c@foncb
CFONC
CFONC          INITIALISATION DES COMMON MATISSE
c@fonce
C-----------------------------------------------------------------------
C                             ARGUMENTS
c@argub
CARGU .______________.____._____.______________________________________.
CARGU !    NOM       !TYPE!MODE !                   ROLE               !
CARGU !______________!____!_____!______________________________________!
CARGU !______________!____!_____!______________________________________!
c@argue
C
c@commb
CCOMM                             COMMONS
CCOMM .______________.____._____.______________________________________.
CCOMM !    NOM       !TYPE!MODE !                   ROLE               !
CCOMM !______________!____!_____!______________________________________!
CCOMM !______________!____!_____!______________________________________!
c@comme
C
C     TYPE : E (ENTIER), R (REEL), A (ALPHANUMERIQUE), T (TABLEAU)
C            L (LOGIQUE)   .. ET TYPES COMPOSES (EX : TR TABLEAU REEL)
C     MODE : -> DONNEE, <- RESULTAT, <-> DONNEE MODIFIEE,
C            - TABLEAU DE TRAVAIL
C***********************************************************************
C
      IMPLICIT NONE
C
C***********************************************************************
C     DONNEES EN COMMON
C***********************************************************************
C
      INCLUDE "paramx.h"
      INCLUDE "numvar.h"
      INCLUDE "optcal.h"
      INCLUDE "ihmpre.h"
      INCLUDE "matiss.h"
      INCLUDE "cstphy.h"
      INCLUDE "cstnum.h"
      INCLUDE "entsor.h"
      INCLUDE "parall.h"
C
C***********************************************************************
C
C ARGUMENTS
C
C VARIABLES LOCALES
C
      INTEGER          II    , JJ    , KK
      INTEGER          IPHAS
      INTEGER          IARRET
      DOUBLE PRECISION TSOR0
      DOUBLE PRECISION XMAPMN, XMAPMX
      DOUBLE PRECISION XMAPVL
      DOUBLE PRECISION CXSD  , CYSD  , POR0
      DOUBLE PRECISION USTMAT, DRFMAT
      DOUBLE PRECISION PRFMAT, ERFMAT, SRFMAT
C
C***********************************************************************
C
C=======================================================================
C 1. PAR DEFAUT MATISSE N'EST PAS ACTIVE
C=======================================================================
C
C     Ceci doit etre present en dehors du if defined xml :
C       on ne peut activer Matisse que avec IHM et XML
C
C     Ainsi, dans les autres sous-programmes Matisse, il est inutile de
C       tester si l'interface ou Xml sont disponibles (en effet, si
C       l'interface ou Xml ne sont pas disponibles, mtini1 est le seul
C       sous-programme Matisse dans lequel on entre).
C
      IMATIS = 0
C
C
#if defined(_CS_HAVE_XML)
C
C
C=======================================================================
C 2. LECTURE DE LA BALISE MATISSE EN XML (si xml present)
C=======================================================================
C
C --- Lecture de IMATIS
C     (si IHM presente ; sinon, Matisse ne sera pas actif)
C
      IF (IIHMPR.EQ.1) THEN
        CALL CSMTPR(IMATIS)
      ENDIF
C
C --- Si Matisse n'est pas actif, on sort a la fin du if
C     Sinon, on lit les donnees, on les traite, ...
C
      IF (IMATIS.EQ.1) THEN
C
C
C=======================================================================
C 3. REMPLISSAGE DES COMMONS A PARTIR DU XML
C=======================================================================
C
C On remplit les COMMON  de données géométriques et physiques
C  a partir du contenu du fichier xml
C
C --- /IMTGEO/
C
        CALL CSGEIN(NPTRAN, NPLGRS, NELGRS, NCHEST, NETRAN, ITYPEN)
C
C --- /RMTGEO/
C
        CALL CSGEDB(EPREGI, EPCHEM, HCONVE, RCONVE, HCHALI, HCHEVA,
     &              HFTTOI, PTRRES, FRDTRA, PLGRES, EPCHEL, DMCONT)
C
C --- /IMTPHY/
C
        CALL CSPHAT(IMDCNT, ICOFOR, ICONLG, IALVEO)
C
C --- /RMTPHY/
C
        CALL CSPHDB(DTDTMX, PUICON, TINIT,  TCRIT,  EMICON, EMIMUR,
     &              HEPCNT, DHPCNT, DEBMAS, PDCCHA, PDCFCH, DHCHEA,
     &              SDCHEA, PDCCHE, PDCCCH, DHCHES, SDCHES, PDCALG,
     &              PDCATV, ARGAMT, PDCSLG, PDCSTV, ARGAVL, AMPPDC,
     &              DHALVE, HRESO,  HPLEN,  DPVENT)
C
C --- Cartes 2D et 3D
C
        DO II = 1, NCARTE
          DO JJ = 1, NMTDIR
            CALL CSNBMP(JJ,II, NZOCAR(JJ,II))
            IF (NZOCAR(JJ,II) .GT. NZONMX) THEN
              WRITE(NFECRA,9011) NZOCAR(JJ,II), NZONMX
              CALL CSEXIT (1)
            ENDIF
          ENDDO
        ENDDO
C
        DO II = 1, NCARTE
          DO JJ = 1, NMTDIR
            DO KK = 1 , NZOCAR(JJ,II)
              CALL CSDFMP (KK ,JJ, II, XMAPMN, XMAPMX, XMAPVL)
              VIZCAR(1, KK, JJ, II) = XMAPMN
              VIZCAR(2, KK, JJ, II) = XMAPMX
              IF (II.EQ.ICPUIS) THEN
                VCARTH(KK, JJ) = XMAPVL
              ENDIF
            ENDDO
          ENDDO
        ENDDO
C
C
C=======================================================================
C 4. CALCULS COMPLEMENTAIRES AVANT VERIFICATIONS
C=======================================================================
C
C     Variables en common
C
C --- Hauteur d'erosion reduite a un nombre entier de mailles
        HERCNT = EPCHEL*INT(HEPCNT/EPCHEL)
C
C
C=======================================================================
C 5. VERIFICATIONS
C=======================================================================
C
C --- Par defaut, tout est suppose correct (on ne s'arretera donc pas)
        IARRET = 0
C
C
C --- Matisse n'est pas parallele
C
        IF (IRANGP.GE.0) THEN
          IARRET = 1
          WRITE(NFECRA,9001)
        ENDIF
C
C
C --- NSCAUS = 3
C     Matisse a besoin de 3 scalaires et 3 seulement
C     Des developpements supplementaires sont necessaires pour
C       que d'autres scalaires utilisateurs puissent etre pris en compte
C       (exemple : acces a ustssc)
C
        IF(NSCAUS.NE.3) THEN
          IARRET = 1
          WRITE(NFECRA,9021) NSCAUS
        ENDIF
C
C
C --- TCRIT > TINIT (cf calcul de VITREF)
C     TCRIT est la "Temperature d'air de sortie critique en degres C"
C       c'est une estimation de la temperature de l'air en sortie de
C       l'entrepot et donc naturellement strictement superieure a TINIT
C
        IF(TCRIT.LE.TINIT) THEN
          IARRET = 1
          WRITE(NFECRA,9031) TCRIT, TINIT
        ENDIF
C
C
C --- RCONVE = 1 si 2D
C     RCONVE est le rapport du convergent represente sur le maillage.
C       Attention, "respresente sur le maillage" est important :
C         il ne s'agit pas du convergent reel.
C       En 2D, il ne peut pas y avoir de convergent (le convergent
C         reduit la dimension X, transverse, des cheminees) et RCONVE
C         est donc necessairement unite.
C       Pour savoir si l'on fait une simulation 2D, on regarde si
C         FRDTRA est non unite (necessaire mais non suffisant : FRDTRA
C         non unite indique que l'on represente une configuration
C         3D par un calcul 2D, i.e. a une seule maille dans la
C         direction X).
C
        IF ( (ABS(FRDTRA-1.D0).GE.EPZERO).AND.
     &       (ABS(RCONVE-1.D0).GE.EPZERO)     ) THEN
          IARRET = 1
          WRITE(NFECRA,9041) FRDTRA, RCONVE
        ENDIF
C
C
C --- Si on modelise les panaches, la hauteur doit etre correcte
C     HERCNT est la hauteur reduite a un numbre entier de mailles
C       dans la direction verticale : c'est la hauteur que l'on
C       va reellement prendre en compte dans le calcul. Elle doit
C       etre positive et ne pas depasser la hauteur de l'espace
C       libre au dessus des colis :
C
C       HERCNT > 0 et HERCNT <= NCHEST*EPCHEL-HRESO
C
        IF(IMDCNT.EQ.1) THEN
          IF ( (HERCNT.LE.0.D0).OR.
     &         (HERCNT.GT.NCHEST*EPCHEL-HRESO) ) THEN
            IARRET = 1
            WRITE(NFECRA,9051) IMDCNT,
     &           HEPCNT, HERCNT,
     &           NCHEST*EPCHEL, NCHEST, EPCHEL, HRESO,
     &           HERCNT, NCHEST*EPCHEL-HRESO
          ENDIF
        ENDIF
C
C
C --- ARRET EVENTUEL
C
        IF(IARRET.NE.0) THEN
          CALL CSEXIT (1)
C         ===========
        ENDIF
C
C
C=======================================================================
C 6. VALEURS PAR DEFAUT
C=======================================================================
C
C === On ne traite qu'une seule et unique phase
C ===========================================================
C
C     On ne le dit qu'une fois, au debut, pour eviter d'en oublier
C
        IPHAS = 1
C
C
C === Options numeriques
C ===========================================================
C
C
C --- IPHYDR = 0 à cause des pertes de charges dans la cheminee
C     Plus exactement, a cause des pertes de charges en
C       sortie, avec presence de gravite.
C     A noter, cependant, qu'il semble que meme avec ICALHY = 0
C       l'option IPHYDR cause des problemes (et que c'était déjà le cas
C       dans les premieres versions de Matisse, puisque l'option etait
C       certes proposee par défaut =1, mais mise systematiquement =0
C       dans tous les cas de calcul).
C     Bien qu'il s'agisse de la valeur par defaut de Code_Saturne 1.2,
C       on laisse l'option ici dans la mesure ou des tests
C       supplementaires seraient necessaires pour comprendre pourquoi
C       on rencontre des difficultes avec les configurations etudiees
C       dans Matisse.
C
        IPHYDR = 0
C
C
C --- Par contre, l'extrapolation de la pression fournit des resultats
C       satisfaisants. Elle est utile et ne fait pas apparaitre de
C       probleme sur les cas testes.
C
        EXTRAG(IPR(IPHAS)) = 1.D0
C
C
C --- IPUCOU prend sa valeur par defaut de Code_Saturne 1.2
C     L'option est cependant conservee ici, dans la mesure ou elle
C       etait prise egale a 1 auparavant et ou cela fait une difference
C       (toute petite, certes, mais on garde ici la ligne pour memoire).
C
        IPUCOU = 0
C
C
C --- Pas de convection pour les temperatures solides
C     Pas de phenomene diffusif pour les parois (le rayonnement est
C       traite par terme source)
C
        ICONV(ISCA(ITPCMT)) = 0
        ICONV(ISCA(ITPPMT)) = 0
        IDIFF(ISCA(ITPPMT)) = 0
C
C
C --- Schema convectif : robuste
C
        BLENCV(IU(IPHAS)) = 0.0D0
        BLENCV(IV(IPHAS)) = 0.0D0
        BLENCV(IW(IPHAS)) = 0.0D0
        IF(NSCAUS.GE.1) THEN
          DO II = 1, NSCAUS
            BLENCV(ISCA(II)) = 0.0D0
          ENDDO
        ENDIF
C
C
C === Proprietes physiques et pas de temps
C ===========================================================
C
C
C --- Connectivite du rayonnement a calculer
C     (au premier passage dans mttssc)
C
        ICNROK = 0
C
C
C --- Masse volumique, chaleur massique
C
C     On prend comme reference :
C     - la masse volumique RRFMAT a la temperature TRFMAT en degres C
C     - on utilise la loi des gaz parfaits
C     - on fixe CP0
C
        RO0(IPHAS) = (TRFMAT + TKELVI)*RRFMAT /(TINIT + TKELVI)
        CP0(IPHAS) = CRFMAT
C
C     On fixe P0 a 1 atm et PRED0 a 0
C     La reference de pression est prise au niveau de l'alimentation
        P0(IPHAS) = 1.013D5
        PRED0(IPHAS) = 0.D0
        XYZP0(1,IPHAS) = 0.D0
        XYZP0(2,IPHAS) = 0.D0
        XYZP0(3,IPHAS) = HCHALI
        IXYZP0(IPHAS) = 1
C
C
C --- Vitesse de reference
C     pour le calcul de la viscosite turbulente et
C       pour les pertes de charge, le Richardson, ...
C     la vitesse de reference n'est pas utilisee pour le calcul du pas
C       de temps : le pas de temps est pris ici uniforme et constant ;
C       s'il etait envisage de le prendre variable en temps, pour
C       l'adapter automatiquement a la configuration finale du
C       calcul une fois l'etat stationnaire etabli, il conviendrait
C       alors d'utiliser la vitesse de reference pour calculer une
C       limite basee par exemple sur un nombre de Courant.
C
C
C   - En convection naturelle
C       l'echelle de vitesse est calculee par analyse dimensionnelle
C         comme VITREF = P / (E S), a partir :
C       . de l'energie (E, en Joule/m3) que l'air initialement a TINIT
C          peut extraire s'il atteint la temperature critique de
C          sortie TCRIT : E = RO0(IPHAS)*CP0(IPHAS)*(TSOR0-TINIT)
C       . de la puissance (P, en Joule/s) d'une ligne (x cst) de
C           NPLGRS conteneurs, P = PUICON * NPLGRS
C       . de la surface verticale (S en m2) de la coupe transverse
C           d'une ligne de conteneurs, S = PTRRES*EPCHEL*NCHEST
C
        IF(ICOFOR.EQ.0)THEN
C
          TSOR0  = TCRIT
          PRFMAT = PUICON * NPLGRS
          ERFMAT = RO0(IPHAS)*CP0(IPHAS)*(TSOR0-TINIT)
          SRFMAT = PTRRES*EPCHEL*NCHEST
C
          VITREF = PRFMAT/(ERFMAT*SRFMAT)
C
C
C   - En convection forcee
C       La vitesse de reference est calculee comme le rapport du debit
C         reel total (DEBMAS/RO0(IPHAS)) a la surface de la zone de
C         stockage (NPTRAN*PTRRES*NCHEST*EPCHEL).
C       Elle est corrigee par le facteur de reduction transverse
C         FRDTRA du maillage par rapport a la realite afin d'obtenir
C         une vitesse representative de la vitesse reelle.
C
        ELSE
C
          VITREF =
     &         DEBMAS/(RO0(IPHAS)*FRDTRA*NPTRAN*PTRRES*NCHEST*EPCHEL)
C
C TSOR0 inutile ici ; on conserve la formule pour memoire
C     TSOR0= TINIT + NPTRAN*NPLGRS*PUICON/(DEBMAS/FRDTRA)/CP0(IPHAS)
C
        ENDIF
C
C
C --- Viscosite dynamique totale (modelisee, constante et uniforme)
C
C     Le tableau VISCL0 contient la viscosite dynamique totale
C       (moleculaire + turbulente). On evalue d'abord la viscosite
C       turbulente puis on ajoute la viscosite moleculaire XMUMAT.
C
C     La viscosite dynamique turbulente est modelisee sous la forme
C       mu_t = rho * u*_ref * D_ref, formule dans laquelle :
C     . u*_ref est la vitesse de frottement deduite de la vitesse de
C              reference VITREF calculee ci-dessus et d'une intensite
C              turbulente imposee RTURB0
C     . D_ref  est une distance de reference basee sur l'encombrement
C              du milieu
C
C     La valeur de u*_ref est calculee a partir de l'energie cinetique
C       turbulente k par u*_ref = Cmu**(1/4) k**(1/2). La valeur de k
C       se deduit de l'intensite turbulente I, supposee connue, par
C       k = 3/2 (I V_ref)**2 avec V_ref la vitesse de reference
C       VITREF calculee precedemment.
C
C     La valeur de D_ref est calculee par D_ref = 0.2(Pt - d) ou Pt est
C       le pas transverse du reseau et d le diametre des conteneurs.
C
C     Ainsi, mu_t = rho * u*_ref * L_ref
C            . u*_ref = Cmu**(1/4) * (3/2)**(1/2) * I * V_ref
C            . L_ref  = 0.2 * (Pt - d)
C
C     On ajoute la viscosite moleculaire XMUMAT a mu_t pour obtenir
C       la viscosite dynamique totale VISCL0
C
C     VISCL0 est recalcule dans mtphyv (VITREF est mis a jour au cours
C       du calcul)
C
C
C   - Calcul de la viscosite turbulente
C
        USTMAT = CMU**0.25D0 * SQRT(1.5D0) * (RTURB0/100.D0) * VITREF
        DRFMAT = 0.2D0 * (PTRRES-DMCONT)
        VISCL0(IPHAS) = RO0(IPHAS) * USTMAT * DRFMAT
C
C   - Ajout de la viscosite moleculaire
C
        VISCL0(IPHAS) = VISCL0(IPHAS) + XMUMAT
C
C
C --- Pas de temps
C
C   - Pas de temps uniforme en espace et constant en temps
C       Initialement, on souhaitait adopter dans Matisse un pas de
C         temps variable en temps, mais l'option n'a jamais ete
C         effectivement utilisee.
C       Quels que soient les choix par defaut de Code_Saturne, on
C         conserve IDTVAR ici pour memoire, au cas ou l'on reprendrait
C         les tests plus tard.
C
        IDTVAR = 0
C
C   - Calcul de la porosite verticale liee a la presence d'un
C       conteneur :
C       POR0 = section horizontale passante /section horizontale totale
C       (on suppose le conteneur cylindrique à base circulaire,
C        d'axe vertical)
C       Utilise pour le calcul du pas de temps ci-dessous
C
        CXSD = PTRRES/DMCONT
        CYSD = PLGRES/DMCONT
        POR0 = 1.D0 - PI/(CXSD*CYSD*4.D0)
C
C   - On calcule le pas de temps par analyse dimensionnelle pour que
C       le volume d'air avoisinant un conteneur ne voie pas sa
C       temperature croitre de plus de DTDTMX degres en un pas de
C       temps.
C     On a donc DTREF = E * V / P avec :
C       . E = RO0(IPHAS)*CP0(IPHAS)*DTDTMX, en Joule/m3, l'energie
C           maximale que l'air peut recevoir par pas de temps,
C       . V = (PLGRES*PTRRES*EPCHEL*NCHEST)*POR0, en m3, le volume
C           d'air entourant un conteneur.
C       . P = PUICON, en Joule/s, la puissance d'un conteneur
C
        DTREF = RO0(IPHAS)*CP0(IPHAS)*DTDTMX
     &       * (PLGRES*PTRRES*EPCHEL*NCHEST)*POR0 / PUICON
C
C
C --- Diffusivite des scalaires
C     Une diffusivite de reference est fournie ici pour tous les
C       scalaires, mais la diffusivite est variable (voir mtphyv).
C     Il s'agit plutot d'une securite.
C     Pour la temperature de l'air ambiant (scalaire ITAAMT),
C       l'initialisation est ici de type "Prandtl=1" (on considere
C       un Prandtl "efficace" incluant la turbulence)
C     Pour la temperature de peau des parois (scalaires ITPPMT),
C       il n'y a pas de phenomene de diffusion pris en compte :
C       peu importe donc la valeur adoptee.
C
        IF(NSCAUS.GT.0) THEN
C
C       On boucle sur les scalaires utilisateurs :
          DO II = 1, NSCAUS
C         Pour les scalaires qui ne sont pas des variances
            IF(ISCAVR(II).LE.0) THEN
C           On definit la diffusivite
              VISLS0(II) = VISCL0(IPHSCA(II))
            ENDIF
          ENDDO
C
        ENDIF
C
C     Fin du test IF (IMATIS.EQ.1)
      ENDIF
C
C
C--------
C FORMATS
C--------
C
 9001 FORMAT(
     &'@                                                            ',/,
     &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/,
     &'@                                                            ',/,
     &'@ @@ ATTENTION : MATISSE                                     ',/,
     &'@    *********                                               ',/,
     &'@      ARRET SUR LE PARALLELISME DANS MTINI1                 ',/,
     &'@                                                            ',/,
     &'@    Le parallelisme n''est pas prevu avec Matisse           ',/,
     &'@      or le calcul semble avoir ete lance en parallele.     ',/,
     &'@                                                            ',/,
     &'@    Le calcul ne sera pas execute.                          ',/,
     &'@                                                            ',/,
     &'@    Contacter l''equipe de developpement.                   ',/,
     &'@                                                            ',/,
     &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/,
     &'@                                                            ',/)
 9011 FORMAT(
     &'@                                                            ',/,
     &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/,
     &'@                                                            ',/,
     &'@ @@ ATTENTION : ARRET MATISSE (MTINI1)                      ',/,
     &'@    *********                                               ',/,
     &'@      ARRET SUR LE NOMBRE DE ZONES DES CARTES 2D ET 3D.     ',/,
     &'@                                                            ',/,
     &'@    Le nombre de zones demande est                 ',I10   ,  /,
     &'@    Le nombre maximal de zones autorise est NZONMX ',I10   ,  /,
     &'@                                                            ',/,
     &'@    Le calcul ne sera pas execute.                          ',/,
     &'@                                                            ',/,
     &'@    Contacter l''equipe de developpement.                   ',/,
     &'@                                                            ',/,
     &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/,
     &'@                                                            ',/)
 9021 FORMAT(
     &'@                                                            ',/,
     &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/,
     &'@                                                            ',/,
     &'@ @@ ATTENTION : ARRET MATISSE (MTINI1)                      ',/,
     &'@    *********                                               ',/,
     &'@      NOMBRE DE SCALAIRES INCORRECT.                        ',/,
     &'@                                                            ',/,
     &'@    NSCAUS represente                                       ',/,
     &'@      le nombre de scalaires requis pour Matisse.           ',/,
     &'@                                                            ',/,
     &'@    NSCAUS doit etre exactement egal a 3.                   ',/,
     &'@                                                            ',/,
     &'@    Il vaut ici                                             ',/,
     &'@      NSCAUS = ',I10   ,'                                   ',/,
     &'@                                                            ',/,
     &'@    Le calcul ne sera pas execute.                          ',/,
     &'@                                                            ',/,
     &'@    Contacter l''equipe de developpement.                   ',/,
     &'@                                                            ',/,
     &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/,
     &'@                                                            ',/)
 9031 FORMAT(
     &'@                                                            ',/,
     &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/,
     &'@                                                            ',/,
     &'@ @@ ATTENTION : ARRET MATISSE (MTINI1)                      ',/,
     &'@    *********                                               ',/,
     &'@      ECART TCRIT-TINIT NEGATIF OU NUL.                     ',/,
     &'@                                                            ',/,
     &'@    TCRIT represente                                        ',/,
     &'@      la temperature d''air de sortie critique en degres C. ',/,
     &'@    TINIT represente                                        ',/,
     &'@      la temperature d''air en entree          en degres C. ',/,
     &'@                                                            ',/,
     &'@    TCRIT est une estimation de la temperature de l''air    ',/,
     &'@      en sortie de l''entrepot.                             ',/,
     &'@    TCRIT doit donc naturellement etre strictement          ',/,
     &'@      superieure a TINIT.                                   ',/,
     &'@                                                            ',/,
     &'@    Or, les donnees saisies sont telles que                 ',/,
     &'@      TCRIT = ',E12.5   ,'                                  ',/,
     &'@      TINIT = ',E12.5   ,'                                  ',/,
     &'@                                                            ',/,
     &'@    Le calcul ne sera pas execute.                          ',/,
     &'@                                                            ',/,
     &'@    Modifier les donnes saisies pour que TCRIT > TINIT.     ',/,
     &'@                                                            ',/,
     &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/,
     &'@                                                            ',/)
 9041 FORMAT(
     &'@                                                            ',/,
     &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/,
     &'@                                                            ',/,
     &'@ @@ ATTENTION : ARRET MATISSE (MTINI1)                      ',/,
     &'@    *********                                               ',/,
     &'@      RAPPORT DE CONVERGENT NON UNITE EN 2D.                ',/,
     &'@                                                            ',/,
     &'@    RCONVE represente                                       ',/,
     &'@      le rapport du convergent represente sur le maillage.  ',/,
     &'@                                                            ',/,
     &'@    RCONVE doit etre unite pour un calcul bidimensionnel.   ',/,
     &'@                                                            ',/,
     &'@    Ici, le calcul est apparemment bidimensionnel puisque   ',/,
     &'@      le facteur de reduction transverse saisi n''est pas   ',/,
     &'@      unite : FRDTRA = ',E12.5   ,'                         ',/,
     &'@    Or, la valeur saisie pour le rapport du convergent      ',/,
     &'@      n''est pas unite : RCONVE = ',E12.5   ,'              ',/,
     &'@                                                            ',/,
     &'@    Le calcul ne sera pas execute.                          ',/,
     &'@                                                            ',/,
     &'@    Modifier la valeur du facteur de reduction transverse   ',/,
     &'@      ou du rapport de convergent.                          ',/,
     &'@                                                            ',/,
     &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/,
     &'@                                                            ',/)
 9051 FORMAT(
     &'@                                                            ',/,
     &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/,
     &'@                                                            ',/,
     &'@ @@ ATTENTION : ARRET MATISSE (MTINI1)                      ',/,
     &'@    *********                                               ',/,
     &'@      HAUTEUR D''EROSION DES PANACHES INADAPTEE.            ',/,
     &'@                                                            ',/,
     &'@    La modelisation des panaches est activee                ',/,
     &'@      avec IMDCNT = ',I10   ,'                              ',/,
     &'@    La hauteur d''erosion des panaches reduite a un nombre  ',/,
     &'@      entier de mailles doit etre strictement positive et   ',/,
     &'@      inferieure ou egale a la distance separant le plafond ',/,
     &'@      du sommet du reseau de colis.                         ',/,
     &'@                                                            ',/,
     &'@    La hauteur d''erosion saisie est   HEPCNT = ',E12.5      ,/,
     &'@                                                            ',/,
     &'@    La hauteur d''erosion reduite a un nombre entier de     ',/,
     &'@      mailles est                      HERCNT = ',E12.5      ,/,
     &'@    Le plafond est a la hauteur NCHEST*EPCHEL = ',E12.5      ,/,
     &'@      avec NCHEST = ',I10   ,' et EPCHEL = ',E12.5   ,'     ',/,
     &'@    La hauteur du reseau de colis est  HRESO  = ',E12.5      ,/,
     &'@                                                            ',/,
     &'@    L''inegalite suivante n''est pas verifiee :             ',/,
     &'@             0 <    HERCNT    <= (NCHEST*EPCHEL - HRESO)    ',/,
     &'@                 ',E12.5   ,'           ',E12.5   ,'        ',/,
     &'@                                                            ',/,
     &'@    Le calcul ne sera pas execute.                          ',/,
     &'@                                                            ',/,
     &'@    Descativer la modelisation des panaches ou modifier la  ',/,
     &'@      hauteur d''erosion prescrite.                         ',/,
     &'@                                                            ',/,
     &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/,
     &'@                                                            ',/)
C
C
C endif du xml
#endif
C
      RETURN
      END
c@z
