1 : C KONJA7 SOURCE MAGN 09/07/30 21:18:04 6458 2 : SUBROUTINE KONJA7(ILINC,IRN,IUN,IPN,IGAMN,INORM,ICHPVO 3 : $ ,ICHPSU,IUINF,IUPRI,MELEMC,MELEFE,MELLIM,IMAT) 4 : C 5 : C************************************************************************ 6 : C 7 : C PROJET : CASTEM 2000 8 : C 9 : C NOM : KONJA7 10 : C 11 : C DESCRIPTION : Voir KON12 12 : C Calcul du jacobien du résidu pour la méthode de 13 : C AUSM+low mach 14 : C 14 : C Cas 3D, gaz "calorically perfect" 15 : C 16 : C LANGAGE : FORTRAN 77 + ESOPE 2000 (avec estensions CISI) 17 : C 18 : C AUTEUR : A. BECCANTINI, SFME/LTMF 19 : C 20 : C************************************************************************ 21 : C 22 : C 23 : C APPELES (Outils 24 : C CASTEM) : 25 : C 26 : C APPELES (Calcul) : 27 : C 28 : C************************************************************************ 29 : C 30 : C ENTREES 31 : C 32 : C ILINC : liste des inconnues (pointeur d'un objet de type LISTMOTS) 33 : C 34 : C 1) Pointeurs des CHPOINT 35 : C 36 : C IRN : CHPOINT CENTRE contenant la masse volumique ; 37 : C 38 : C IUN : CHPOINT CENTRE contenant la vitesse ; 39 : C 40 : C IPN : CHPOINT CENTRE contenant la pression ; 41 : C 42 : C IGAMN : CHPOINT CENTRE contenant le gamma ; 43 : C 44 : C INORM : CHPOINT FACE contenant les normales aux faces ; 45 : C 46 : C ICHPOVO : CHPOINT VOLUME contenant le volume 47 : C 48 : C ICHPOSU : CHPOINT FACE contenant la surface des faces 49 : C 50 : C IUINF : CHPOINT, one component, "cut-off velocity" 51 : C 0 if no Bas MACH 52 : C 53 : C IUPRI : CHPOINT, one component, "minimum reference velocity" 54 : C 0 if no BAs Mach 55 : C 56 : C 2) Pointeurs de MELEME de la table DOMAINE 57 : C 58 : C MELEMC : MELEME 'CENTRE' du SPG des CENTRES 59 : C 60 : C MELEFE : MELEME 'FACEL' du connectivité Faces -> Elts 61 : C 62 : C MELLIM : MELEME SPG des conditions aux bords 63 : C 64 : C SORTIES 65 : C 66 : C IMAT : pointeur de la MATRIK du jacobien du residu 67 : C 68 : C************************************************************************ 69 : C 70 : C HISTORIQUE (Anomalies et modifications éventuelles) 71 : C 72 : C HISTORIQUE : 73 : C 74 : C************************************************************************ 75 : C 76 : C 77 : C N.B.: On suppose qu'on a déjà controllé RO, P > 0 78 : C GAMMA \in (1,3) 79 : C Si non il faut le faire!!! 80 : C 81 : C************************************************************************ 82 : C 83 : C 84 : C**** Variables de COOPTIO 85 : C 86 : C INTEGER IPLLB, IERPER, IERMAX, IERR, INTERR 87 : C & ,IOTER, IOLEC, IOIMP, IOCAR, IOACQ 88 : C & ,IOPER, IOSGB, IOGRA, IOSAU, IORES 89 : C & ,IECHO, IIMPI, IOSPI 90 : C & ,IDIM 91 : C & ,MCOORD 92 : C & ,IFOMOD, NIFOUR, IFOUR, NSDPGE, IONIVE 93 : C & ,NGMAXY, IZROSF, ISOTYP, IOSCR,LTEXLU 94 : C & ,NORINC,NORVAL,NORIND,NORVAD 95 : C & ,NUCROU, IPSAUV 96 : C 97 : IMPLICIT INTEGER(I-N) 98 : INTEGER ILINC, IRN,IUN,IPN,IGAMN,INORM,ICHPVO,ICHPSU 99 : & , IMAT, IGEOMC, IGEOMF, IUINF, IUPRI 100 : & , NFAC, NBSOUS, NBREF, NBELEM, NBNN, NRIGE, NMATRI, NKID 101 : & , NKMT, NBME, NBEL, MP, NP 102 : & , IFAC, NGCF, NLCF, NGCG, NGCD, NLCG, NLCD 103 : & , NLFL 104 : REAL*8 ROG, PG, UXG, UYG, UZG, GAMG, VOLG 105 : & , ROD, PD, UXD, UYD, UZD, VOLD 106 : & , SURF 107 : & , FUNCEL 108 : REAL*8 WVEC_L(5), WVEC_R(5), NVECT(3), TVECT1(3),TVECT2(3) 109 : REAL*8 JTL(5,5), JTR(5,5), V_INF 110 : REAL*8 C11,C12,C13,C21,C22,C23,C31,C32,C33,DET 111 : REAL*8 ZC11,ZC12,ZC13,ZC21,ZC22,ZC23,ZC31,ZC32,ZC33 112 : CHARACTER*8 TYPE 113 : C 114 : C**** LES INCLUDES 115 : C 116 : -INC CCOPTIO 117 : -INC SMCHPOI 118 : -INC SMMATRIK 119 : -INC SMELEME 120 : -INC SMLMOTS 121 : -INC SMLENTI 122 : POINTEUR MPRN.MPOVAL, MPUN.MPOVAL, MPPN.MPOVAL, MPGAMN.MPOVAL, 123 : & MPNORM.MPOVAL, MPVOLU.MPOVAL, MPOVSU.MPOVAL 124 : POINTEUR MELEMC.MELEME, MELEMF.MELEME, MELEFE.MELEME, 125 : & MELEDU.MELEME, MELLIM.MELEME 126 : POINTEUR MLENTC.MLENTI, MLENTF.MLENTI, MLELIM.MLENTI 127 : POINTEUR RR.IZAFM, RUX.IZAFM, RUY.IZAFM, RUZ.IZAFM, RRET.IZAFM, 128 : & UXR.IZAFM, UXUX.IZAFM, UXUY.IZAFM, UXUZ.IZAFM, UXRET.IZAFM, 129 : & UYR.IZAFM, UYUX.IZAFM, UYUY.IZAFM, UYUZ.IZAFM, UYRET.IZAFM, 130 : & UZR.IZAFM, UZUX.IZAFM, UZUY.IZAFM, UZUZ.IZAFM, UZRET.IZAFM, 131 : & RETR.IZAFM, RETUX.IZAFM, RETUY.IZAFM, RETUZ.IZAFM, 132 : & RETRET.IZAFM 133 : POINTEUR MLMINC.MLMOTS, MPUPRI.MPOVAL, MPUINF.MPOVAL 134 : C 135 : C**** KRIPAD pour la correspondance global/local des conditions limits 136 : C 136 : CALL KRIPAD(MELLIM,MLELIM) 137 : C SEGACT MELLIM 138 : C 139 : C**** KRIPAD pour la correspondance global/local des centres 140 : C 140 : CALL KRIPAD(MELEMC,MLENTC) 141 : C 142 : C SEGACT MLENTC 143 : SEGACT MELEMC 144 : C 145 : SEGACT MELEFE 146 : C 146 : CALL LICHT(ICHPSU,MPOVSU,TYPE,IGEOMF) 146 : CALL LICHT(INORM,MPNORM,TYPE,IGEOMF) 146 : CALL LICHT(ICHPVO,MPVOLU,TYPE,IGEOMC) 147 : C 148 : C**** LICHT active les MPOVALs en *MOD 149 : C 150 : C i.e. 151 : C 152 : C SEGACT MPOVSU*MOD 153 : C SEGACT MPOVNO*MOD 154 : C SEGACT MPVOLU*MOD 155 : C 156 : MELEMF = IGEOMF 156 : CALL KRIPAD(MELEMF,MLENTF) 157 : C 158 : C SEGACT MLENTF 159 : SEGACT MELEMF 160 : C 160 : CALL LICHT(IRN,MPRN,TYPE,IGEOMC) 160 : CALL LICHT(IPN,MPPN,TYPE,IGEOMC) 160 : CALL LICHT(IUN,MPUN,TYPE,IGEOMC) 160 : CALL LICHT(IGAMN,MPGAMN,TYPE,IGEOMC) 161 : C 162 : C SEGACT MPRN*MOD 163 : C SEGACT MPPN*MOD 164 : C SEGACT MPUN*MOD 165 : C SEGACT MPGAMN*MOD 166 : C 167 : NFAC = MELEFE.NUM(/2) 168 : C 169 : C**** Maillage des inconnues primales 170 : C 171 : NBSOUS = 0 172 : NBREF = 0 173 : NBELEM = NFAC 174 : NBNN = 2 175 : C 176 : SEGINI MELEDU 177 : C MELEPR = MELEDU 178 : C 179 : C**** MELEDU = 'SEG2' 180 : C 181 : MELEDU.ITYPEL = 2 182 : C 183 : NRIGE = 7 184 : NMATRI = 1 185 : NKID = 9 186 : NKMT = 7 187 : C 188 : SEGINI MATRIK 189 : IMAT = MATRIK 190 : MATRIK.IRIGEL(1,1) = MELEDU 191 : MATRIK.IRIGEL(2,1) = MELEDU 192 : C 193 : C**** Matrice non symetrique 194 : C 195 : MATRIK.IRIGEL(7,1) = 2 196 : C 197 : NBME = 25 198 : NBSOUS = 1 199 : SEGINI IMATRI 200 : MLMINC = ILINC 201 : SEGACT MLMINC 202 : MATRIK.IRIGEL(4,1) = IMATRI 203 : C 204 : IMATRI.LISPRI(1) = MLMINC.MOTS(1) 205 : IMATRI.LISPRI(2) = MLMINC.MOTS(2) 206 : IMATRI.LISPRI(3) = MLMINC.MOTS(3) 207 : IMATRI.LISPRI(4) = MLMINC.MOTS(4) 208 : IMATRI.LISPRI(5) = MLMINC.MOTS(5) 209 : C 210 : IMATRI.LISPRI(6) = MLMINC.MOTS(1) 211 : IMATRI.LISPRI(7) = MLMINC.MOTS(2) 212 : IMATRI.LISPRI(8) = MLMINC.MOTS(3) 213 : IMATRI.LISPRI(9) = MLMINC.MOTS(4) 214 : IMATRI.LISPRI(10) = MLMINC.MOTS(5) 215 : C 216 : IMATRI.LISPRI(11) = MLMINC.MOTS(1) 217 : IMATRI.LISPRI(12) = MLMINC.MOTS(2) 218 : IMATRI.LISPRI(13) = MLMINC.MOTS(3) 219 : IMATRI.LISPRI(14) = MLMINC.MOTS(4) 220 : IMATRI.LISPRI(15) = MLMINC.MOTS(5) 221 : C 222 : IMATRI.LISPRI(16) = MLMINC.MOTS(1) 223 : IMATRI.LISPRI(17) = MLMINC.MOTS(2) 224 : IMATRI.LISPRI(18) = MLMINC.MOTS(3) 225 : IMATRI.LISPRI(19) = MLMINC.MOTS(4) 226 : IMATRI.LISPRI(20) = MLMINC.MOTS(5) 227 : C 228 : IMATRI.LISPRI(21) = MLMINC.MOTS(1) 229 : IMATRI.LISPRI(22) = MLMINC.MOTS(2) 230 : IMATRI.LISPRI(23) = MLMINC.MOTS(3) 231 : IMATRI.LISPRI(24) = MLMINC.MOTS(4) 232 : IMATRI.LISPRI(25) = MLMINC.MOTS(5) 233 : C 234 : IMATRI.LISDUA(1) = MLMINC.MOTS(1) 235 : IMATRI.LISDUA(2) = MLMINC.MOTS(1) 236 : IMATRI.LISDUA(3) = MLMINC.MOTS(1) 237 : IMATRI.LISDUA(4) = MLMINC.MOTS(1) 238 : IMATRI.LISDUA(5) = MLMINC.MOTS(1) 239 : C 240 : IMATRI.LISDUA(6) = MLMINC.MOTS(2) 241 : IMATRI.LISDUA(7) = MLMINC.MOTS(2) 242 : IMATRI.LISDUA(8) = MLMINC.MOTS(2) 243 : IMATRI.LISDUA(9) = MLMINC.MOTS(2) 244 : IMATRI.LISDUA(10) = MLMINC.MOTS(2) 245 : C 246 : IMATRI.LISDUA(11) = MLMINC.MOTS(3) 247 : IMATRI.LISDUA(12) = MLMINC.MOTS(3) 248 : IMATRI.LISDUA(13) = MLMINC.MOTS(3) 249 : IMATRI.LISDUA(14) = MLMINC.MOTS(3) 250 : IMATRI.LISDUA(15) = MLMINC.MOTS(3) 251 : C 252 : IMATRI.LISDUA(16) = MLMINC.MOTS(4) 253 : IMATRI.LISDUA(17) = MLMINC.MOTS(4) 254 : IMATRI.LISDUA(18) = MLMINC.MOTS(4) 255 : IMATRI.LISDUA(19) = MLMINC.MOTS(4) 256 : IMATRI.LISDUA(20) = MLMINC.MOTS(4) 257 : C 258 : IMATRI.LISDUA(21) = MLMINC.MOTS(5) 259 : IMATRI.LISDUA(22) = MLMINC.MOTS(5) 260 : IMATRI.LISDUA(23) = MLMINC.MOTS(5) 261 : IMATRI.LISDUA(24) = MLMINC.MOTS(5) 262 : IMATRI.LISDUA(25) = MLMINC.MOTS(5) 263 : C 264 : NBEL = NBELEM 265 : NBSOUS = 1 266 : NP = 2 267 : MP = 2 268 : SEGINI RR , RUX , RUY , RUZ, RRET , 269 : & UXR , UXUX , UXUY , UXUZ, UXRET , 270 : & UYR , UYUX , UYUY , UYUZ, UYRET , 271 : & UZR , UZUX , UZUY , UZUZ, UZRET , 272 : & RETR , RETUX , RETUY , RETUZ, RETRET 273 : C 274 : C**** Duale = IMATRI.LISDUA(1) = 'RN' 275 : C Primale = IMATRI.LISPRI(1) = 'RN' 276 : C -> IMATRI.LIZAFM(1,1) = RR 277 : C 278 : C Duale = IMATRI.LISDUA(2) = 'RN' 279 : C Primale = IMATRI.LISPRI(1) = 'RUXN' 280 : C -> IMATRI.LIZAFM(1,2) = RUX 281 : C ... 282 : C 283 : IMATRI.LIZAFM(1,1) = RR 284 : IMATRI.LIZAFM(1,2) = RUX 285 : IMATRI.LIZAFM(1,3) = RUY 286 : IMATRI.LIZAFM(1,4) = RUZ 287 : IMATRI.LIZAFM(1,5) = RRET 288 : C 289 : IMATRI.LIZAFM(1,6) = UXR 290 : IMATRI.LIZAFM(1,7) = UXUX 291 : IMATRI.LIZAFM(1,8) = UXUY 292 : IMATRI.LIZAFM(1,9) = UXUZ 293 : IMATRI.LIZAFM(1,10) = UXRET 294 : C 295 : IMATRI.LIZAFM(1,11) = UYR 296 : IMATRI.LIZAFM(1,12) = UYUX 297 : IMATRI.LIZAFM(1,13) = UYUY 298 : IMATRI.LIZAFM(1,14) = UYUZ 299 : IMATRI.LIZAFM(1,15) = UYRET 300 : C 301 : IMATRI.LIZAFM(1,16) = UZR 302 : IMATRI.LIZAFM(1,17) = UZUX 303 : IMATRI.LIZAFM(1,18) = UZUY 304 : IMATRI.LIZAFM(1,19) = UZUZ 305 : IMATRI.LIZAFM(1,20) = UZRET 306 : C 307 : IMATRI.LIZAFM(1,21) = RETR 308 : IMATRI.LIZAFM(1,22) = RETUX 309 : IMATRI.LIZAFM(1,23) = RETUY 310 : IMATRI.LIZAFM(1,24) = RETUZ 311 : IMATRI.LIZAFM(1,25) = RETRET 312 : C************************************************************** 313 : C Bas Mach 314 : C************************************************************** 314 : CALL LICHT(IUPRI,MPUPRI,TYPE,IGEOMC) 314 : CALL LICHT(IUINF,MPUINF,TYPE,IGEOMC) 315 : C************************************************************** 316 : DO IFAC = 1, NFAC, 1 317 : NGCF = MELEFE.NUM(2,IFAC) 318 : NLCF = MLENTF.LECT(NGCF) 319 : IF(NLCF .NE. IFAC)THEN 320 : WRITE(IOIMP,*) 'Il ne faut pas jouer avec la table domaine' 320 : CALL ERREUR(5) 321 : GOTO 9999 322 : ENDIF 323 : NLFL = MLELIM.LECT(NGCF) 324 : NGCG = MELEFE.NUM(1,IFAC) 325 : NGCD = MELEFE.NUM(3,IFAC) 326 : IF(NLFL .NE. 0)THEN 327 : C 328 : C********** The point belongs on BC -> No contribution to jacobian! 329 : C 330 : MELEDU.NUM(1,IFAC) = NGCG 331 : MELEDU.NUM(2,IFAC) = NGCD 332 : ELSEIF(NGCG .NE. NGCD)THEN 333 : C 334 : C********** Les MELEMEs 335 : C 336 : MELEDU.NUM(1,IFAC) = NGCG 337 : MELEDU.NUM(2,IFAC) = NGCD 338 : C 339 : C********** Les etats G et D 340 : C 341 : NLCG = MLENTC.LECT(NGCG) 342 : NLCD = MLENTC.LECT(NGCD) 343 : C 344 : ROG = MPRN.VPOCHA(NLCG,1) 345 : PG = MPPN.VPOCHA(NLCG,1) 346 : UXG = MPUN.VPOCHA(NLCG,1) 347 : UYG = MPUN.VPOCHA(NLCG,2) 348 : UZG = MPUN.VPOCHA(NLCG,3) 349 : GAMG = MPGAMN.VPOCHA(NLCG,1) 350 : VOLG = MPVOLU.VPOCHA(NLCG,1) 351 : C----------------------------------------- 352 : WVEC_L(1)=ROG 353 : WVEC_L(2)=UXG 354 : WVEC_L(3)=UYG 355 : WVEC_L(4)=UZG 356 : WVEC_L(5)=PG 357 : C----------------------------------------- 358 : ROD = MPRN.VPOCHA(NLCD,1) 359 : PD = MPPN.VPOCHA(NLCD,1) 360 : UXD = MPUN.VPOCHA(NLCD,1) 361 : UYD = MPUN.VPOCHA(NLCD,2) 362 : UZD = MPUN.VPOCHA(NLCD,3) 363 : VOLD = MPVOLU.VPOCHA(NLCD,1) 364 : c----------------------------------------------------- 365 : WVEC_R(1)=ROD 366 : WVEC_R(2)=UXD 367 : WVEC_R(3)=UYD 368 : WVEC_R(4)=UZD 369 : WVEC_R(5)=PD 370 : C----------------------------------------------------- 371 : C********** La normale G->D 372 : C La tangente 373 : C----------------------------------------------------- 374 : c SURF = MPOVSU.VPOCHA(NLCF,1) 375 : c CNX = MPNORM.VPOCHA(NLCF,7) 376 : c CNY = MPNORM.VPOCHA(NLCF,8) 377 : c CNZ = MPNORM.VPOCHA(NLCF,9) 378 : cC 379 : cC********** Cosinus directeurs de tangente 1 380 : cC 381 : c CT1X = MPNORM.VPOCHA(NLCF,1) 382 : c CT1Y = MPNORM.VPOCHA(NLCF,2) 383 : c CT1Z = MPNORM.VPOCHA(NLCF,3) 384 : cC 385 : cC********** Cosinus directeurs de tangente 2 386 : cC 387 : c CT2X = MPNORM.VPOCHA(NLCF,4) 388 : c CT2Y = MPNORM.VPOCHA(NLCF,5) 389 : c CT2Z = MPNORM.VPOCHA(NLCF,6) 390 : C------------------------------------------------------- 391 : SURF = MPOVSU.VPOCHA(NLCF,1) 392 : NVECT(1) = MPNORM.VPOCHA(NLCF,7) 393 : NVECT(2) = MPNORM.VPOCHA(NLCF,8) 394 : NVECT(3) = MPNORM.VPOCHA(NLCF,9) 395 : c----------------------------------------------- 396 : TVECT1(1) = MPNORM.VPOCHA(NLCF,1) 397 : TVECT1(2) = MPNORM.VPOCHA(NLCF,2) 398 : TVECT1(3) = MPNORM.VPOCHA(NLCF,3) 399 : c---------------------------------------------- 400 : TVECT2(1) = MPNORM.VPOCHA(NLCF,4) 401 : TVECT2(2) = MPNORM.VPOCHA(NLCF,5) 402 : TVECT2(3) = MPNORM.VPOCHA(NLCF,6) 403 : C------------------------------------------------------- 404 : C********** La contribution de Gauche 405 : C-------------------------------------------------------- 406 : V_INF=MAX(MPUINF.VPOCHA(NLCG,1), 407 : & MPUINF.VPOCHA(NLCD,1), 408 : & MPUPRI.VPOCHA(NLCG,1), 409 : & MPUPRI.VPOCHA(NLCD,1)) 409 : CALL JA3DBM(jtl,jtr,wvec_l,wvec_r,nvect,tvect1,tvect2, 410 : & gamg,v_inf) 411 : C 412 : C 413 : C********** AB.AM(IFAC,IPRIM,IDUAL) 414 : C A = nom de l'inconnu duale (Ro,rUX,rUY,RET) 415 : C B = nom de l'inconnu primale (Ro,rUX,rUY,RET) 416 : C IPRIM = 1, 2 -> G, D 417 : C IDUAL = 1, 2 -> G, D 418 : C i.e. 419 : C A_IDUAL = AB.AM(IFAC,IPRIM,IDUAL) * B_IPRIM + ... 420 : C 421 : C 422 : C********** Dual RN 423 : FUNCEL = SURF * JTL(1,1) 424 : RR.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 425 : RR.AM(IFAC,1,2) = FUNCEL / VOLD 426 : C---------------------------------------------------- 427 : FUNCEL = SURF * JTL(1,2) 428 : RUX.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 429 : RUX.AM(IFAC,1,2) = FUNCEL / VOLD 430 : C---------------------------------------------------- 431 : FUNCEL = SURF * JTL(1,3) 432 : RUY.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 433 : RUY.AM(IFAC,1,2) = FUNCEL / VOLD 434 : C---------------------------------------------------- 435 : FUNCEL = SURF * JTL(1,4) 436 : RUZ.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 437 : RUZ.AM(IFAC,1,2) = FUNCEL / VOLD 438 : C---------------------------------------------------- 439 : FUNCEL = SURF * JTL(1,5) 440 : RRET.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 441 : RRET.AM(IFAC,1,2) = FUNCEL / VOLD 442 : c---------------------------------------------------- 443 : C********** Dual RUXN 444 : C---------------------------------------------------- 445 : FUNCEL = SURF * JTL(2,1) 446 : UXR.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 447 : UXR.AM(IFAC,1,2) = FUNCEL / VOLD 448 : C---------------------------------------------------- 449 : FUNCEL = SURF * JTL(2,2) 450 : UXUX.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 451 : UXUX.AM(IFAC,1,2) = FUNCEL / VOLD 452 : C---------------------------------------------------- 453 : FUNCEL = SURF * JTL(2,3) 454 : UXUY.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 455 : UXUY.AM(IFAC,1,2) = FUNCEL / VOLD 456 : C---------------------------------------------------- 457 : FUNCEL = SURF * JTL(2,4) 458 : UXUZ.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 459 : UXUZ.AM(IFAC,1,2) = FUNCEL / VOLD 460 : C---------------------------------------------------- 461 : FUNCEL = SURF * JTL(2,5) 462 : UXRET.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 463 : UXRET.AM(IFAC,1,2) = FUNCEL / VOLD 464 : C---------------------------------------------------- 465 : C********** Dual RUYN 466 : C---------------------------------------------------- 467 : FUNCEL = SURF * JTL(3,1) 468 : UYR.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 469 : UYR.AM(IFAC,1,2) = FUNCEL / VOLD 470 : C---------------------------------------------------- 471 : FUNCEL = SURF * JTL(3,2) 472 : UYUX.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 473 : UYUX.AM(IFAC,1,2) = FUNCEL / VOLD 474 : C---------------------------------------------------- 475 : FUNCEL = SURF * JTL(3,3) 476 : UYUY.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 477 : UYUY.AM(IFAC,1,2) = FUNCEL / VOLD 478 : C---------------------------------------------------- 479 : FUNCEL = SURF * JTL(3,4) 480 : UYUZ.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 481 : UYUZ.AM(IFAC,1,2) = FUNCEL / VOLD 482 : C---------------------------------------------------- 483 : FUNCEL = SURF * JTL(3,5) 484 : UYRET.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 485 : UYRET.AM(IFAC,1,2) = FUNCEL / VOLD 486 : C---------------------------------------------------- 487 : C********** Dual RUZN 488 : C---------------------------------------------------- 489 : FUNCEL = SURF * JTL(4,1) 490 : UZR.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 491 : UZR.AM(IFAC,1,2) = FUNCEL / VOLD 492 : C---------------------------------------------------- 493 : FUNCEL = SURF * JTL(4,2) 494 : UZUX.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 495 : UZUX.AM(IFAC,1,2) = FUNCEL / VOLD 496 : C---------------------------------------------------- 497 : FUNCEL = SURF * JTL(4,3) 498 : UZUY.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 499 : UZUY.AM(IFAC,1,2) = FUNCEL / VOLD 500 : C---------------------------------------------------- 501 : FUNCEL = SURF * JTL(4,4) 502 : UZUZ.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 503 : UZUZ.AM(IFAC,1,2) = FUNCEL / VOLD 504 : C---------------------------------------------------- 505 : FUNCEL = SURF * JTL(4,5) 506 : UZRET.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 507 : UZRET.AM(IFAC,1,2) = FUNCEL / VOLD 508 : C---------------------------------------------------- 509 : C********** Dual RETN 510 : C---------------------------------------------------- 511 : FUNCEL = SURF * JTL(5,1) 512 : RETR.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 513 : RETR.AM(IFAC,1,2) = FUNCEL / VOLD 514 : C----------------------------------------------------- 515 : FUNCEL = SURF * JTL(5,2) 516 : RETUX.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 517 : RETUX.AM(IFAC,1,2) = FUNCEL / VOLD 518 : C----------------------------------------------------- 519 : FUNCEL = SURF * JTL(5,3) 520 : RETUY.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 521 : RETUY.AM(IFAC,1,2) = FUNCEL / VOLD 522 : C----------------------------------------------------- 523 : FUNCEL = SURF * JTL(5,4) 524 : RETUZ.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 525 : RETUZ.AM(IFAC,1,2) = FUNCEL / VOLD 526 : C----------------------------------------------------- 527 : FUNCEL = SURF * JTL(5,5) 528 : RETRET.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 529 : RETRET.AM(IFAC,1,2) = FUNCEL / VOLD 530 : C----------------------------------------------------- 531 : C 532 : C********** La contribution de D 533 : C 534 : c CNX = -1.0D0 * CNX 535 : c CNY = -1.0D0 * CNY 536 : c CNZ = -1.0D0 * CNZ 537 : c CT1X = -1.0D0 * CT1X 538 : c CT1Y = -1.0D0 * CT1Y 539 : c CT1Z = -1.0D0 * CT1Z 540 : c CT2X = -1.0D0 * CT2X 541 : c CT2Y = -1.0D0 * CT2Y 542 : c CT2Z = -1.0D0 * CT2Z 543 : C 543 : c CALL VLHJ4(ROD,UXD,UYD,UZD,PD,RETD,GAMD,CNX,CNY,CNZ, 544 : c & CT1X,CT1Y,CT1Z,CT2X,CT2Y,CT2Z, 545 : c & DFRO,DFRUN,DFRUT1,DFRUT2,DFRET) 546 : C 547 : C 548 : C********** Dual RN 549 : C------------------------------------------------------ 550 : FUNCEL = SURF * JTR(1,1) 551 : RR.AM(IFAC,2,2) = FUNCEL / VOLD 552 : RR.AM(IFAC,2,1) = -FUNCEL / VOLG 553 : C-------------------------------------------- 554 : FUNCEL = SURF * JTR(1,2) 555 : RUX.AM(IFAC,2,2) = FUNCEL / VOLD 556 : RUX.AM(IFAC,2,1) = -FUNCEL / VOLG 557 : C-------------------------------------------- 558 : FUNCEL = SURF * JTR(1,3) 559 : RUY.AM(IFAC,2,2) = FUNCEL / VOLD 560 : RUY.AM(IFAC,2,1) = -FUNCEL / VOLG 561 : C-------------------------------------------- 562 : FUNCEL = SURF * JTR(1,4) 563 : RUZ.AM(IFAC,2,2) = FUNCEL / VOLD 564 : RUZ.AM(IFAC,2,1) = -FUNCEL / VOLG 565 : C-------------------------------------------- 566 : FUNCEL = SURF * JTR(1,5) 567 : RRET.AM(IFAC,2,2) = FUNCEL / VOLD 568 : RRET.AM(IFAC,2,1) = -FUNCEL / VOLG 569 : C-------------------------------------------- 570 : C********** Dual RUXN 571 : C-------------------------------------------- 572 : FUNCEL = SURF * JTR(2,1) 573 : UXR.AM(IFAC,2,2) = FUNCEL / VOLD 574 : UXR.AM(IFAC,2,1) = -FUNCEL / VOLG 575 : C-------------------------------------------- 576 : FUNCEL = SURF * JTR(2,2) 577 : UXUX.AM(IFAC,2,2) = FUNCEL / VOLD 578 : UXUX.AM(IFAC,2,1) = -FUNCEL / VOLG 579 : C-------------------------------------------- 580 : FUNCEL = SURF * JTR(2,3) 581 : UXUY.AM(IFAC,2,2) = FUNCEL / VOLD 582 : UXUY.AM(IFAC,2,1) = -FUNCEL / VOLG 583 : C-------------------------------------------- 584 : FUNCEL = SURF * JTR(2,4) 585 : UXUZ.AM(IFAC,2,2) = FUNCEL / VOLD 586 : UXUZ.AM(IFAC,2,1) = -FUNCEL / VOLG 587 : C-------------------------------------------- 588 : FUNCEL = SURF * JTR(2,5) 589 : UXRET.AM(IFAC,2,2) = FUNCEL / VOLD 590 : UXRET.AM(IFAC,2,1) = -FUNCEL / VOLG 591 : C-------------------------------------------- 592 : C********** Dual RUYN 593 : C-------------------------------------------- 594 : FUNCEL = SURF * JTR(3,1) 595 : UYR.AM(IFAC,2,2) = FUNCEL / VOLD 596 : UYR.AM(IFAC,2,1) = -FUNCEL / VOLG 597 : C-------------------------------------------- 598 : FUNCEL = SURF * JTR(3,2) 599 : UYUX.AM(IFAC,2,2) = FUNCEL / VOLD 600 : UYUX.AM(IFAC,2,1) = -FUNCEL / VOLG 601 : C-------------------------------------------- 602 : FUNCEL = SURF * JTR(3,3) 603 : UYUY.AM(IFAC,2,2) = FUNCEL / VOLD 604 : UYUY.AM(IFAC,2,1) = -FUNCEL / VOLG 605 : C-------------------------------------------- 606 : FUNCEL = SURF * JTR(3,4) 607 : UYUZ.AM(IFAC,2,2) = FUNCEL / VOLD 608 : UYUZ.AM(IFAC,2,1) = -FUNCEL / VOLG 609 : C-------------------------------------------- 610 : FUNCEL = SURF * JTR(3,5) 611 : UYRET.AM(IFAC,2,2) = FUNCEL / VOLD 612 : UYRET.AM(IFAC,2,1) = -FUNCEL / VOLG 613 : C-------------------------------------------- 614 : C********** Dual RUZN 615 : C-------------------------------------------- 616 : FUNCEL = SURF * JTR(4,1) 617 : UZR.AM(IFAC,2,2) = FUNCEL / VOLD 618 : UZR.AM(IFAC,2,1) = -FUNCEL / VOLG 619 : C-------------------------------------------- 620 : FUNCEL = SURF * JTR(4,2) 621 : UZUX.AM(IFAC,2,2) = FUNCEL / VOLD 622 : UZUX.AM(IFAC,2,1) = -FUNCEL / VOLG 623 : C-------------------------------------------- 624 : FUNCEL = SURF * JTR(4,3) 625 : UZUY.AM(IFAC,2,2) = FUNCEL / VOLD 626 : UZUY.AM(IFAC,2,1) = -FUNCEL / VOLG 627 : C-------------------------------------------- 628 : FUNCEL = SURF * JTR(4,4) 629 : UZUZ.AM(IFAC,2,2) = FUNCEL / VOLD 630 : UZUZ.AM(IFAC,2,1) = -FUNCEL / VOLG 631 : C-------------------------------------------- 632 : FUNCEL = SURF * JTR(4,5) 633 : UZRET.AM(IFAC,2,2) = FUNCEL / VOLD 634 : UZRET.AM(IFAC,2,1) = -FUNCEL / VOLG 635 : C-------------------------------------------- 636 : C********** Dual RETN 637 : C-------------------------------------------- 638 : FUNCEL = SURF * JTR(5,1) 639 : RETR.AM(IFAC,2,2) = FUNCEL / VOLD 640 : RETR.AM(IFAC,2,1) = -FUNCEL / VOLG 641 : C--------------------------------------------- 642 : FUNCEL = SURF * JTR(5,2) 643 : RETUX.AM(IFAC,2,2) = FUNCEL / VOLD 644 : RETUX.AM(IFAC,2,1) = -FUNCEL / VOLG 645 : C--------------------------------------------- 646 : FUNCEL = SURF * JTR(5,3) 647 : RETUY.AM(IFAC,2,2) = FUNCEL / VOLD 648 : RETUY.AM(IFAC,2,1) = -FUNCEL / VOLG 649 : C--------------------------------------------- 650 : FUNCEL = SURF * JTR(5,4) 651 : RETUZ.AM(IFAC,2,2) = FUNCEL / VOLD 652 : RETUZ.AM(IFAC,2,1) = -FUNCEL / VOLG 653 : C--------------------------------------------- 654 : FUNCEL = SURF * JTR(5,5) 655 : RETRET.AM(IFAC,2,2) = FUNCEL / VOLD 656 : RETRET.AM(IFAC,2,1) = -FUNCEL / VOLG 657 : C 658 : ELSE 659 : C---------------------------------------------- 660 : C********** Murs (NGCG = NGCD) 661 : C 662 : C 663 : C********** Les MELEMEs 664 : C---------------------------------------------- 665 : MELEDU.NUM(1,IFAC) = NGCG 666 : MELEDU.NUM(2,IFAC) = NGCD 667 : NLCG = MLENTC.LECT(NGCG) 668 : C--------------------------------------------- 669 : ROG = MPRN.VPOCHA(NLCG,1) 670 : PG = MPPN.VPOCHA(NLCG,1) 671 : UXG = MPUN.VPOCHA(NLCG,1) 672 : UYG = MPUN.VPOCHA(NLCG,2) 673 : UZG = MPUN.VPOCHA(NLCG,3) 674 : GAMG = MPGAMN.VPOCHA(NLCG,1) 675 : VOLG = MPVOLU.VPOCHA(NLCG,1) 676 : C------------------------------------------- 677 : WVEC_L(1)=ROG 678 : WVEC_L(2)=UXG 679 : WVEC_L(3)=UYG 680 : WVEC_L(4)=UZG 681 : WVEC_L(5)=PG 682 : C-------------------------------------------- 683 : C********** La normale sortante 684 : C------------------------------------------- 685 : c SURF = MPOVSU.VPOCHA(NLCF,1) 686 : c CNX = MPNORM.VPOCHA(NLCF,7) 687 : c CNY = MPNORM.VPOCHA(NLCF,8) 688 : c CNZ = MPNORM.VPOCHA(NLCF,9) 689 : cC 689 : c CALL VLHJ6(ROG,UXG,UYG,UZG,PG,GAMG,CNX,CNY,CNZ, 690 : c & DFRUN) 691 : C--------------------------------------------------------- 692 : SURF = MPOVSU.VPOCHA(NLCF,1) 693 : NVECT(1) = MPNORM.VPOCHA(NLCF,7) 694 : NVECT(2) = MPNORM.VPOCHA(NLCF,8) 695 : NVECT(3) = MPNORM.VPOCHA(NLCF,9) 696 : c-------------------------------------------- 697 : TVECT1(1) = MPNORM.VPOCHA(NLCF,1) 698 : TVECT1(2) = MPNORM.VPOCHA(NLCF,2) 699 : TVECT1(3) = MPNORM.VPOCHA(NLCF,3) 700 : c---------------------------------------------- 701 : TVECT2(1) = MPNORM.VPOCHA(NLCF,4) 702 : TVECT2(2) = MPNORM.VPOCHA(NLCF,5) 703 : TVECT2(3) = MPNORM.VPOCHA(NLCF,6) 704 : C------- COEFFICIENTS ---------------------------- 705 : C11=TVECT1(2)*TVECT2(3)-TVECT1(3)*TVECT2(2) 706 : C12=NVECT(2)*TVECT2(3)-TVECT2(2)*NVECT(3) 707 : C13=NVECT(2)*TVECT1(3)-TVECT1(2)*NVECT(3) 708 : C--------------------------------- 709 : C21=TVECT1(1)*TVECT2(3)-TVECT1(3)*TVECT2(1) 710 : C22=NVECT(1)*TVECT2(3)-TVECT2(1)*NVECT(3) 711 : C23=NVECT(1)*TVECT1(3)-TVECT1(1)*NVECT(3) 712 : C--------------------------------- 713 : C31=TVECT1(1)*TVECT2(2)-TVECT1(2)*TVECT2(1) 714 : C32=NVECT(1)*TVECT2(2)-TVECT2(1)*NVECT(2) 715 : C33=NVECT(1)*TVECT1(2)-TVECT1(1)*NVECT(2) 716 : DET=NVECT(1)*C11-NVECT(2)*C21+NVECT(3)*C31 717 : C--------------------------------- 718 : ZC11=-NVECT(1)*C11-TVECT1(1)*C12+TVECT2(1)*C13 719 : ZC12=-NVECT(2)*C11-TVECT1(2)*C12+TVECT2(2)*C13 720 : ZC13=-NVECT(3)*C11-TVECT1(3)*C12+TVECT2(3)*C13 721 : C--------------------------------- 722 : ZC21=NVECT(1)*C21+TVECT1(1)*C22-TVECT2(1)*C23 723 : ZC22=NVECT(2)*C21+TVECT1(2)*C22-TVECT2(2)*C23 724 : ZC23=NVECT(3)*C21+TVECT1(3)*C22-TVECT2(3)*C23 725 : C--------------------------------- 726 : ZC31=-NVECT(1)*C31-TVECT1(1)*C32+TVECT2(1)*C33 727 : ZC32=-NVECT(2)*C31-TVECT1(2)*C32+TVECT2(2)*C33 728 : ZC33=-NVECT(3)*C31-TVECT1(3)*C32+TVECT2(3)*C33 729 : C------------------------------------------------- 730 : ROD = ROG 731 : PD = PG 732 : UXD = (ZC11*UXG+ZC12*UYG+ZC13*UZG)/DET 733 : UYD = (ZC21*UXG+ZC22*UYG+ZC23*UZG)/DET 734 : UZD = (ZC31*UXG+ZC32*UYG+ZC33*UZG)/DET 735 : VOLD = VOLG 736 : C------------------------------------------------ 737 : WVEC_R(1)=ROD 738 : WVEC_R(2)=UXD 739 : WVEC_R(3)=UYD 740 : WVEC_R(4)=UZD 741 : WVEC_R(5)=PD 742 : C------------------------------------------- 743 : C********** La normale sortante 744 : C------------------------------------------- 745 : V_INF=MAX(MPUINF.VPOCHA(NLCG,1), 746 : & MPUPRI.VPOCHA(NLCG,1)) 746 : CALL jw3Dbm(jtl,wvec_l,wvec_r,nvect,tvect1,tvect2, 747 : & gamg,v_inf) 748 : C--------------------------------------------------------- 749 : C********** Dual RN 750 : C--------------------------------------------------------- 751 : RR.AM(IFAC,1,1) = 0.0D0 752 : RR.AM(IFAC,1,2) = 0.0D0 753 : C--------------------------------------------------------- 754 : RUX.AM(IFAC,1,1) = 0.0D0 755 : RUX.AM(IFAC,1,2) = 0.0D0 756 : C--------------------------------------------------------- 757 : RUY.AM(IFAC,1,1) = 0.0D0 758 : RUY.AM(IFAC,1,2) = 0.0D0 759 : C--------------------------------------------------------- 760 : RUZ.AM(IFAC,1,1) = 0.0D0 761 : RUZ.AM(IFAC,1,2) = 0.0D0 762 : C-------------------------------------------------------- 763 : RRET.AM(IFAC,1,1) = 0.0D0 764 : RRET.AM(IFAC,1,2) = 0.0D0 765 : C--------------------------------------------------------- 766 : C********** Dual RUXN 767 : C--------------------------------------------------------- 768 : FUNCEL = SURF * JTL(2,1) 769 : UXR.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 770 : UXR.AM(IFAC,1,2) = 0.0D0 771 : C---------------------------------------------------- 772 : FUNCEL = SURF * JTL(2,2) 773 : UXUX.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 774 : UXUX.AM(IFAC,1,2) = 0.0D0 775 : C---------------------------------------------------- 776 : FUNCEL = SURF * JTL(2,3) 777 : UXUY.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 778 : UXUY.AM(IFAC,1,2) = 0.0D0 779 : C---------------------------------------------------- 780 : FUNCEL = SURF * JTL(2,4) 781 : UXUZ.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 782 : UXUZ.AM(IFAC,1,2) = 0.0D0 783 : C---------------------------------------------------- 784 : FUNCEL = SURF * JTL(2,5) 785 : UXRET.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 786 : UXRET.AM(IFAC,1,2) = 0.0D0 787 : C---------------------------------------------------- 788 : C********** Dual RUYN 789 : C---------------------------------------------------- 790 : FUNCEL = SURF * JTL(3,1) 791 : UYR.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 792 : UYR.AM(IFAC,1,2) = 0.0D0 793 : C---------------------------------------------------- 794 : FUNCEL = SURF * JTL(3,2) 795 : UYUX.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 796 : UYUX.AM(IFAC,1,2) = 0.0D0 797 : C---------------------------------------------------- 798 : FUNCEL = SURF * JTL(3,3) 799 : UYUY.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 800 : UYUY.AM(IFAC,1,2) = 0.0D0 801 : C---------------------------------------------------- 802 : FUNCEL = SURF * JTL(3,4) 803 : UYUZ.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 804 : UYUZ.AM(IFAC,1,2) = 0.0D0 805 : C---------------------------------------------------- 806 : FUNCEL = SURF * JTL(3,5) 807 : UYRET.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 808 : UYRET.AM(IFAC,1,2) = 0.0D0 809 : C----------------------------------------------------- 810 : C********** Dual RUZN 811 : C----------------------------------------------------- 812 : FUNCEL = SURF * JTL(4,1) 813 : UZR.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 814 : UZR.AM(IFAC,1,2) = 0.0D0 815 : C---------------------------------------------------- 816 : FUNCEL = SURF * JTL(4,2) 817 : UZUX.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 818 : UZUX.AM(IFAC,1,2) = 0.0D0 819 : C---------------------------------------------------- 820 : FUNCEL = SURF * JTL(4,3) 821 : UZUY.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 822 : UZUY.AM(IFAC,1,2) = 0.0D0 823 : C---------------------------------------------------- 824 : FUNCEL = SURF * JTL(4,4) 825 : UZUZ.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 826 : UZUZ.AM(IFAC,1,2) = 0.0D0 827 : C---------------------------------------------------- 828 : FUNCEL = SURF * JTL(4,5) 829 : UZRET.AM(IFAC,1,1) = -1.0D0 * FUNCEL / VOLG 830 : UZRET.AM(IFAC,1,2) = 0.0D0 831 : C---------------------------------------------------- 832 : C********** Dual RETN 833 : C---------------------------------------------------- 834 : RETR.AM(IFAC,1,1) = 0.0D0 835 : RETR.AM(IFAC,1,2) = 0.0D0 836 : C---------------------------------------------------- 837 : RETUX.AM(IFAC,1,1) = 0.0D0 838 : RETUX.AM(IFAC,1,2) = 0.0D0 839 : C---------------------------------------------------- 840 : RETUY.AM(IFAC,1,1) = 0.0D0 841 : RETUY.AM(IFAC,1,2) = 0.0D0 842 : C---------------------------------------------------- 843 : RETUZ.AM(IFAC,1,1) = 0.0D0 844 : RETUZ.AM(IFAC,1,2) = 0.0D0 845 : C--------------------------------------------------- 846 : RETRET.AM(IFAC,1,1) = 0.0D0 847 : RETRET.AM(IFAC,1,2) = 0.0D0 848 : C--------------------------------------------------- 849 : C********** Dual RN 850 : C--------------------------------------------------- 851 : RR.AM(IFAC,2,2) = 0.0D0 852 : RR.AM(IFAC,2,1) = 0.0D0 853 : C--------------------------------------------------- 854 : RUX.AM(IFAC,2,2) = 0.0D0 855 : RUX.AM(IFAC,2,1) = 0.0D0 856 : C--------------------------------------------------- 857 : RUY.AM(IFAC,2,2) = 0.0D0 858 : RUY.AM(IFAC,2,1) = 0.0D0 859 : C--------------------------------------------------- 860 : RUZ.AM(IFAC,2,2) = 0.0D0 861 : RUZ.AM(IFAC,2,1) = 0.0D0 862 : C--------------------------------------------------- 863 : RRET.AM(IFAC,2,2) = 0.0D0 864 : RRET.AM(IFAC,2,1) = 0.0D0 865 : C--------------------------------------------------- 866 : C********** Dual RUXN 867 : C--------------------------------------------------- 868 : UXR.AM(IFAC,2,2) = 0.0D0 869 : UXR.AM(IFAC,2,1) = 0.0D0 870 : C--------------------------------------------------- 871 : UXUX.AM(IFAC,2,2) = 0.0D0 872 : UXUX.AM(IFAC,2,1) = 0.0D0 873 : C--------------------------------------------------- 874 : UXUY.AM(IFAC,2,2) = 0.0D0 875 : UXUY.AM(IFAC,2,1) = 0.0D0 876 : C--------------------------------------------------- 877 : UXUZ.AM(IFAC,2,2) = 0.0D0 878 : UXUZ.AM(IFAC,2,1) = 0.0D0 879 : C--------------------------------------------------- 880 : UXRET.AM(IFAC,2,2) = 0.0D0 881 : UXRET.AM(IFAC,2,1) = 0.0D0 882 : C--------------------------------------------------- 883 : C********** Dual RUYN 884 : C--------------------------------------------------- 885 : UYR.AM(IFAC,2,2) = 0.0D0 886 : UYR.AM(IFAC,2,1) = 0.0D0 887 : C--------------------------------------------------- 888 : UYUX.AM(IFAC,2,2) = 0.0D0 889 : UYUX.AM(IFAC,2,1) = 0.0D0 890 : C--------------------------------------------------- 891 : UYUY.AM(IFAC,2,2) = 0.0D0 892 : UYUY.AM(IFAC,2,1) = 0.0D0 893 : C--------------------------------------------------- 894 : UYUZ.AM(IFAC,2,2) = 0.0D0 895 : UYUZ.AM(IFAC,2,1) = 0.0D0 896 : C--------------------------------------------------- 897 : UYRET.AM(IFAC,2,2) = 0.0D0 898 : UYRET.AM(IFAC,2,1) = 0.0D0 899 : C--------------------------------------------------- 900 : C********** Dual RUZN 901 : C--------------------------------------------------- 902 : UZR.AM(IFAC,2,2) = 0.0D0 903 : UZR.AM(IFAC,2,1) = 0.0D0 904 : C--------------------------------------------------- 905 : UZUX.AM(IFAC,2,2) = 0.0D0 906 : UZUX.AM(IFAC,2,1) = 0.0D0 907 : C--------------------------------------------------- 908 : UZUY.AM(IFAC,2,2) = 0.0D0 909 : UZUY.AM(IFAC,2,1) = 0.0D0 910 : C--------------------------------------------------- 911 : UZUZ.AM(IFAC,2,2) = 0.0D0 912 : UZUZ.AM(IFAC,2,1) = 0.0D0 913 : C--------------------------------------------------- 914 : UZRET.AM(IFAC,2,2) = 0.0D0 915 : UZRET.AM(IFAC,2,1) = 0.0D0 916 : C--------------------------------------------------- 917 : C********** Dual RETN 918 : C--------------------------------------------------- 919 : RETR.AM(IFAC,2,2) = 0.0D0 920 : RETR.AM(IFAC,2,1) = 0.0D0 921 : C--------------------------------------------------- 922 : RETUX.AM(IFAC,2,2) = 0.0D0 923 : RETUX.AM(IFAC,2,1) = 0.0D0 924 : C--------------------------------------------------- 925 : RETUY.AM(IFAC,2,2) = 0.0D0 926 : RETUY.AM(IFAC,2,1) = 0.0D0 927 : C--------------------------------------------------- 928 : RETUZ.AM(IFAC,2,2) = 0.0D0 929 : RETUZ.AM(IFAC,2,1) = 0.0D0 930 : C--------------------------------------------------- 931 : RETRET.AM(IFAC,2,2) = 0.0D0 932 : RETRET.AM(IFAC,2,1) = 0.0D0 933 : C--------------------------------------------------- 934 : ENDIF 935 : ENDDO 936 : C 937 : SEGDES MELEMC 938 : SEGDES MELEFE 939 : SEGDES MELEMF 940 : C 941 : SEGDES MPOVSU 942 : SEGDES MPVOLU 943 : SEGDES MPNORM 944 : C 945 : SEGDES MPRN 946 : SEGDES MPPN 947 : SEGDES MPUN 948 : SEGDES MPGAMN 949 : C 950 : SEGDES MELEDU 951 : SEGDES MATRIK 952 : SEGDES IMATRI 953 : C 954 : SEGDES RR , RUX , RUY , RUZ, RRET , 955 : & UXR , UXUX , UXUY , UXUZ, UXRET , 956 : & UYR , UYUX , UYUY , UYUZ, UYRET , 957 : & UZR , UZUX , UZUY , UZUZ, UYRET , 958 : & RETR , RETUX , RETUY , RETUZ, RETRET 959 : 960 : SEGSUP MLENTC 961 : SEGSUP MLENTF 962 : SEGDES MLMINC 963 : SEGSUP MLELIM 964 : C 965 : SEGDES MPUPRI 966 : SEGDES MPUINF 967 : IF(MELLIM .NE.0) SEGDES MELLIM 968 : C 969 : 9999 CONTINUE 970 : RETURN 971 : END 972 : 973 : 974 : 975 : 976 : 977 : 978 : 979 : 980 : 981 : 982 : 983 : 984 :
© Cast3M 2003 - All rights reserved.
Disclaimer