Download cli182.eso

Back to the list

   1 : C CLI182    SOURCE    MAGN      09/07/30    21:16:02     6458           
   2 :       SUBROUTINE CLI182(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               :  CLI182
   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 : C
  44 : C**** Variables de COOPTIO
  45 : C
  46 : C      INTEGER IPLLB, IERPER, IERMAX, IERR, INTERR
  47 : C     &        ,IOTER,   IOLEC,  IOIMP,     IOCAR,  IOACQ
  48 : C     &        ,IOPER,   IOSGB,  IOGRA,     IOSAU,  IORES
  49 : C     &        ,IECHO,   IIMPI,  IOSPI
  50 : C     &        ,IDIM,    IFICLE, IPREFI     
  51 : C     &        ,MCOORD
  52 : C     &        ,IFOMOD, NIFOUR, IFOUR, NSDPGE, IONIVE
  53 : C     &        ,NGMAXY, IZROSF, ISOTYP, IOSCR,LTEXLU
  54 : C     &        ,NORINC,NORVAL,NORIND,NORVAD
  55 : C     &        ,NUCROU, IPSAUV
  56 : C
  57 :       INTEGER MELEMF,MELEMC,MELECB,INORM,ICHPVO,ICHPSU, IROC,IVITC,IPC
  58 :      &     ,IGAMC,ICHLIM,ICEL,NFAC,IFAC,MELRES,IJACO
  59 :      &     ,NGF,NGC,NLF,NLC,NLCB
  60 :      &     ,ILIINC,ILIINP,IJAC
  61 :      &     ,MP, NBEL, NBME, NBSOUS, NKID, NKMT, NMATRI, NP, NRIGE
  62 :       REAL*8 VOLU,SURF,GAMC,CNX,CNY,CTX,CTY,GM1
  63 :      &     ,RC,UXC,UYC,UNC,CC,ACEL,BCEL,CCEL
  64 :      &     ,PC,PSRF,RHOUF,P,PSTAR,RHO,UN,UT,UX,UY,ECIN
  65 :      &     ,DADR,DADP,DBDR,DBDP,DBDUX,DBDUY,DCDP
  66 :      &     ,DPSDA,DPSDB,DPSDC,DPDR,DPDP,DPDUX,DPDUY
  67 :      &     ,DUXDP,DUYDP,DECINP,DF2DP,DF3DP,DF4DP
  68 :      &     ,DRORO,DROUX,DROUY,DROP
  69 :      &     ,DUXRO,DUXUX,DUXUY,DUXP
  70 :      &     ,DUYRO,DUYUX,DUYUY,DUYP
  71 :      &     ,DPRO,DPUX,DPUY,DPP
  72 :      &     ,COEF1,COEF2,COEF3,COEF
  73 : C     &     ,YCAC,YCAC2,YCAC3,XCAC,F1,F2,F3,F4,USGM1
  74 :       CHARACTER*(8) TYPE
  75 : C
  76 : C
  77 : C**** KRIPAD pour la correspondance global/local
  78 : C
  78 :       CALL KRIPAD(MELEMC,MLEMC)
  79 : C     SEGINI MLEMC 
  79 :       CALL KRIPAD(MELECB,MLEMCB)
  80 : C     SEGINI MLEMCB
  80 :       CALL KRIPAD(MELEMF,MLEMF)
  81 : C     SEGINI MLEMF
  82 : C
  83 : C**** CHPOINTs de la table DOMAINE
  84 : C
  84 :       CALL LICHT(INORM,MPNORM,TYPE,ICEL)
  84 :       CALL LICHT(ICHPVO,MPVOL,TYPE,ICEL)
  84 :       CALL LICHT(ICHPSU,MPSURF,TYPE,ICEL)
  85 : C
  86 : C**** LICHT active les MPOVALs en *MOD
  87 : C
  88 : C     SEGACT MPNORM*MOD
  89 : C     SEGACT MPOVSU*MOD
  90 : C     SEGACT MPOVOL*MOD
  91 : C
  92 : C
  93 : C**** CHPOINTs des variables
  94 : C
  94 :       CALL LICHT(IROC,MPRC,TYPE,ICEL)
  94 :       CALL LICHT(IVITC,MPVC,TYPE,ICEL)
  94 :       CALL LICHT(IPC,MPPC,TYPE,ICEL)
  94 :       CALL LICHT(IGAMC,MPGAMC,TYPE,ICEL)
  94 :       CALL LICHT(ICHLIM,MPLIM,TYPE,ICEL)
  95 : C
  96 : C     SEGACT *MOD
  97 : C     SEGACT *MOD
  98 : C     SEGACT *MOD
  99 : C     SEGACT *MOD
 100 : C     SEGACT *MOD
 101 : C
 102 : C
 103 : C**** Boucle sur le face pour le calcul des invariants de
 104 : C     Riemann et du flux
 105 : C
 106 :       SEGACT MELEFC
 107 :       NFAC=MELEFC.NUM(/2)
 108 : C
 109 : C**** Objet MATRIK
 110 : C
 111 :       NRIGE = 7
 112 :       NMATRI = 1
 113 :       NKID = 9
 114 :       NKMT = 7
 115 : C
 116 :       SEGINI MATRIK
 117 :       IJACO = MATRIK
 118 :       MATRIK.IRIGEL(1,1) = MELRES
 119 :       MATRIK.IRIGEL(2,1) = MELRES
 120 : C
 121 : C**** Matrice non symetrique
 122 : C
 123 :       MATRIK.IRIGEL(7,1) = 2
 124 : C
 125 :       NBME = 16
 126 :       NBSOUS = 1
 127 :       SEGINI IMATRI
 128 :       IF(IJAC.EQ.1)THEN
 129 :          MLMOTS=ILIINC
 130 :       ELSEIF(IJAC.EQ.2)THEN
 131 :          MLMOTS=ILIINP
 132 :       ENDIF
 133 :       SEGACT MLMOTS
 134 :       MATRIK.IRIGEL(4,1) = IMATRI
 135 : C
 136 :       IMATRI.LISPRI(1) = MLMOTS.MOTS(1)
 137 :       IMATRI.LISPRI(2) = MLMOTS.MOTS(2)
 138 :       IMATRI.LISPRI(3) = MLMOTS.MOTS(3)
 139 :       IMATRI.LISPRI(4) = MLMOTS.MOTS(4)
 140 :       IMATRI.LISPRI(5) = MLMOTS.MOTS(1)
 141 :       IMATRI.LISPRI(6) = MLMOTS.MOTS(2)
 142 :       IMATRI.LISPRI(7) = MLMOTS.MOTS(3)
 143 :       IMATRI.LISPRI(8) = MLMOTS.MOTS(4)
 144 :       IMATRI.LISPRI(9) = MLMOTS.MOTS(1)
 145 :       IMATRI.LISPRI(10) = MLMOTS.MOTS(2)
 146 :       IMATRI.LISPRI(11) = MLMOTS.MOTS(3)
 147 :       IMATRI.LISPRI(12) = MLMOTS.MOTS(4)
 148 :       IMATRI.LISPRI(13) = MLMOTS.MOTS(1)
 149 :       IMATRI.LISPRI(14) = MLMOTS.MOTS(2)
 150 :       IMATRI.LISPRI(15) = MLMOTS.MOTS(3)
 151 :       IMATRI.LISPRI(16) = MLMOTS.MOTS(4)
 152 : C
 153 :       SEGDES MLMOTS
 154 :       MLMOTS=ILIINC
 155 :       SEGACT MLMOTS
 156 : C
 157 :       IMATRI.LISDUA(1) = MLMOTS.MOTS(1)
 158 :       IMATRI.LISDUA(2) = MLMOTS.MOTS(1)
 159 :       IMATRI.LISDUA(3) = MLMOTS.MOTS(1)
 160 :       IMATRI.LISDUA(4) = MLMOTS.MOTS(1)
 161 :       IMATRI.LISDUA(5) = MLMOTS.MOTS(2)
 162 :       IMATRI.LISDUA(6) = MLMOTS.MOTS(2)
 163 :       IMATRI.LISDUA(7) = MLMOTS.MOTS(2)
 164 :       IMATRI.LISDUA(8) = MLMOTS.MOTS(2)
 165 :       IMATRI.LISDUA(9) = MLMOTS.MOTS(3)
 166 :       IMATRI.LISDUA(10) = MLMOTS.MOTS(3)
 167 :       IMATRI.LISDUA(11) = MLMOTS.MOTS(3)
 168 :       IMATRI.LISDUA(12) = MLMOTS.MOTS(3)
 169 :       IMATRI.LISDUA(13) = MLMOTS.MOTS(4)
 170 :       IMATRI.LISDUA(14) = MLMOTS.MOTS(4)
 171 :       IMATRI.LISDUA(15) = MLMOTS.MOTS(4)
 172 :       IMATRI.LISDUA(16) = MLMOTS.MOTS(4)
 173 : C
 174 :       SEGDES MLMOTS
 175 :       NBEL = NFAC
 176 :       NBSOUS = 1
 177 :       NP = 1
 178 :       MP = 1
 179 :       SEGINI   RR  , RUX , RUY , RRET ,
 180 :      &         UXR , UXUX , UXUY , UXRET ,
 181 :      &         UYR , UYUX , UYUY , UYRET ,
 182 :      &         RETR , RETUX , RETUY , RETRET 
 183 : C
 184 : C**** Duale = IMATRI.LISDUA(1) = 'RN'
 185 : C     Primale = IMATRI.LISPRI(1) = 'RN'
 186 : C     -> IMATRI.LIZAFM(1,1) = RR
 187 : C
 188 :       IMATRI.LIZAFM(1,1) = RR
 189 :       IMATRI.LIZAFM(1,2) = RUX
 190 :       IMATRI.LIZAFM(1,3) = RUY
 191 :       IMATRI.LIZAFM(1,4) = RRET
 192 :       IMATRI.LIZAFM(1,5) = UXR
 193 :       IMATRI.LIZAFM(1,6) = UXUX
 194 :       IMATRI.LIZAFM(1,7) = UXUY
 195 :       IMATRI.LIZAFM(1,8) = UXRET
 196 :       IMATRI.LIZAFM(1,9) = UYR
 197 :       IMATRI.LIZAFM(1,10) = UYUX
 198 :       IMATRI.LIZAFM(1,11) = UYUY
 199 :       IMATRI.LIZAFM(1,12) = UYRET
 200 :       IMATRI.LIZAFM(1,13) = RETR
 201 :       IMATRI.LIZAFM(1,14) = RETUX
 202 :       IMATRI.LIZAFM(1,15) = RETUY
 203 :       IMATRI.LIZAFM(1,16) = RETRET
 204 : C
 205 :       SEGDES MATRIK
 206 :       SEGDES IMATRI
 207 : C
 208 : C**** Fin definition MATRIK
 209 : C
 210 :       DO IFAC=1,NFAC,1
 211 :          NGF=MELEFC.NUM(1,IFAC)
 212 :          NGC=MELEFC.NUM(2,IFAC)
 213 :          NLF=MLEMF.LECT(NGF)
 214 :          NLC=MLEMC.LECT(NGC)
 215 :          NLCB=MLEMCB.LECT(NGF)
 216 :          VOLU=MPVOL.VPOCHA(NLC,1)
 217 :          SURF=MPSURF.VPOCHA(NLF,1)
 218 : C        In CASTEM les normales sont sortantes
 219 :          CNX=-1*MPNORM.VPOCHA(NLF,1)
 220 :          CNY=-1*MPNORM.VPOCHA(NLF,2)
 221 :          CTX=-1*CNY
 222 :          CTY=CNX
 223 : C        Variables au centre
 224 :          GAMC=MPGAMC.VPOCHA(NLC,1)
 225 :          GM1=GAMC-1.0D0
 226 :          PC=MPPC.VPOCHA(NLC,1)
 227 :          RC=MPRC.VPOCHA(NLC,1)
 228 :          UXC=MPVC.VPOCHA(NLC,1)
 229 :          UYC=MPVC.VPOCHA(NLC,2)
 230 :          UNC=(UXC*CNX)+(UYC*CNY)
 231 :          CC=GAMC*PC/RC
 232 :          CC=CC**0.5D0
 233 : C        Variables à la face
 234 :          RHOUF=MPLIM.VPOCHA(NLCB,1)
 235 :          PSRF=MPLIM.VPOCHA(NLCB,2)
 236 : C
 237 : C******* Variables à l'interface
 238 : C
 239 :          ACEL=CC/GAMC
 240 :          BCEL=ACEL - UNC
 241 :          CCEL=(RHOUF / PC) * PSRF
 242 :          PSTAR=BCEL+(((BCEL*BCEL) + (4*ACEL*CCEL))**0.5D0)
 243 :          PSTAR=PSTAR/(2*ACEL)
 244 :          P=PSTAR*PC
 245 :          RHO=P/PSRF
 246 :          UN=RHOUF/RHO
 247 :          UT=0.0D0
 248 :          UX=UN*CNX+UT*CTX
 249 :          UY=UN*CNY+UT*CTY
 250 :          ECIN=0.5D0*((UX*UX)+(UY*UY))
 251 : C
 252 : C******* Derivatives of ACEL, BCEL, CCEL with respect to the 
 253 : C        variables at centers
 254 : C
 255 :          DADR = -0.5D0*CC/(RC*GAMC)
 256 :          DADP =  0.5D0*CC/(PC*GAMC)
 257 :          DBDR = DADR
 258 :          DBDP = DADP
 259 :          DBDUX = -1*CNX
 260 :          DBDUY = -1*CNY
 261 :          DCDP = -1*CCEL/PC
 262 : C
 263 : C******* Derivatives of PSTAR with respect to ACEL,BCEL,CCEL
 264 : C
 265 :          DPSDA = -1*(PSTAR*PSTAR)/((2*ACEL*PSTAR)-BCEL)
 266 :          DPSDB = PSTAR/((2*ACEL*PSTAR)-BCEL)
 267 :          DPSDC = 1/((2*ACEL*PSTAR)-BCEL)
 268 : C
 269 : C******* Derivatives of PC*PSTAR with respect to RC,PC,UXC,UYC
 270 : C
 271 :          DPDR=(DPSDA*DADR)+(DPSDB*DBDR)
 272 :          DPDR=DPDR*PC
 273 :          DPDP=(DPSDA*DADP)+(DPSDB*DBDP)+(DPSDC*DCDP)
 274 :          DPDP=(DPDP*PC)+PSTAR
 275 :          DPDUX=(DPSDB*DBDUX)*PC
 276 :          DPDUY=(DPSDB*DBDUY)*PC
 277 : CC
 278 : CC******* Test 1
 279 : CC
 280 : CC        We check dpdp
 281 : CC
 282 : C         YCAC=P
 283 : C         XCAC=PC
 284 : C         PC=PC*(1+1.0D-4)
 285 : C         CC=GAMC*PC/RC
 286 : C         CC=CC**0.5D0
 287 : CC
 288 : C         ACEL=CC/GAMC
 289 : C         BCEL=ACEL - UNC
 290 : C         CCEL=(RHOUF / PC) * PSRF
 291 : C         PSTAR=BCEL+(((BCEL*BCEL) + (4*ACEL*CCEL))**0.5D0)
 292 : C         PSTAR=PSTAR/(2*ACEL)
 293 : C         P=PSTAR*PC
 294 : C         write(*,*) ((P - YCAC)/(PC - XCAC)), DPDP
 295 : CC
 296 : CC        We check dpdr
 297 : CC
 298 : C         YCAC=P
 299 : C         XCAC=RC
 300 : C         RC=RC*(1+1.0D-4)
 301 : C         CC=GAMC*PC/RC
 302 : C         CC=CC**0.5D0
 303 : CC
 304 : C         ACEL=CC/GAMC
 305 : C         BCEL=ACEL - UNC
 306 : C         CCEL=(RHOUF / PC) * PSRF
 307 : C         PSTAR=BCEL+(((BCEL*BCEL) + (4*ACEL*CCEL))**0.5D0)
 308 : C         PSTAR=PSTAR/(2*ACEL)
 309 : C         P=PSTAR*PC
 310 : C         write(*,*) ((P - YCAC)/(RC - XCAC)), DPDR
 311 : CC
 312 : CC        We check dpdux
 313 : CC
 314 : C         YCAC=P
 315 : C         XCAC=UXC
 316 : C         UXC=UXC*(1+1.0D-4)
 317 : C         UNC=(UXC*CNX)+(UYC*CNY)
 318 : C         CC=GAMC*PC/RC
 319 : C         CC=CC**0.5D0
 320 : CC
 321 : C         ACEL=CC/GAMC
 322 : C         BCEL=ACEL - UNC
 323 : C         CCEL=(RHOUF / PC) * PSRF
 324 : C         PSTAR=BCEL+(((BCEL*BCEL) + (4*ACEL*CCEL))**0.5D0)
 325 : C         PSTAR=PSTAR/(2*ACEL)
 326 : C         P=PSTAR*PC
 327 : C         write(*,*) ((P - YCAC)/(UXC - XCAC)), DPDUX
 328 : CC
 329 : CC        We check dpduy
 330 : CC
 331 : C         YCAC=P
 332 : C         XCAC=UYC
 333 : C         UYC=UYC*(1+1.0D-4)
 334 : C         UNC=(UXC*CNX)+(UYC*CNY)
 335 : C         CC=GAMC*PC/RC
 336 : C         CC=CC**0.5D0
 337 : CC
 338 : C         ACEL=CC/GAMC
 339 : C         BCEL=ACEL - UNC
 340 : C         CCEL=(RHOUF / PC) * PSRF
 341 : C         PSTAR=BCEL+(((BCEL*BCEL) + (4*ACEL*CCEL))**0.5D0)
 342 : C         PSTAR=PSTAR/(2*ACEL)
 343 : C         P=PSTAR*PC
 344 : C         write(*,*) ((P - YCAC)/(UYC - XCAC)), DPDUY
 345 : C
 346 : CC
 347 : CC******* Fin test 1
 348 : C
 349 : C
 350 : C******* The interfacial state is thus given by
 351 : C        RHOUF,PSRF,P and UT (UT=0)
 352 : C        Let us now compute the derivative of the residuum with 
 353 : C        respect to P.
 354 : C        The residuum is given by
 355 : C        
 356 : C        F1=RHOUF*SURF/VOLU
 357 : C        F2=(RHOUF*UX+P*CNX)*SURF/VOLU 
 358 : C        F3=(RHOUF*UY+P*CNY)*SURF/VOLU
 359 : C        F4=(RHOUF*((GAMC*USGM1*PSRF)+ECIN))*SURF/VOLU 
 360 : C
 361 : C        In these expression: UX, UY, P and ECIN depends on P
 362 : C
 363 :          COEF=SURF/VOLU
 364 :          DUXDP=-1*UX/P
 365 :          DUYDP=-1*UY/P
 366 :          DECINP=-2*ECIN/P
 367 :          DF2DP=((RHOUF*DUXDP)+CNX)*COEF
 368 :          DF3DP=((RHOUF*DUYDP)+CNY)*COEF
 369 :          DF4DP=(RHOUF*DECINP)*COEF
 370 : 
 371 : CC
 372 : CC******* Test 2
 373 : CC
 374 : CC        We check DF2P
 375 : CC
 376 : C         USGM1=1/GM1
 377 : C         F2=(RHOUF*UX+P*CNX)*COEF 
 378 : C         F3=(RHOUF*UY+P*CNY)*COEF 
 379 : C         F4=(RHOUF*((GAMC*USGM1*PSRF)+ECIN))*COEF
 380 : CC
 381 : C         YCAC=F2
 382 : C         YCAC2=F3
 383 : C         YCAC3=F4
 384 : C         XCAC=P
 385 : C         P=P*(1+1.0D-4)
 386 : C         RHO=P/PSRF
 387 : C         UN=RHOUF/RHO
 388 : C         UT=0.0D0
 389 : C         UX=UN*CNX+UT*CTX
 390 : C         UY=UN*CNY+UT*CTY
 391 : C         ECIN=0.5D0*((UX*UX)+(UY*UY))
 392 : C
 393 : C         F2=(RHOUF*UX+P*CNX)*COEF 
 394 : C         F3=(RHOUF*UY+P*CNY)*COEF 
 395 : C         F4=(RHOUF*((GAMC*USGM1*PSRF)+ECIN))*COEF
 396 : C         write(*,*) ((F2 -YCAC)/(P-XCAC)),DF2DP
 397 : C         write(*,*) ((F3 -YCAC2)/(P-XCAC)),DF3DP
 398 : C         write(*,*) ((F4 -YCAC3)/(P-XCAC)),DF4DP
 399 : CC
 400 : CC******* Fin test 2
 401 : CC
 402 : C
 403 : C******* Jacobian with respect to primitive variables
 404 : C 
 405 : C        DF1D...
 406 : C
 407 :          DRORO=0.0D0
 408 :          DROUX=0.0D0
 409 :          DROUY=0.0D0
 410 :          DROP=0.0D0
 411 : C    
 412 : C        DF4D...
 413 : C
 414 :          DPRO=DF4DP*DPDR
 415 :          DPUX=DF4DP*DPDUX
 416 :          DPUY=DF4DP*DPDUY
 417 :          DPP=DF4DP*DPDP
 418 : C
 419 : C        DF2D...
 420 : C
 421 :          DUXRO=DF2DP*DPDR
 422 :          DUXUX=DF2DP*DPDUX
 423 :          DUXUY=DF2DP*DPDUY
 424 :          DUXP =DF2DP*DPDP
 425 : C
 426 : C        DF3D
 427 : C
 428 :          DUYRO=DF3DP*DPDR
 429 :          DUYUX=DF3DP*DPDUX
 430 :          DUYUY=DF3DP*DPDUY
 431 :          DUYP =DF3DP*DPDP
 432 : C
 433 : C******* Jacobian with respect to conservative variables
 434 : C
 435 :          IF(IJAC.EQ.1)THEN
 436 : 
 437 :             COEF1=-1.0D0*UXC/RC
 438 :             COEF2=-1.0D0*UYC/RC
 439 :             COEF3=0.5D0*GM1*((UXC*UXC)+(UYC*UYC))
 440 : C
 441 :             RR.AM(IFAC,1,1)=DRORO+(DROUX*COEF1)+(DROUY*COEF2)+(DROP
 442 :      $           *COEF3)
 443 :             RUX.AM(IFAC,1,1)=(DROUX/RC)-((UXC*GM1)*DROP)
 444 :             RUY.AM(IFAC,1,1)=(DROUY/RC)-((UYC*GM1)*DROP)
 445 :             RRET.AM(IFAC,1,1)=GM1*DROP
 446 : C
 447 :             UXR.AM(IFAC,1,1)=DUXRO+(DUXUX*COEF1)+(DUXUY*COEF2)+(DUXP
 448 :      $           *COEF3)
 449 :             UXUX.AM(IFAC,1,1)=(DUXUX/RC)-((UXC*GM1)*DUXP)
 450 :             UXUY.AM(IFAC,1,1)=(DUXUY/RC)-((UYC*GM1)*DUXP)
 451 :             UXRET.AM(IFAC,1,1)=GM1*DUXP
 452 : C
 453 :             UYR.AM(IFAC,1,1)=DUYRO+(DUYUX*COEF1)+(DUYUY*COEF2)+(DUYP
 454 :      $           *COEF3)
 455 :             UYUX.AM(IFAC,1,1)=(DUYUX/RC)-((UXC*GM1)*DUYP)
 456 :             UYUY.AM(IFAC,1,1)=(DUYUY/RC)-((UYC*GM1)*DUYP)
 457 :             UYRET.AM(IFAC,1,1)=GM1*DUYP
 458 : C
 459 :             RETR.AM(IFAC,1,1)=DPRO+(DPUX*COEF1)+(DPUY*COEF2)+(DPP
 460 :      $           *COEF3)
 461 :             RETUX.AM(IFAC,1,1)=(DPUX/RC)-((UXC*GM1)*DPP)
 462 :             RETUY.AM(IFAC,1,1)=(DPUY/RC)-((UYC*GM1)*DPP)
 463 :             RETRET.AM(IFAC,1,1)=GM1*DPP
 464 : C
 465 :          ELSEIF(IJAC.EQ.2)THEN
 466 :             RR.AM(IFAC,1,1)=DRORO
 467 :             RUX.AM(IFAC,1,1)=DROUX
 468 :             RUY.AM(IFAC,1,1)=DROUY
 469 :             RRET.AM(IFAC,1,1)=DROP
 470 : C
 471 :             UXR.AM(IFAC,1,1)=DUXRO
 472 :             UXUX.AM(IFAC,1,1)=DUXUX
 473 :             UXUY.AM(IFAC,1,1)=DUXUY
 474 :             UXRET.AM(IFAC,1,1)=DUXP
 475 : C
 476 :             UYR.AM(IFAC,1,1)=DUYRO
 477 :             UYUX.AM(IFAC,1,1)=DUYUX
 478 :             UYUY.AM(IFAC,1,1)=DUYUY
 479 :             UYRET.AM(IFAC,1,1)=DUYP
 480 : C
 481 :             RETR.AM(IFAC,1,1)=DPRO
 482 :             RETUX.AM(IFAC,1,1)=DPUX
 483 :             RETUY.AM(IFAC,1,1)=DPUY
 484 :             RETRET.AM(IFAC,1,1)=DPP
 485 :          ENDIF
 486 :       ENDDO
 487 : C
 488 :       SEGDES MELEFC
 489 : C      
 490 :       SEGSUP MLEMC
 491 :       SEGSUP MLEMCB
 492 :       SEGSUP MLEMF
 493 : C
 494 :       SEGDES MPNORM
 495 :       SEGDES MPVOL
 496 :       SEGDES MPSURF
 497 :       SEGDES MPRC
 498 :       SEGDES MPPC
 499 :       SEGDES MPVC
 500 :       SEGDES MPGAMC
 501 :       SEGDES MPLIM
 502 : C
 503 :       SEGDES   RR  , RUX , RUY , RRET ,
 504 :      &         UXR , UXUX , UXUY , UXRET ,
 505 :      &         UYR , UYUX , UYUY , UYRET ,
 506 :      &         RETR , RETUX , RETUY , RETRET 
 507 : C
 508 :  9999 CONTINUE
 509 :       RETURN
 510 :       END
 511 : 
 512 : 
 513 : 
 514 : 
 515 :  
 516 :  
 517 :  
 518 :  
 519 :  
 520 :  

© Cast3M 2003 - All rights reserved.
Disclaimer