Download cli163.eso

Back to the list

   1 : C CLI163    SOURCE    MAGN      09/07/30    21:15:55     6458           
   2 :       SUBROUTINE CLI163(MELEMF,MELEMC,MELECB,MELEFC,MELRES,INORM,ICHPVO,
   3 :      &     ICHPSU,IROC,IVITC,IPC,IGAMC,ICHLIM,ILIINC,ILIINP,IJAC,IJACO)
   4 : C************************************************************************
   5 : C
   6 : C PROJET            :  CASTEM 2000
   7 : C
   8 : C NOM               :  CLI163
   9 : C
  10 : C DESCRIPTION       :  Subroutine appellée par CLIM11
  11 : C
  12 : C LANGAGE           :  FORTRAN 77 + ESOPE 2000 (avec estensions CISI)
  13 : C      
  14 : C AUTEUR            :  A. BECCANTINI, DRN/DMT/SEMT/LTMF                        
  15 : C
  16 : C************************************************************************
  17 : C
  18 : C APPELES (Calcul)  :  
  19 : C
  20 : C************************************************************************
  21 : C
  22 : C HISTORIQUE (Anomalies et modifications éventuelles)
  23 : C
  24 : C HISTORIQUE :
  25 : C      
  26 : C************************************************************************
  27 : C
  28 :       IMPLICIT INTEGER(I-N)
  29 : -INC CCOPTIO
  30 : -INC SMLMOTS
  31 : -INC SMELEME
  32 :       POINTEUR MELEFC.MELEME
  33 : -INC SMLENTI
  34 :       POINTEUR MLEMC.MLENTI, MLEMCB.MLENTI,MLEMF.MLENTI
  35 : -INC SMCHPOI
  36 :       POINTEUR MPNORM.MPOVAL, MPVOL.MPOVAL, MPSURF.MPOVAL, MPRC.MPOVAL,
  37 :      &     MPVC.MPOVAL, MPPC.MPOVAL, MPGAMC.MPOVAL, MPLIM.MPOVAL
  38 : -INC SMMATRIK
  39 :       POINTEUR RR.IZAFM, RUX.IZAFM, RUY.IZAFM, RRET.IZAFM,
  40 :      &         UXR.IZAFM, UXUX.IZAFM, UXUY.IZAFM, UXRET.IZAFM,
  41 :      &         UYR.IZAFM, UYUX.IZAFM, UYUY.IZAFM, UYRET.IZAFM,
  42 :      &         RETR.IZAFM, RETUX.IZAFM, RETUY.IZAFM, RETRET.IZAFM,
  43 :      &         RUZ.IZAFM, UXUZ.IZAFM, UYUZ.IZAFM, RETUZ.IZAFM,
  44 :      &         UZR.IZAFM, UZUX.IZAFM, UZUY.IZAFM, UZRET.IZAFM,
  45 :      &         UZUZ.IZAFM
  46 : C
  47 : C**** Variables de COOPTIO
  48 : C
  49 : C      INTEGER IPLLB, IERPER, IERMAX, IERR, INTERR
  50 : C     &        ,IOTER,   IOLEC,  IOIMP,     IOCAR,  IOACQ
  51 : C     &        ,IOPER,   IOSGB,  IOGRA,     IOSAU,  IORES
  52 : C     &        ,IECHO,   IIMPI,  IOSPI
  53 : C     &        ,IDIM,    IFICLE, IPREFI     
  54 : C     &        ,MCOORD
  55 : C     &        ,IFOMOD, NIFOUR, IFOUR, NSDPGE, IONIVE
  56 : C     &        ,NGMAXY, IZROSF, ISOTYP, IOSCR,LTEXLU
  57 : C     &        ,NORINC,NORVAL,NORIND,NORVAD
  58 : C     &        ,NUCROU, IPSAUV
  59 : C
  60 :       INTEGER MELEMF,MELEMC,MELECB,INORM,ICHPVO,ICHPSU, IROC,IVITC,IPC
  61 :      &     ,IGAMC,ICHLIM,ICEL,NFAC,IFAC,MELRES,IJACO
  62 :      &     ,NGF,NGC,NLF,NLC,NLCB
  63 :      &     ,ILIINC,ILIINP,IJAC
  64 :      &     ,MP, NBEL, NBME, NBSOUS, NKID, NKMT, NMATRI, NP, NRIGE
  65 :       REAL*8 VOLU,SURF,RC,PC,UXC,UYC,GAMC,CNX,CNY,CTX,CTY
  66 :      &     ,HTF,SF,UTF,RF,PF,UXF,UYF,GM1,USGM1
  67 :      &     ,UNC,UNF,ECIN,PSRF,DPSRUN,DRDUN,DPDUN,DUNDUX,DUNDUY
  68 : C     &     ,CACCA,EPS,CACCA1,CACCA2
  69 :      &     ,VECG(5),VECD(5),NVEC(3),TVEC(3),TVEC2(3)
  70 :      &     ,DFDUG(5,5),DFDUD(5,5)
  71 :      &     ,DUXDUN,DUYDUN,COEF5,COEF
  72 :      &     ,DRORO,DROUX,DROUY,DROP
  73 :      &     ,DUXRO,DUXUX,DUXUY,DUXP
  74 :      &     ,DUYRO,DUYUX,DUYUY,DUYP
  75 :      &     ,DPRO,DPUX,DPUY,DPP
  76 :      &     ,COEF1,COEF2,COEF3
  77 :      &     ,CNZ,CTZ,CT2X,CT2Y,CT2Z,UZC,UT2F,UZF,DUZDUN,DUNDUZ
  78 :      &     ,DROUZ,DPUZ,DUXUZ,DUYUZ
  79 :      &     ,DUZRO,DUZUX,DUZUY,DUZUZ,DUZP,COEF4
  80 :       CHARACTER*(8) TYPE
  81 : C
  82 : C
  83 : C**** KRIPAD pour la correspondance global/local
  84 : C
  84 :       CALL KRIPAD(MELEMC,MLEMC)
  85 : C     SEGINI MLEMC 
  85 :       CALL KRIPAD(MELECB,MLEMCB)
  86 : C     SEGINI MLEMCB
  86 :       CALL KRIPAD(MELEMF,MLEMF)
  87 : C     SEGINI MLEMF
  88 : C
  89 : C**** CHPOINTs de la table DOMAINE
  90 : C
  90 :       CALL LICHT(INORM,MPNORM,TYPE,ICEL)
  90 :       CALL LICHT(ICHPVO,MPVOL,TYPE,ICEL)
  90 :       CALL LICHT(ICHPSU,MPSURF,TYPE,ICEL)
  91 : C
  92 : C**** LICHT active les MPOVALs en *MOD
  93 : C
  94 : C     SEGACT MPNORM*MOD
  95 : C     SEGACT MPOVSU*MOD
  96 : C     SEGACT MPOVOL*MOD
  97 : C
  98 : C
  99 : C**** CHPOINTs des variables
 100 : C
 100 :       CALL LICHT(IROC,MPRC,TYPE,ICEL)
 100 :       CALL LICHT(IVITC,MPVC,TYPE,ICEL)
 100 :       CALL LICHT(IPC,MPPC,TYPE,ICEL)
 100 :       CALL LICHT(IGAMC,MPGAMC,TYPE,ICEL)
 100 :       CALL LICHT(ICHLIM,MPLIM,TYPE,ICEL)
 101 : C
 102 : C     SEGACT *MOD
 103 : C     SEGACT *MOD
 104 : C     SEGACT *MOD
 105 : C     SEGACT *MOD
 106 : C     SEGACT *MOD
 107 : C
 108 : C
 109 : C**** Boucle sur le face pour le calcul des invariants de
 110 : C     Riemann et du flux
 111 : C
 112 :       SEGACT MELEFC
 113 :       NFAC=MELEFC.NUM(/2)
 114 : C
 115 : C**** Objet MATRIK
 116 : C
 117 :       NRIGE = 7
 118 :       NMATRI = 1
 119 :       NKID = 9
 120 :       NKMT = 7
 121 : C
 122 :       SEGINI MATRIK
 123 :       IJACO = MATRIK
 124 :       MATRIK.IRIGEL(1,1) = MELRES
 125 :       MATRIK.IRIGEL(2,1) = MELRES
 126 : C
 127 : C**** Matrice non symetrique
 128 : C
 129 :       MATRIK.IRIGEL(7,1) = 2
 130 : C
 131 :       NBME = 25
 132 :       NBSOUS = 1
 133 :       SEGINI IMATRI
 134 :       IF(IJAC.EQ.1)THEN
 135 :          MLMOTS=ILIINC
 136 :       ELSEIF(IJAC.EQ.2)THEN
 137 :          MLMOTS=ILIINP
 138 :       ENDIF
 139 :       SEGACT MLMOTS
 140 :       MATRIK.IRIGEL(4,1) = IMATRI
 141 : C
 142 :       IMATRI.LISPRI(1) = MLMOTS.MOTS(1)
 143 :       IMATRI.LISPRI(2) = MLMOTS.MOTS(2)
 144 :       IMATRI.LISPRI(3) = MLMOTS.MOTS(3)
 145 :       IMATRI.LISPRI(4) = MLMOTS.MOTS(4)
 146 :       IMATRI.LISPRI(5) = MLMOTS.MOTS(5)
 147 : C
 148 :       IMATRI.LISPRI(6) = MLMOTS.MOTS(1)
 149 :       IMATRI.LISPRI(7) = MLMOTS.MOTS(2)
 150 :       IMATRI.LISPRI(8) = MLMOTS.MOTS(3)
 151 :       IMATRI.LISPRI(9) = MLMOTS.MOTS(4)
 152 :       IMATRI.LISPRI(10) = MLMOTS.MOTS(5)
 153 : C
 154 :       IMATRI.LISPRI(11) = MLMOTS.MOTS(1)
 155 :       IMATRI.LISPRI(12) = MLMOTS.MOTS(2)
 156 :       IMATRI.LISPRI(13) = MLMOTS.MOTS(3)
 157 :       IMATRI.LISPRI(14) = MLMOTS.MOTS(4)
 158 :       IMATRI.LISPRI(15) = MLMOTS.MOTS(5)
 159 : C
 160 :       IMATRI.LISPRI(16) = MLMOTS.MOTS(1)
 161 :       IMATRI.LISPRI(17) = MLMOTS.MOTS(2)
 162 :       IMATRI.LISPRI(18) = MLMOTS.MOTS(3)
 163 :       IMATRI.LISPRI(19) = MLMOTS.MOTS(4)
 164 :       IMATRI.LISPRI(20) = MLMOTS.MOTS(5)
 165 : C
 166 :       IMATRI.LISPRI(21) = MLMOTS.MOTS(1)
 167 :       IMATRI.LISPRI(22) = MLMOTS.MOTS(2)
 168 :       IMATRI.LISPRI(23) = MLMOTS.MOTS(3)
 169 :       IMATRI.LISPRI(24) = MLMOTS.MOTS(4)
 170 :       IMATRI.LISPRI(25) = MLMOTS.MOTS(5)
 171 : C
 172 :       SEGDES MLMOTS
 173 :       MLMOTS=ILIINC
 174 :       SEGACT MLMOTS
 175 : C
 176 : C
 177 :       IMATRI.LISDUA(1) = MLMOTS.MOTS(1)
 178 :       IMATRI.LISDUA(2) = MLMOTS.MOTS(1)
 179 :       IMATRI.LISDUA(3) = MLMOTS.MOTS(1)
 180 :       IMATRI.LISDUA(4) = MLMOTS.MOTS(1)
 181 :       IMATRI.LISDUA(5) = MLMOTS.MOTS(1)
 182 : C
 183 :       IMATRI.LISDUA(6) = MLMOTS.MOTS(2)
 184 :       IMATRI.LISDUA(7) = MLMOTS.MOTS(2)
 185 :       IMATRI.LISDUA(8) = MLMOTS.MOTS(2)
 186 :       IMATRI.LISDUA(9) = MLMOTS.MOTS(2)
 187 :       IMATRI.LISDUA(10) = MLMOTS.MOTS(2)
 188 : C
 189 :       IMATRI.LISDUA(11) = MLMOTS.MOTS(3)
 190 :       IMATRI.LISDUA(12) = MLMOTS.MOTS(3)
 191 :       IMATRI.LISDUA(13) = MLMOTS.MOTS(3)
 192 :       IMATRI.LISDUA(14) = MLMOTS.MOTS(3)
 193 :       IMATRI.LISDUA(15) = MLMOTS.MOTS(3)
 194 : C
 195 :       IMATRI.LISDUA(16) = MLMOTS.MOTS(4)
 196 :       IMATRI.LISDUA(17) = MLMOTS.MOTS(4)
 197 :       IMATRI.LISDUA(18) = MLMOTS.MOTS(4)
 198 :       IMATRI.LISDUA(19) = MLMOTS.MOTS(4)
 199 :       IMATRI.LISDUA(20) = MLMOTS.MOTS(4)
 200 : C
 201 :       IMATRI.LISDUA(21) = MLMOTS.MOTS(5)
 202 :       IMATRI.LISDUA(22) = MLMOTS.MOTS(5)
 203 :       IMATRI.LISDUA(23) = MLMOTS.MOTS(5)
 204 :       IMATRI.LISDUA(24) = MLMOTS.MOTS(5)
 205 :       IMATRI.LISDUA(25) = MLMOTS.MOTS(5)
 206 : C
 207 :       SEGDES MLMOTS
 208 :       NBEL = NFAC
 209 :       NBSOUS = 1
 210 :       NP = 1
 211 :       MP = 1
 212 :       SEGINI   RR  , RUX , RUY , RUZ ,RRET ,
 213 :      &         UXR , UXUX , UXUY , UXUZ ,UXRET ,
 214 :      &         UYR , UYUX , UYUY , UYUZ , UYRET ,
 215 :      &         UZR , UZUX , UZUY , UZUZ , UZRET ,
 216 :      &         RETR , RETUX , RETUY, RETUZ , RETRET
 217 : C
 218 : C**** Duale = IMATRI.LISDUA(1) = 'RN'
 219 : C     Primale = IMATRI.LISPRI(1) = 'RN'
 220 : C     -> IMATRI.LIZAFM(1,1) = RR
 221 : C
 222 :       IMATRI.LIZAFM(1,1) = RR
 223 :       IMATRI.LIZAFM(1,2) = RUX
 224 :       IMATRI.LIZAFM(1,3) = RUY
 225 :       IMATRI.LIZAFM(1,4) = RUZ
 226 :       IMATRI.LIZAFM(1,5) = RRET
 227 : C
 228 :       IMATRI.LIZAFM(1,6) = UXR
 229 :       IMATRI.LIZAFM(1,7) = UXUX
 230 :       IMATRI.LIZAFM(1,8) = UXUY
 231 :       IMATRI.LIZAFM(1,9) = UXUZ
 232 :       IMATRI.LIZAFM(1,10) = UXRET
 233 : C
 234 :       IMATRI.LIZAFM(1,11) = UYR
 235 :       IMATRI.LIZAFM(1,12) = UYUX
 236 :       IMATRI.LIZAFM(1,13) = UYUY
 237 :       IMATRI.LIZAFM(1,14) = UYUZ
 238 :       IMATRI.LIZAFM(1,15) = UYRET
 239 : C
 240 :       IMATRI.LIZAFM(1,16) = UZR
 241 :       IMATRI.LIZAFM(1,17) = UZUX
 242 :       IMATRI.LIZAFM(1,18) = UZUY
 243 :       IMATRI.LIZAFM(1,19) = UZUZ
 244 :       IMATRI.LIZAFM(1,20) = UZRET
 245 : C
 246 :       IMATRI.LIZAFM(1,21) = RETR
 247 :       IMATRI.LIZAFM(1,22) = RETUX
 248 :       IMATRI.LIZAFM(1,23) = RETUY
 249 :       IMATRI.LIZAFM(1,24) = RETUZ
 250 :       IMATRI.LIZAFM(1,25) = RETRET
 251 : C
 252 :       SEGDES MATRIK
 253 :       SEGDES IMATRI
 254 : C
 255 : C**** Fin definition MATRIK
 256 : C
 257 :       DO IFAC=1,NFAC,1
 258 :          NGF=MELEFC.NUM(1,IFAC)
 259 :          NGC=MELEFC.NUM(2,IFAC)
 260 :          NLF=MLEMF.LECT(NGF)
 261 :          NLC=MLEMC.LECT(NGC)
 262 :          NLCB=MLEMCB.LECT(NGF)
 263 :          VOLU=MPVOL.VPOCHA(NLC,1)
 264 :          SURF=MPSURF.VPOCHA(NLF,1)
 265 : C        In CASTEM les normales sont sortantes
 266 :          CNX=-1*MPNORM.VPOCHA(NLF,1)
 267 :          CNY=-1*MPNORM.VPOCHA(NLF,2)
 268 :          CNZ=-1*MPNORM.VPOCHA(NLF,3)
 269 :          CTX=-1*MPNORM.VPOCHA(NLF,4)
 270 :          CTY=-1*MPNORM.VPOCHA(NLF,5)
 271 :          CTZ=-1*MPNORM.VPOCHA(NLF,6)
 272 :          CT2X=-1*MPNORM.VPOCHA(NLF,7)
 273 :          CT2Y=-1*MPNORM.VPOCHA(NLF,8)
 274 :          CT2Z=-1*MPNORM.VPOCHA(NLF,9)
 275 : C        Variables au centre
 276 :          RC=MPRC.VPOCHA(NLC,1)
 277 :          PC=MPPC.VPOCHA(NLC,1)
 278 :          UXC=MPVC.VPOCHA(NLC,1)
 279 :          UYC=MPVC.VPOCHA(NLC,2)
 280 :          UZC=MPVC.VPOCHA(NLC,3)
 281 :          GAMC=MPGAMC.VPOCHA(NLC,1)
 282 :          GM1=GAMC-1.0D0
 283 :          USGM1=1.0D0/GM1
 284 : C        Variables à la face
 285 :          HTF=MPLIM.VPOCHA(NLCB,1)
 286 :          SF=MPLIM.VPOCHA(NLCB,2)
 287 :          UTF=0.0D0
 288 :          UT2F=0.0D0
 289 : C
 290 :          UNC=(UXC*CNX)+(UYC*CNY)+(UZC*CNZ)
 291 :          UNF=UNC
 292 : C
 293 :          UXF=UNF*CNX+UTF*CTX+UT2F*CT2X
 294 :          UYF=UNF*CNY+UTF*CTY+UT2F*CT2Y
 295 :          UZF=UNF*CNZ+UTF*CTZ+UT2F*CT2Z
 296 : C
 297 :          ECIN=0.5D0*((UXF*UXF)+(UYF*UYF)+(UZF*UZF))
 298 :          PSRF=(GM1/GAMC)*(HTF-ECIN)
 299 :          RF=PSRF/SF
 300 :          RF=RF**(1.0D0/GM1)
 301 :          PF=SF*(RF**GAMC)
 302 : C
 303 : C******* Derivative of PF/RF,PF,RF,UXF,UYF with respect to UN
 304 : C
 305 :          DPSRUN=-1*(GM1/GAMC)*UNC
 306 :          DRDUN=USGM1*RF/PSRF*DPSRUN
 307 :          DPDUN=GAMC*PSRF*DRDUN
 308 :          DUXDUN=CNX
 309 :          DUYDUN=CNY
 310 :          DUZDUN=CNZ
 311 : C
 312 :          DUNDUX=CNX
 313 :          DUNDUY=CNY
 314 :          DUNDUZ=CNZ
 315 : C
 316 : C******* Jacobian with respect to primitive variables
 317 : C
 318 :          VECG(1)=RF
 319 :          VECG(2)=UXF
 320 :          VECG(3)=UYF
 321 :          VECG(4)=UZF
 322 :          VECG(5)=PF
 323 : C
 324 :          VECD(1)=RC
 325 :          VECD(2)=UXC
 326 :          VECD(3)=UYC
 327 :          VECD(4)=UZC
 328 :          VECD(5)=PC
 329 : C
 330 :          NVEC(1)=CNX
 331 :          NVEC(2)=CNY
 332 :          NVEC(3)=CNZ
 333 :          TVEC(1)=CTX
 334 :          TVEC(2)=CTY
 335 :          TVEC(3)=CTZ
 336 :          TVEC2(1)=CT2X
 337 :          TVEC2(2)=CT2Y
 338 :          TVEC2(3)=CT2Z
 339 : C
 339 :          CALL CONJP4(DFDUG,DFDUD,VECG,VECD,NVEC,TVEC,TVEC2,GAMC)
 340 : C
 341 :          COEF=SURF/VOLU
 342 :          DRORO=DFDUD(1,1)*COEF
 343 :          COEF5=(DFDUG(1,1)*DRDUN)+(DFDUG(1,2)*DUXDUN)+
 344 :      &        (DFDUG(1,3)*DUYDUN)+(DFDUG(1,4)*DUZDUN)+
 345 :      &        (DFDUG(1,5)*DPDUN)
 346 :          DROUX=(COEF5*DUNDUX+DFDUD(1,2))*COEF
 347 :          DROUY=(COEF5*DUNDUY+DFDUD(1,3))*COEF
 348 :          DROUZ=(COEF5*DUNDUZ+DFDUD(1,4))*COEF
 349 :          DROP=DFDUD(1,5)*COEF
 350 : C
 351 :          DPRO=DFDUD(5,1)*COEF
 352 :          COEF5=(DFDUG(5,1)*DRDUN)+(DFDUG(5,2)*DUXDUN)+
 353 :      &        (DFDUG(5,3)*DUYDUN)+(DFDUG(5,4)*DUZDUN)+
 354 :      &        (DFDUG(5,5)*DPDUN)
 355 :          DPUX=(COEF5*DUNDUX+DFDUD(5,2))*COEF
 356 :          DPUY=(COEF5*DUNDUY+DFDUD(5,3))*COEF
 357 :          DPUZ=(COEF5*DUNDUZ+DFDUD(5,4))*COEF
 358 :          DPP=DFDUD(5,5)*COEF
 359 : C
 360 :          DUXRO=DFDUD(2,1)*COEF
 361 :          COEF5=(DFDUG(2,1)*DRDUN)+(DFDUG(2,2)*DUXDUN)+
 362 :      &        (DFDUG(2,3)*DUYDUN)+(DFDUG(2,4)*DUZDUN)+
 363 :      &        (DFDUG(2,5)*DPDUN)
 364 :          DUXUX=(COEF5*DUNDUX+DFDUD(2,2))*COEF
 365 :          DUXUY=(COEF5*DUNDUY+DFDUD(2,3))*COEF
 366 :          DUXUZ=(COEF5*DUNDUZ+DFDUD(2,4))*COEF
 367 :          DUXP =DFDUD(2,5)*COEF
 368 : C
 369 :          DUYRO=DFDUD(3,1)*COEF
 370 :          COEF5=(DFDUG(3,1)*DRDUN)+(DFDUG(3,2)*DUXDUN)+
 371 :      &        (DFDUG(3,3)*DUYDUN)+(DFDUG(3,4)*DUZDUN)+
 372 :      &        (DFDUG(3,5)*DPDUN)
 373 :          DUYUX=(COEF5*DUNDUX+DFDUD(3,2))*COEF
 374 :          DUYUY=(COEF5*DUNDUY+DFDUD(3,3))*COEF
 375 :          DUYUZ=(COEF5*DUNDUZ+DFDUD(3,4))*COEF
 376 :          DUYP =DFDUD(3,5)*COEF
 377 : C
 378 :          DUZRO=DFDUD(4,1)*COEF
 379 :          COEF5=(DFDUG(4,1)*DRDUN)+(DFDUG(4,2)*DUXDUN)+
 380 :      &        (DFDUG(4,3)*DUYDUN)+(DFDUG(4,4)*DUZDUN)+
 381 :      &        (DFDUG(4,5)*DPDUN)
 382 :          DUZUX=(COEF5*DUNDUX+DFDUD(4,2))*COEF
 383 :          DUZUY=(COEF5*DUNDUY+DFDUD(4,3))*COEF
 384 :          DUZUZ=(COEF5*DUNDUZ+DFDUD(4,4))*COEF
 385 :          DUZP =DFDUD(4,5)*COEF
 386 : C
 387 : C
 388 : C******* Jacobian with respect to conservative variables
 389 : C
 390 :          IF(IJAC.EQ.1)THEN
 391 :             GM1=GAMC-1.0D0
 392 : C
 393 :             COEF1=-1.0D0*UXC/RC
 394 :             COEF2=-1.0D0*UYC/RC
 395 :             COEF3=-1.0D0*UZC/RC
 396 :             COEF4=0.5D0*GM1*((UXC*UXC)+(UYC*UYC)+(UZC*UZC))
 397 : C
 398 :             RR.AM(IFAC,1,1)=DRORO+(DROUX*COEF1)+(DROUY*COEF2)+(DROUZ
 399 :      $           *COEF3)+(DROP*COEF4)
 400 :             RUX.AM(IFAC,1,1)=(DROUX/RC)-((UXC*GM1)*DROP)
 401 :             RUY.AM(IFAC,1,1)=(DROUY/RC)-((UYC*GM1)*DROP)
 402 :             RUZ.AM(IFAC,1,1)=(DROUZ/RC)-((UZC*GM1)*DROP)
 403 :             RRET.AM(IFAC,1,1)=GM1*DROP
 404 : C
 405 :             UXR.AM(IFAC,1,1)=DUXRO+(DUXUX*COEF1)+(DUXUY*COEF2)+(DUXUZ
 406 :      $           *COEF3)+(DUXP*COEF4)
 407 :             UXUX.AM(IFAC,1,1)=(DUXUX/RC)-((UXC*GM1)*DUXP)
 408 :             UXUY.AM(IFAC,1,1)=(DUXUY/RC)-((UYC*GM1)*DUXP)
 409 :             UXUZ.AM(IFAC,1,1)=(DUXUZ/RC)-((UZC*GM1)*DUXP)
 410 :             UXRET.AM(IFAC,1,1)=GM1*DUXP
 411 : C
 412 :             UYR.AM(IFAC,1,1)=DUYRO+(DUYUX*COEF1)+(DUYUY*COEF2)+(DUYUZ
 413 :      $           *COEF3)+(DUYP*COEF4)
 414 :             UYUX.AM(IFAC,1,1)=(DUYUX/RC)-((UXC*GM1)*DUYP)
 415 :             UYUY.AM(IFAC,1,1)=(DUYUY/RC)-((UYC*GM1)*DUYP)
 416 :             UYUZ.AM(IFAC,1,1)=(DUYUZ/RC)-((UZC*GM1)*DUYP)
 417 :             UYRET.AM(IFAC,1,1)=GM1*DUYP
 418 : C
 419 :             UZR.AM(IFAC,1,1)=DUZRO+(DUZUX*COEF1)+(DUZUY*COEF2)+(DUZUZ
 420 :      $           *COEF3)+(DUZP*COEF4)
 421 :             UZUX.AM(IFAC,1,1)=(DUZUX/RC)-((UXC*GM1)*DUZP)
 422 :             UZUY.AM(IFAC,1,1)=(DUZUY/RC)-((UYC*GM1)*DUZP)
 423 :             UZUZ.AM(IFAC,1,1)=(DUZUZ/RC)-((UZC*GM1)*DUZP)
 424 :             UZRET.AM(IFAC,1,1)=GM1*DUZP
 425 : C
 426 :             RETR.AM(IFAC,1,1)=DPRO+(DPUX*COEF1)+(DPUY*COEF2)+(DPUZ
 427 :      $           *COEF3)+(DPP*COEF4)
 428 :             RETUX.AM(IFAC,1,1)=(DPUX/RC)-((UXC*GM1)*DPP)
 429 :             RETUY.AM(IFAC,1,1)=(DPUY/RC)-((UYC*GM1)*DPP)
 430 :             RETUZ.AM(IFAC,1,1)=(DPUZ/RC)-((UZC*GM1)*DPP)
 431 :             RETRET.AM(IFAC,1,1)=GM1*DPP
 432 : C
 433 :          ELSEIF(IJAC.EQ.2)THEN
 434 :             RR.AM(IFAC,1,1)=DRORO
 435 :             RUX.AM(IFAC,1,1)=DROUX
 436 :             RUY.AM(IFAC,1,1)=DROUY
 437 :             RUZ.AM(IFAC,1,1)=DROUZ
 438 :             RRET.AM(IFAC,1,1)=DROP
 439 : C
 440 :             UXR.AM(IFAC,1,1)=DUXRO
 441 :             UXUX.AM(IFAC,1,1)=DUXUX
 442 :             UXUY.AM(IFAC,1,1)=DUXUY
 443 :             UXUZ.AM(IFAC,1,1)=DUXUZ
 444 :             UXRET.AM(IFAC,1,1)=DUXP
 445 : C
 446 :             UYR.AM(IFAC,1,1)=DUYRO
 447 :             UYUX.AM(IFAC,1,1)=DUYUX
 448 :             UYUY.AM(IFAC,1,1)=DUYUY
 449 :             UYUZ.AM(IFAC,1,1)=DUYUZ
 450 :             UYRET.AM(IFAC,1,1)=DUYP
 451 : C
 452 :             UZR.AM(IFAC,1,1)=DUZRO
 453 :             UZUX.AM(IFAC,1,1)=DUZUX
 454 :             UZUY.AM(IFAC,1,1)=DUZUY
 455 :             UZUZ.AM(IFAC,1,1)=DUZUZ
 456 :             UZRET.AM(IFAC,1,1)=DUZP
 457 : C
 458 :             RETR.AM(IFAC,1,1)=DPRO
 459 :             RETUX.AM(IFAC,1,1)=DPUX
 460 :             RETUY.AM(IFAC,1,1)=DPUY
 461 :             RETUZ.AM(IFAC,1,1)=DPUZ
 462 :             RETRET.AM(IFAC,1,1)=DPP
 463 :          ENDIF
 464 :       ENDDO
 465 : C
 466 :       SEGDES MELEFC
 467 : C      
 468 :       SEGSUP MLEMC
 469 :       SEGSUP MLEMCB
 470 :       SEGSUP MLEMF
 471 : C
 472 :       SEGDES MPNORM
 473 :       SEGDES MPVOL
 474 :       SEGDES MPSURF
 475 :       SEGDES MPRC
 476 :       SEGDES MPPC
 477 :       SEGDES MPVC
 478 :       SEGDES MPGAMC
 479 :       SEGDES MPLIM
 480 : C
 481 :       SEGDES   RR  , RUX , RUY , RUZ ,RRET ,
 482 :      &         UXR , UXUX , UXUY , UXUZ ,UXRET ,
 483 :      &         UYR , UYUX , UYUY , UYUZ , UYRET ,
 484 :      &         UZR , UZUX , UZUY , UZUZ , UZRET ,
 485 :      &         RETR , RETUX , RETUY, RETUZ , RETRET 
 486 : C
 487 :  9999 CONTINUE
 488 :       RETURN
 489 :       END
 490 : 
 491 : 
 492 : 
 493 : 
 494 :  
 495 :  
 496 :  
 497 :  
 498 :  

© Cast3M 2003 - All rights reserved.
Disclaimer