C CLIM2     SOURCE    KK2000    14/04/10    21:15:05     8032
      SUBROUTINE CLIM2
C************************************************************************
C
C PROJET            :  CASTEM 2000
C
C NOM               :  CLIM2
C
C DESCRIPTION       :  Subroutine appellée par KON2
C
C                      Modelisation 2D/3D des equations d'Euler
C                      Conditions aux limites
C
C                      Calcul du flux/residu pour le gaz multiespeces
C                               parfait aux limites
C LANGAGE           :  FORTRAN 77 + ESOPE 2000 (avec estensions CISI)
C
C AUTEUR            :  S. Kudriakov, DEN/DM2S/SFME/LTMF
C
C************************************************************************
C
C*** SYNTAXE
C
C  Discrétisation en VF "cell-centered" des équations d'Euler pour
C  un gaz parfait multiespeces
C
C
C  RCHPLI RCHPRE = 'KONV' 'VF' 'PERFMULT' 'CLIM'
C            'RESI' $MOD1 $MOD2 TABGAS
C             LMOTC LMOTP CHPRN CHPVN CHPPN CHPYN
C             MOT1 CHPLI ;
C
C $MOD1   : l'objet modele du domaine interieur
C           ($TAB1 est sa table domaine)
C
C $MOD2   : l'objet modele du domaine du bord
C           ($TAB2 est sa table domaine)
C
C TABGAS  : the table which containes information on
C           Cp and Cv of each of the gas
C
C LMOTC   : LISTMOTS, noms des variables conservatives
C
C LMOTP   : LISTMOTS, noms des variables primitives
C
C CHPRN   : densité  (SPG = 'CENTRE', une seule
C           composante, 'SCAL')
C
C CHPVN   : vitesse (SPG = $TAB1 . 'CENTRE',
C           composantes: 'UX', 'UY', ('UZ'))
C
C CHPPN   : pression  (SPG = $TAB1 . 'CENTRE', une seule
C           composante, 'SCAL')
C
C CHPYN   : fractions massiques  (SPG = $TAB1 . 'CENTRE',
C           number of components is equal to the number of
C           components in (TABGAS . 'ESPEULE'))
C
C MOT1    : MOT, type de condition limite:
C           'INRI' : inlet, invariants de Riemann
C
C CHPLI   : condition limit imposé (SPG = $TAB2 . 'CENTRE')
C           Les composantes dependent de MOT1
C           'INRI' : on donne densité 'RN', vitesse 'UX' 'UY' ('UX')
C                    pression 'PN'
C           'OUTRI': on donne densité 'RN', vitesse 'UX' 'UY' ('UX')
C                    pression 'PN'
C           'INSS' : on donne densité 'RN', vitesse 'UX' 'UY' ('UX')
C                    pression 'PN'
C           'OUTSS': chpoint vide
C           'OUTP' : on donne la pression 'PN', on recupere la
C                    vitesse et la densité à l'interieur
C           'INSU' : on donne l'enthalpie totale 'HT', l'entropie 'S',
C                    on impose que la vitesse tangentielle est nulle,
C                    on recupere la pression à l'interieur
C           'INJE' : on donne le flux de masse et RT (temperature fois
C                    la constante de gaz); on impose que la vitesse
C                    tangentielle est nulle, on recupere la pression.
C
C SORTIES
C
C RCHPLI   : on donne densité, vitesse, pression et les
C            fractions massiques sur le bord
C           (SPG = $TAB2 . 'CENTRE', composantes en LMOTP)
C
C RCHPRE   : residu (SPG = $TAB1 . 'CENTRE', composantes en LMOTC)
C            (of the cells which are attachet to the border)
C************************************************************************
C
C HISTORIQUE (Anomalies et modifications éventuelles)
C
C HISTORIQUE :
C
C************************************************************************
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8(A-H,O-Z)


-INC PPARAM
-INC CCOPTIO
C
      INTEGER NBOPT, ICELL, IJAC
C
      PARAMETER (NBOPT=3)
      CHARACTER*8 LOPT(NBOPT)
C
      DATA LOPT/'RESI    ','JACOCONS','JACOPRIM'/
C
      CALL LIRMOT(LOPT,NBOPT,ICELL,1)
      IF(IERR .NE. 0) GOTO 9999
      IF(ICELL .EQ. 1)THEN
C        'RESI    '
         IJAC=0
         CALL CLIM22(IJAC)
         IF(IERR .NE. 0) GOTO 9999
      ELSEIF(ICELL .EQ. 2)THEN
C        'JACOCONS'
         IJAC=1
         CALL CLIM22(IJAC)
         IF(IERR .NE. 0) GOTO 9999
      ELSEIF(ICELL .EQ. 3)THEN
C        'JACOPRIM'
         IJAC=2
         CALL CLIM22(IJAC)
         IF(IERR .NE. 0) GOTO 9999
      ENDIF
 9999 CONTINUE
      RETURN
      END









