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