Download prija1.eso

Back to the list

   1 : C PRIJA1    SOURCE    MAGN      09/07/30    21:20:27     6458           
   2 :       SUBROUTINE PRIJA1(MELEMC,MLMCON,MLMPRI,IRN,IVN,IPN,IGAMN,IJACO)
   3 : C
   4 : C************************************************************************
   5 : C
   6 : C PROJET            :  CASTEM 2000
   7 : C
   8 : C NOM               :  PRIJA1
   9 : C
  10 : C DESCRIPTION       :  Voir PRIJAC
  10 : C                      Cas deux dimensions, gaz "calorically perfect"
  11 : C     
  12 : C LANGAGE           :  FORTRAN 77 + ESOPE 2000 (avec estensions CISI)
  13 : C      
  14 : C AUTEUR            :  A. BECCANTINI, DM2S/SFME/LTMF
  15 : C
  16 : C************************************************************************
  17 : C
  18 : C ENTREES
  19 : C
  20 : C     MELEMC   : SPG des CHPOINTs
  21 : C
  22 : C     MLMPRI : liste des inconnues primitives (P,v,T)
  23 : C
  24 : C     MLMCON : liste des inconnues conservatives (rho, rhov, rhoet)
  25 : C
  26 : C     IRN    : CHPOINT CENTRE  contenant la densité
  27 : C
  28 : C     IVN    : CHPOINT CENTRE  contenant la vitesse
  29 : C
  30 : C     IPN    : CHPOINT CENTRE  contenant la pression
  31 : C
  32 : C     IGAM   : CHPOINT CENTRE  contenant le gamma
  33 : C
  34 : C SORTIES
  35 : C
  36 : C     IJACO  : pointeur de la MATRIK jacobienne
  37 : C
  38 : C************************************************************************
  39 : C
  40 : C HISTORIQUE (Anomalies et modifications éventuelles)
  41 : C
  42 : C HISTORIQUE : crée le 29.05.02
  43 : C      
  44 : C************************************************************************
  45 : C
  46 : C
  47 : C N.B.: On suppose qu'on a déjà controllé RO, P > 0
  48 : C                                         GAMMA \in (1,3)
  49 : C       Si non il faut le faire!!!
  50 : C
  51 : C************************************************************************
  52 : C               
  53 : C
  54 : C**** Variables de COOPTIO
  55 : C
  56 : C      INTEGER IPLLB, IERPER, IERMAX, IERR, INTERR
  57 : C     &        ,IOTER,   IOLEC,  IOIMP,     IOCAR,  IOACQ
  58 : C     &        ,IOPER,   IOSGB,  IOGRA,     IOSAU,  IORES
  59 : C     &        ,IECHO,   IIMPI,  IOSPI
  60 : C     &        ,IDIM
  61 : C     &        ,MCOORD      
  62 : C     &        ,IFOMOD, NIFOUR, IFOUR, NSDPGE, IONIVE
  63 : C     &        ,NGMAXY, IZROSF, ISOTYP, IOSCR,LTEXLU
  64 : C     &        ,NORINC,NORVAL,NORIND,NORVAD
  65 : C     &        ,NUCROU, IPSAUV, IFICLE, IPREFI     
  66 : C
  67 :       IMPLICIT INTEGER(I-N)
  68 :       INTEGER  IRN, IVN, IPN, IGAMN, IJACO, IGEOM, ICEN
  69 :      &       , MP, NP,  NBEL, NBME, NBSOUS
  70 :      &       , NRIGE, NMATRI, NKID, NKMT
  71 : C
  72 :       REAL*8 RHO,UX, UY, GAMMA
  73 :       CHARACTER*8 TYPE
  74 : C
  75 : C**** LES INCLUDES
  76 : C
  77 : -INC CCOPTIO
  78 : -INC SMCHPOI
  79 : -INC SMMATRIK
  80 : -INC SMELEME
  81 : -INC SMLMOTS
  82 : -INC SMLENTI
  83 :       POINTEUR MPVN.MPOVAL, MPRN.MPOVAL, MPGAM.MPOVAL
  84 :       POINTEUR MELEMC.MELEME
  85 :       POINTEUR RR.IZAFM, RUX.IZAFM, RUY.IZAFM, RP.IZAFM,
  86 :      &         RUXR.IZAFM, RUXUX.IZAFM, RUXUY.IZAFM, RUXP.IZAFM,
  87 :      &         RUYR.IZAFM, RUYUX.IZAFM, RUYUY.IZAFM, RUYP.IZAFM,
  88 :      &         RETR.IZAFM, RETUX.IZAFM, RETUY.IZAFM, RETP.IZAFM
  89 :       POINTEUR MLMPRI.MLMOTS, MLMCON.MLMOTS
  90 : C
  90 :       CALL LICHT(IVN,MPVN,TYPE,IGEOM)
  90 :       CALL LICHT(IRN,MPRN,TYPE,IGEOM)
  90 :       CALL LICHT(IGAMN,MPGAM,TYPE,IGEOM)
  91 : C
  92 : C     SEGACT MPVN*MOD
  93 : C     SEGACT MPPN*MOD
  94 : C     SEGACT MPRN*MOD
  95 : C
  96 : C**** Maillage des inconnues primales = Maillage des inconnues primales
  97 : C     = MELEMC
  98 : C
  99 : C      
 100 :       NRIGE = 7
 101 :       NMATRI = 1
 102 :       NKID = 9
 103 :       NKMT = 7
 104 : C
 105 :       SEGINI MATRIK
 106 :       IJACO = MATRIK
 107 :       MATRIK.IRIGEL(1,1) = MELEMC
 108 :       MATRIK.IRIGEL(2,1) = MELEMC
 109 : C
 110 : C**** Matrice non symetrique
 111 : C
 112 :       MATRIK.IRIGEL(7,1) = 2
 113 : C
 114 :       NBME = 16
 115 :       NBSOUS = 1
 116 :       SEGINI IMATRI
 117 :       MATRIK.IRIGEL(4,1) = IMATRI
 118 : C
 119 :       SEGACT MLMPRI
 120 :       IMATRI.LISPRI(1) = MLMPRI.MOTS(1)
 121 :       IMATRI.LISPRI(2) = MLMPRI.MOTS(2)
 122 :       IMATRI.LISPRI(3) = MLMPRI.MOTS(3)
 123 :       IMATRI.LISPRI(4) = MLMPRI.MOTS(4)
 124 :       IMATRI.LISPRI(5) = MLMPRI.MOTS(1)
 125 :       IMATRI.LISPRI(6) = MLMPRI.MOTS(2)
 126 :       IMATRI.LISPRI(7) = MLMPRI.MOTS(3)
 127 :       IMATRI.LISPRI(8) = MLMPRI.MOTS(4)
 128 :       IMATRI.LISPRI(9) = MLMPRI.MOTS(1)
 129 :       IMATRI.LISPRI(10) = MLMPRI.MOTS(2)
 130 :       IMATRI.LISPRI(11) = MLMPRI.MOTS(3)
 131 :       IMATRI.LISPRI(12) = MLMPRI.MOTS(4)
 132 :       IMATRI.LISPRI(13) = MLMPRI.MOTS(1)
 133 :       IMATRI.LISPRI(14) = MLMPRI.MOTS(2)
 134 :       IMATRI.LISPRI(15) = MLMPRI.MOTS(3)
 135 :       IMATRI.LISPRI(16) = MLMPRI.MOTS(4)
 136 :       SEGDES MLMPRI
 137 : C
 138 :       SEGACT MLMCON
 139 :       IMATRI.LISDUA(1) = MLMCON.MOTS(1)
 140 :       IMATRI.LISDUA(2) = MLMCON.MOTS(1)
 141 :       IMATRI.LISDUA(3) = MLMCON.MOTS(1)
 142 :       IMATRI.LISDUA(4) = MLMCON.MOTS(1)
 143 :       IMATRI.LISDUA(5) = MLMCON.MOTS(2)
 144 :       IMATRI.LISDUA(6) = MLMCON.MOTS(2)
 145 :       IMATRI.LISDUA(7) = MLMCON.MOTS(2)
 146 :       IMATRI.LISDUA(8) = MLMCON.MOTS(2)
 147 :       IMATRI.LISDUA(9) = MLMCON.MOTS(3)
 148 :       IMATRI.LISDUA(10) = MLMCON.MOTS(3)
 149 :       IMATRI.LISDUA(11) = MLMCON.MOTS(3)
 150 :       IMATRI.LISDUA(12) = MLMCON.MOTS(3)
 151 :       IMATRI.LISDUA(13) = MLMCON.MOTS(4)
 152 :       IMATRI.LISDUA(14) = MLMCON.MOTS(4)
 153 :       IMATRI.LISDUA(15) = MLMCON.MOTS(4)
 154 :       IMATRI.LISDUA(16) = MLMCON.MOTS(4)
 155 :       SEGDES MLMCON
 156 : C
 157 :       SEGACT MELEMC
 158 :       NBEL = MELEMC.NUM(/2)
 159 :       SEGDES MELEMC
 160 :       NBSOUS = 1
 161 :       NP = 1
 162 :       MP = 1
 163 :       SEGINI   RR  , RUX , RUY , RP ,
 164 :      &         RUXR , RUXUX , RUXUY , RUXP ,
 165 :      &         RUYR , RUYUX , RUYUY , RUYP ,
 166 :      &         RETR , RETUX , RETUY , RETP 
 167 : C
 168 : C**** Duale = IMATRI.LISDUA(1) = 'RN'
 169 : C     Primale = IMATRI.LISPRI(4) = 'P'
 170 : C     -> IMATRI.LIZAFM(1,4) = RP
 171 : C
 172 :       IMATRI.LIZAFM(1,1) = RR
 173 :       IMATRI.LIZAFM(1,2) = RUX
 174 :       IMATRI.LIZAFM(1,3) = RUY
 175 :       IMATRI.LIZAFM(1,4) = RP
 176 :       IMATRI.LIZAFM(1,5) = RUXR
 177 :       IMATRI.LIZAFM(1,6) = RUXUX
 178 :       IMATRI.LIZAFM(1,7) = RUXUY
 179 :       IMATRI.LIZAFM(1,8) = RUXP
 180 :       IMATRI.LIZAFM(1,9) = RUYR
 181 :       IMATRI.LIZAFM(1,10) = RUYUX
 182 :       IMATRI.LIZAFM(1,11) = RUYUY
 183 :       IMATRI.LIZAFM(1,12) = RUYP
 184 :       IMATRI.LIZAFM(1,13) = RETR
 185 :       IMATRI.LIZAFM(1,14) = RETUX
 186 :       IMATRI.LIZAFM(1,15) = RETUY
 187 :       IMATRI.LIZAFM(1,16) = RETP
 188 : C
 189 :       DO ICEN = 1, NBEL, 1
 190 :          RHO=MPRN.VPOCHA(ICEN,1)
 191 :          UX=MPVN.VPOCHA(ICEN,1)
 192 :          UY=MPVN.VPOCHA(ICEN,2)
 193 :          GAMMA=MPGAM.VPOCHA(ICEN,1)
 194 : C     
 195 : C********AB.AM(IFAC,IPRIM,IDUAL)
 196 : C        A = nom de l'inconnu duale (Ro,rUX,rUY,RET)
 197 : C        B = nom de l'inconnu primale (Ro,UX,UY,P)
 198 : C
 199 : C******* Dual RN
 200 : C
 201 :          RR.AM(ICEN,1,1)  = 1.0D0
 202 :          RUX.AM(ICEN,1,1) = 0.0D0
 203 :          RUY.AM(ICEN,1,1) = 0.0D0
 204 :          RP.AM(ICEN,1,1)  = 0.0D0
 205 : C
 206 : C******* Dual RUXN
 207 : C
 208 :          RUXR.AM(ICEN,1,1) = UX
 209 :          RUXUX.AM(ICEN,1,1) = RHO
 210 :          RUXUY.AM(ICEN,1,1) = 0.0D0
 211 :          RUXP.AM(ICEN,1,1) = 0.0D0
 212 : C
 213 : C******* Dual RUYN
 214 : C
 215 :          RUYR.AM(ICEN,1,1) = UY
 216 :          RUYUX.AM(ICEN,1,1) = 0.0D0
 217 :          RUYUY.AM(ICEN,1,1) = RHO
 218 :          RUYP.AM(ICEN,1,1) = 0.0D0
 219 : C
 220 : C********Dual RETN
 221 : C
 222 :          RETR.AM(ICEN,1,1) = 0.5D0*((UX*UX)+(UY*UY))
 223 :          RETUX.AM(ICEN,1,1) = RHO*UX
 224 :          RETUY.AM(ICEN,1,1) = RHO*UY
 225 :          RETP.AM(ICEN,1,1) = 1.0D0/(GAMMA - 1.0D0)
 226 : C
 227 :       ENDDO
 228 : C
 229 :       SEGDES MPVN
 230 :       SEGDES MPRN
 231 :       SEGDES MPGAM
 232 : C
 233 :       SEGDES MATRIK
 234 :       SEGDES IMATRI
 235 : C
 236 :       SEGDES   RR  , RUX , RUY , RP ,
 237 :      &         RUXR , RUXUX , RUXUY , RUXP ,
 238 :      &         RUYR , RUYUX , RUYUY , RUYP ,
 239 :      &         RETR , RETUX , RETUY , RETP 
 240 : C
 241 :       RETURN
 242 :       END
 243 :  
 244 :  
 245 :  
 246 :  
 247 :  
 248 :  

© Cast3M 2003 - All rights reserved.
Disclaimer