C PRIJA1    SOURCE    OF166741  24/12/13    21:17:11     12097          
      SUBROUTINE PRIJA1(MELEMC,MLMCON,MLMPRI,IRN,IVN,IPN,IGAMN,IJACO)
C
C************************************************************************
C
C PROJET            :  CASTEM 2000
C
C NOM               :  PRIJA1
C
C DESCRIPTION       :  Voir PRIJAC
C                      Cas deux dimensions, gaz "calorically perfect"
C
C LANGAGE           :  FORTRAN 77 + ESOPE 2000 (avec estensions CISI)
C
C AUTEUR            :  A. BECCANTINI, DM2S/SFME/LTMF
C
C************************************************************************
C
C ENTREES
C
C     MELEMC   : SPG des CHPOINTs
C
C     MLMPRI : liste des inconnues primitives (P,v,T)
C
C     MLMCON : liste des inconnues conservatives (rho, rhov, rhoet)
C
C     IRN    : CHPOINT CENTRE  contenant la densité
C
C     IVN    : CHPOINT CENTRE  contenant la vitesse
C
C     IPN    : CHPOINT CENTRE  contenant la pression
C
C     IGAM   : CHPOINT CENTRE  contenant le gamma
C
C SORTIES
C
C     IJACO  : pointeur de la MATRIK jacobienne
C
C************************************************************************
C
C HISTORIQUE (Anomalies et modifications éventuelles)
C
C HISTORIQUE : crée le 29.05.02
C
C************************************************************************
C
C
C N.B.: On suppose qu'on a déjà controllé RO, P > 0
C                                         GAMMA \in (1,3)
C       Si non il faut le faire!!!
C
C************************************************************************
C
      IMPLICIT INTEGER(I-N)
      INTEGER  IRN, IVN, IPN, IGAMN, IJACO, IGEOM, ICEN
     &       , MP, NP,  NBEL, NBME, NBSOUS
     &       , NRIGE, NMATRI, NKID, NKMT
C
      REAL*8 RHO,UX, UY, GAMMA
      CHARACTER*8 TYPE
C
C**** LES INCLUDES
C

-INC PPARAM
-INC CCOPTIO
-INC SMCHPOI
-INC SMMATRIK
-INC SMELEME
-INC SMLMOTS
-INC SMLENTI
      POINTEUR MPVN.MPOVAL, MPRN.MPOVAL, MPGAM.MPOVAL
      POINTEUR MELEMC.MELEME
      POINTEUR RR.IZAFM, RUX.IZAFM, RUY.IZAFM, RP.IZAFM,
     &         RUXR.IZAFM, RUXUX.IZAFM, RUXUY.IZAFM, RUXP.IZAFM,
     &         RUYR.IZAFM, RUYUX.IZAFM, RUYUY.IZAFM, RUYP.IZAFM,
     &         RETR.IZAFM, RETUX.IZAFM, RETUY.IZAFM, RETP.IZAFM
      POINTEUR MLMPRI.MLMOTS, MLMCON.MLMOTS
C
      CALL LICHT(IVN,MPVN,TYPE,IGEOM)
      CALL LICHT(IRN,MPRN,TYPE,IGEOM)
      CALL LICHT(IGAMN,MPGAM,TYPE,IGEOM)
C
C     SEGACT MPVN*MOD
C     SEGACT MPPN*MOD
C     SEGACT MPRN*MOD
C
C**** Maillage des inconnues primales = Maillage des inconnues primales
C     = MELEMC
C
C
      NRIGE = 7
      NMATRI = 1
      NKID = 9
      NKMT = 7
C
      SEGINI MATRIK
      IJACO = MATRIK
      MATRIK.IRIGEL(1,1) = MELEMC
      MATRIK.IRIGEL(2,1) = MELEMC
C
C**** Matrice non symetrique
C
      MATRIK.IRIGEL(7,1) = 2
C
      NBME = 16
      NBSOUS = 1
      SEGINI IMATRI
      MATRIK.IRIGEL(4,1) = IMATRI
C
      SEGACT MLMPRI
      IMATRI.LISPRI(1) = MLMPRI.MOTS(1)
      IMATRI.LISPRI(2) = MLMPRI.MOTS(2)
      IMATRI.LISPRI(3) = MLMPRI.MOTS(3)
      IMATRI.LISPRI(4) = MLMPRI.MOTS(4)
      IMATRI.LISPRI(5) = MLMPRI.MOTS(1)
      IMATRI.LISPRI(6) = MLMPRI.MOTS(2)
      IMATRI.LISPRI(7) = MLMPRI.MOTS(3)
      IMATRI.LISPRI(8) = MLMPRI.MOTS(4)
      IMATRI.LISPRI(9) = MLMPRI.MOTS(1)
      IMATRI.LISPRI(10) = MLMPRI.MOTS(2)
      IMATRI.LISPRI(11) = MLMPRI.MOTS(3)
      IMATRI.LISPRI(12) = MLMPRI.MOTS(4)
      IMATRI.LISPRI(13) = MLMPRI.MOTS(1)
      IMATRI.LISPRI(14) = MLMPRI.MOTS(2)
      IMATRI.LISPRI(15) = MLMPRI.MOTS(3)
      IMATRI.LISPRI(16) = MLMPRI.MOTS(4)
      SEGDES MLMPRI
C
      SEGACT MLMCON
      IMATRI.LISDUA(1) = MLMCON.MOTS(1)
      IMATRI.LISDUA(2) = MLMCON.MOTS(1)
      IMATRI.LISDUA(3) = MLMCON.MOTS(1)
      IMATRI.LISDUA(4) = MLMCON.MOTS(1)
      IMATRI.LISDUA(5) = MLMCON.MOTS(2)
      IMATRI.LISDUA(6) = MLMCON.MOTS(2)
      IMATRI.LISDUA(7) = MLMCON.MOTS(2)
      IMATRI.LISDUA(8) = MLMCON.MOTS(2)
      IMATRI.LISDUA(9) = MLMCON.MOTS(3)
      IMATRI.LISDUA(10) = MLMCON.MOTS(3)
      IMATRI.LISDUA(11) = MLMCON.MOTS(3)
      IMATRI.LISDUA(12) = MLMCON.MOTS(3)
      IMATRI.LISDUA(13) = MLMCON.MOTS(4)
      IMATRI.LISDUA(14) = MLMCON.MOTS(4)
      IMATRI.LISDUA(15) = MLMCON.MOTS(4)
      IMATRI.LISDUA(16) = MLMCON.MOTS(4)
      SEGDES MLMCON
C
      SEGACT MELEMC
      NBEL = MELEMC.NUM(/2)
      SEGDES MELEMC
      NBSOUS = 1
      NP = 1
      MP = 1
      SEGINI   RR  , RUX , RUY , RP ,
     &         RUXR , RUXUX , RUXUY , RUXP ,
     &         RUYR , RUYUX , RUYUY , RUYP ,
     &         RETR , RETUX , RETUY , RETP
C
C**** Duale = IMATRI.LISDUA(1) = 'RN'
C     Primale = IMATRI.LISPRI(4) = 'P'
C     -> IMATRI.LIZAFM(1,4) = RP
C
      IMATRI.LIZAFM(1,1) = RR
      IMATRI.LIZAFM(1,2) = RUX
      IMATRI.LIZAFM(1,3) = RUY
      IMATRI.LIZAFM(1,4) = RP
      IMATRI.LIZAFM(1,5) = RUXR
      IMATRI.LIZAFM(1,6) = RUXUX
      IMATRI.LIZAFM(1,7) = RUXUY
      IMATRI.LIZAFM(1,8) = RUXP
      IMATRI.LIZAFM(1,9) = RUYR
      IMATRI.LIZAFM(1,10) = RUYUX
      IMATRI.LIZAFM(1,11) = RUYUY
      IMATRI.LIZAFM(1,12) = RUYP
      IMATRI.LIZAFM(1,13) = RETR
      IMATRI.LIZAFM(1,14) = RETUX
      IMATRI.LIZAFM(1,15) = RETUY
      IMATRI.LIZAFM(1,16) = RETP
C
      DO ICEN = 1, NBEL, 1
         RHO=MPRN.VPOCHA(ICEN,1)
         UX=MPVN.VPOCHA(ICEN,1)
         UY=MPVN.VPOCHA(ICEN,2)
         GAMMA=MPGAM.VPOCHA(ICEN,1)
C
C********AB.AM(IFAC,IPRIM,IDUAL)
C        A = nom de l'inconnu duale (Ro,rUX,rUY,RET)
C        B = nom de l'inconnu primale (Ro,UX,UY,P)
C
C******* Dual RN
C
         RR.AM(ICEN,1,1)  = 1.0D0
         RUX.AM(ICEN,1,1) = 0.0D0
         RUY.AM(ICEN,1,1) = 0.0D0
         RP.AM(ICEN,1,1)  = 0.0D0
C
C******* Dual RUXN
C
         RUXR.AM(ICEN,1,1) = UX
         RUXUX.AM(ICEN,1,1) = RHO
         RUXUY.AM(ICEN,1,1) = 0.0D0
         RUXP.AM(ICEN,1,1) = 0.0D0
C
C******* Dual RUYN
C
         RUYR.AM(ICEN,1,1) = UY
         RUYUX.AM(ICEN,1,1) = 0.0D0
         RUYUY.AM(ICEN,1,1) = RHO
         RUYP.AM(ICEN,1,1) = 0.0D0
C
C********Dual RETN
C
         RETR.AM(ICEN,1,1) = 0.5D0*((UX*UX)+(UY*UY))
         RETUX.AM(ICEN,1,1) = RHO*UX
         RETUY.AM(ICEN,1,1) = RHO*UY
         RETP.AM(ICEN,1,1) = 1.0D0/(GAMMA - 1.0D0)
C
      ENDDO
C
      SEGDES MPVN
      SEGDES MPRN
      SEGDES MPGAM
C
      SEGDES MATRIK
      SEGDES IMATRI
C
      SEGDES   RR  , RUX , RUY , RP ,
     &         RUXR , RUXUX , RUXUY , RUXP ,
     &         RUYR , RUYUX , RUYUY , RUYP ,
     &         RETR , RETUX , RETUY , RETP
C
      RETURN
      END






 
 
 
 
 
