1 : C KTRSF SOURCE MAGN 10/05/18 21:16:15 6675 2 : SUBROUTINE KTRSF(MACRO,MELEME,MTBT0,IRET,GA,EPS,EPSD,ALFA) 3 : IMPLICIT INTEGER(I-N) 4 : IMPLICIT REAL*8 (A-H,O-Z) 5 : -INC CCOPTIO 6 : -INC CCGEOME 7 : -INC SMCOORD 8 : -INC SMCHPOI 9 : -INC SMELEME 10 : -INC SIZFFB 11 : POINTEUR MACRO.MELEME,MFACEI.MELEME,MFICEL.MELEME,MELTFI.MELEME 12 : POINTEUR MCTREI.MELEME,MELELI.MELEME,MELSTB.MELEME 13 : DIMENSION ITAB(5),GA(3),EPS(3),EPSD(3) 14 : PARAMETER (NBE=3) 15 : CHARACTER*8 LISTE(NBE),TYPE,LIST(NBE) 16 : DATA LISTE /'TRI6 ','QUA8 ','SEG3 '/ 17 : DATA LIST /'TRI3 ','QUA4 ','SEG2 '/ 18 : 19 : COEF=ALFA*0.01D0 20 : IAXI=0 21 : IF(IFOMOD.EQ.0)IAXI=2 22 : 23 : IRET=1 24 : IM =0 25 : 26 : IPT5=0 27 : IPT6=0 28 : IPT7=0 29 : 30 : NSOUPO=1 31 : NAT=1 32 : N=0 33 : C NC=3 34 : C aire de la face interne , 2 composantes de la normale 35 : C SEGINI MCHPOI,MSOUPO,MPOVAL 36 : KPOC=0 37 : NC=4 38 : SEGINI MCHPO1,MSOUP1,MPOVA1 39 : C JATTRI(1)=2 40 : MCHPO1.JATTRI(1)=2 41 : C IFOPOI=IFOMOD 42 : MCHPO1.IFOPOI=IFOMOD 43 : C MTYPOI='FACE ' 44 : MCHPO1.MTYPOI='CENTRE ' 45 : C MOCHDE=' ' 46 : MCHPO1.MOCHDE=' ' 47 : C IPCHP(1)=MSOUPO 48 : MCHPO1.IPCHP(1)=MSOUP1 49 : 50 : C IPOVAL=MPOVAL 51 : MSOUP1.IPOVAL=MPOVA1 52 : C NOCOMP(1)='SCF1' 53 : MSOUP1.NOCOMP(1)='SCC1' 54 : MSOUP1.NOCOMP(2)='SCC2' 55 : MSOUP1.NOCOMP(3)='SCC3' 56 : MSOUP1.NOCOMP(4)='SCC4' 57 : 58 : NBELEM=0 59 : NBNN=1 60 : NBSOUS=0 61 : NBREF=0 62 : SEGINI MCTREI 63 : MCTREI.ITYPEL=1 64 : KCTREI=0 65 : C MLELI Connectivités : pour chaque ligne pression donne les 66 : C connectivités pour la matrice de stabilisation 67 : C Pt centre Pts centre connectes Pts face intermediares 68 : C QUA8 -> 5 pts 1pc + 2pc + 2pf 69 : C TRI6 -> 3 pts 1pc + 1pc + 1pf 70 : C -> 7 pts 1pc + 3pc + 3pf 71 : 72 : C NBELEM=0 73 : C NBNN=0 74 : C NBSOUS=0 75 : C NBREF=0 76 : C SEGINI MELELI 77 : C MELELI.ITYPEL=0 78 : C KELELI=0 79 : 80 : C Connectivités de la matrice de stabilisation 81 : NBELEM=0 82 : NBNN=4 83 : NBSOUS=0 84 : NBREF=0 85 : SEGINI MELSTB 86 : MELSTB.ITYPEL=8 87 : KSTB=0 88 : 89 : C NBELEM=0 90 : C NBNN=0 91 : C NBSOUS=0 92 : C NBREF=0 93 : C SEGINI MELTFI 94 : C KELTFI=0 95 : 96 : C NBELEM=0 97 : C NBNN=1 98 : C NBSOUS=0 99 : C NBREF=0 100 : C SEGINI MFACEI 101 : C MFACEI.ITYPEL=1 102 : C KFACEI=0 103 : 104 : C NBELEM=0 105 : C NBNN=3 106 : C NBSOUS=0 107 : C NBREF=0 108 : C SEGINI MFICEL 109 : C MFICEL.ITYPEL=3 110 : C KFICEL=0 111 : 112 : SEGACT MACRO 113 : NBSOUS=MACRO.LISOUS(/1) 114 : IF(NBSOUS.EQ.0)NBSOUS=1 115 : DO 1 L=1,NBSOUS 116 : IPT1=MACRO 117 : IF(NBSOUS.NE.1)IPT1=MACRO.LISOUS(L) 118 : SEGACT IPT1 119 : TYPE=NOMS(IPT1.ITYPEL)//' ' 119 : CALL OPTLI(IP,LISTE,TYPE,NBE) 120 : IF(IP.EQ.0)THEN 121 : WRITE(6,*)' Type d''élément : ',TYPE,' non prévu ' 122 : IRET=0 123 : RETURN 124 : ENDIF 125 : GO TO (106,108,103),IP 126 : 127 : C TRI6 -> 4 TRI3 128 : 106 CONTINUE 129 : 130 : NBEL=IPT1.NUM(/2) 131 : NP=IPT1.NUM(/1) 132 : C NBPF=NBEL*3 133 : NBPF=0 134 : NBPC=NBEL*4 135 : 136 : C N=NBPF+VPOCHA(/1) 137 : C NC=3 138 : C SEGADJ MPOVAL 139 : N=NBPC+MPOVA1.VPOCHA(/1) 140 : NC=4 141 : NCTV0=MPOVA1.VPOCHA(/1) 142 : SEGADJ MPOVA1 143 : 144 : NBV0=XCOOR(/1)/(IDIM+1) 145 : NBPTS=NBV0+NBPF+NBPC 146 : SEGADJ MCOORD 147 : 148 : NBELEM=NBPC 149 : NBNN=3 150 : NBSOUS=0 151 : NBREF=0 152 : SEGINI IPT2 153 : IPT2.ITYPEL=4 154 : IM=IM+1 155 : ITAB(IM)=IPT2 156 : 157 : C IF(IPT5.EQ.0)THEN 158 : C NBELEM=3*NBEL 159 : C NBNN=3 160 : C NBSOUS=0 161 : C NBREF=0 162 : C K5=0 163 : C SEGINI IPT5 164 : C IPT5.ITYPEL=4 165 : C ELSE 166 : C K5=IPT5.NUM(/2) 167 : C NBELEM=IPT5.NUM(/2)+3*NBEL 168 : C NBNN=3 169 : C NBSOUS=0 170 : C NBREF=0 171 : C SEGADJ IPT5 172 : C ENDIF 173 : C 174 : C IF(IPT6.EQ.0)THEN 175 : C NBELEM=NBEL 176 : C NBNN=7 177 : C NBSOUS=0 178 : C NBREF=0 179 : C K6=0 180 : C SEGINI IPT6 181 : C IPT6.ITYPEL=7 182 : C ELSE 183 : C K6=IPT6.NUM(/2) 184 : C NBELEM=IPT6.NUM(/2)+NBEL 185 : C NBNN=7 186 : C NBSOUS=0 187 : C NBREF=0 188 : C SEGADJ IPT6 189 : C ENDIF 190 : 191 : C Spg des pts centres des macro elements 192 : NCTR0=MCTREI.NUM(/2) 193 : NBELEM=NCTR0+NBPC 194 : NBNN=1 195 : NBSOUS=0 196 : NBREF=0 197 : SEGADJ MCTREI 198 : C write(6,*)' MCTREI=',mctrei,nbelem 199 : KCTREI=1 200 : 201 : C Connectivités de la matrice de stabilisation 202 : NCSTB=MELSTB.NUM(/2) 203 : NBELEM=NCSTB+NBPC 204 : NBNN=4 205 : C write(6,*)' KTRSF : ',nbnn,nbelem 206 : NBSOUS=0 207 : NBREF=0 208 : SEGADJ MELSTB 209 : KSTB=1 210 : 211 : C NBELEM=0 212 : C NBNN=0 213 : C NBS=MELTFI.LISOUS(/1) 214 : C NBSOUS=NBS+2 215 : C NBREF=0 216 : C SEGADJ MELTFI 217 : C KELTFI=1 218 : C NBELEM=3*NBEL 219 : C NBNN=2 220 : C NBSOUS=0 221 : C NBREF=0 222 : C SEGINI IPT3 223 : C IPT3.ITYPEL=2 224 : C MELTFI.LISOUS(NBS+1)=IPT3 225 : C NBELEM=NBEL 226 : C NBNN=4 227 : C NBSOUS=0 228 : C NBREF=0 229 : C SEGINI IPT4 230 : C IPT4.ITYPEL=5 231 : C MELTFI.LISOUS(NBS+2)=IPT4 232 : 233 : C KFM=MFACEI.NUM(/2) 234 : C NBNN=MFACEI.NUM(/1) 235 : C NBELEM=MFACEI.NUM(/2)+NBPF 236 : C SEGADJ MFACEI 237 : C KFACEI=1 238 : 239 : C NBNN=MFICEL.NUM(/1) 240 : C NBELEM=MFICEL.NUM(/2)+NBPF 241 : C SEGADJ MFICEL 242 : C KFICEL=1 243 : 243 : CALL KALPBG('SEG2 ','FONFORM0',IZFFM) 243 : IF(IZFFM.EQ.0)CALL ARRET(0) 244 : SEGACT IZFFM*MOD 245 : IZHR=KZHR(1) 246 : SEGACT IZHR*MOD 247 : NPG=GR(/3) 248 : NES=GR(/1) 249 : 250 : K1=0 251 : KF=0 252 : DO 206 K=1,NBEL 253 : N1=IPT1.NUM(1,K) 254 : N2=IPT1.NUM(2,K) 255 : N3=IPT1.NUM(3,K) 256 : N4=IPT1.NUM(4,K) 257 : N5=IPT1.NUM(5,K) 258 : N6=IPT1.NUM(6,K) 259 : 260 : XN1=XCOOR((N1-1)*(IDIM+1) +1) 261 : YN1=XCOOR((N1-1)*(IDIM+1) +2) 262 : XN2=XCOOR((N2-1)*(IDIM+1) +1) 263 : YN2=XCOOR((N2-1)*(IDIM+1) +2) 264 : XN3=XCOOR((N3-1)*(IDIM+1) +1) 265 : YN3=XCOOR((N3-1)*(IDIM+1) +2) 266 : XN4=XCOOR((N4-1)*(IDIM+1) +1) 267 : YN4=XCOOR((N4-1)*(IDIM+1) +2) 268 : XN5=XCOOR((N5-1)*(IDIM+1) +1) 269 : YN5=XCOOR((N5-1)*(IDIM+1) +2) 270 : XN6=XCOOR((N6-1)*(IDIM+1) +1) 271 : YN6=XCOOR((N6-1)*(IDIM+1) +2) 272 : 273 : K3=3*(K-1) 274 : CT1 275 : K1=K1+1 276 : KF=KF+1 277 : KFM=KFM+1 278 : NC1=NBV0+K1 279 : C NF1=NBV0+NBPC+KF 280 : 281 : MCTREI.NUM(1,NCTR0+K1)=NC1 282 : IPT2.NUM(1,K1)=N1 283 : IPT2.NUM(2,K1)=N2 284 : IPT2.NUM(3,K1)=N6 285 : C IPT3.NUM(1,K3+1)=NC1 286 : C IPT3.NUM(2,K3+1)=NF1 287 : 288 : XCOOR((NC1-1)*(IDIM+1) +1)= (XN1+XN2+XN6)/3.D0 289 : XCOOR((NC1-1)*(IDIM+1) +2)= (YN1+YN2+YN6)/3.D0 290 : 291 : C XCOOR((NF1-1)*(IDIM+1) +1)= (XN2+XN6)/2.D0 292 : C XCOOR((NF1-1)*(IDIM+1) +2)= (YN2+YN6)/2.D0 293 : 294 : C MFACEI.NUM(1,KFM)=NF1 295 : C MFICEL.NUM(1,KFM)=NC1 296 : C MFICEL.NUM(2,KFM)=NF1 297 : C MFICEL.NUM(3,KFM)=NC4 298 : CT2 299 : K1=K1+1 300 : KF=KF+1 301 : KFM=KFM+1 302 : NC2=NBV0+K1 303 : C NF2=NBV0+NBPC+KF 304 : 305 : MCTREI.NUM(1,NCTR0+K1)=NC2 306 : IPT2.NUM(1,K1)=N3 307 : IPT2.NUM(2,K1)=N4 308 : IPT2.NUM(3,K1)=N2 309 : C IPT3.NUM(1,K3+2)=NC2 310 : C IPT3.NUM(2,K3+2)=NF2 311 : 312 : XCOOR((NC2-1)*(IDIM+1) +1)= (XN3+XN4+XN2)/3.D0 313 : XCOOR((NC2-1)*(IDIM+1) +2)= (YN3+YN4+YN2)/3.D0 314 : 315 : C XCOOR((NF2-1)*(IDIM+1) +1)= (XN4+XN2)/2.D0 316 : C XCOOR((NF2-1)*(IDIM+1) +2)= (YN4+YN2)/2.D0 317 : 318 : C MFACEI.NUM(1,KFM)=NF2 319 : C MFICEL.NUM(1,KFM)=NC2 320 : C MFICEL.NUM(2,KFM)=NF2 321 : C MFICEL.NUM(3,KFM)=NC4 322 : CT3 323 : K1=K1+1 324 : KF=KF+1 325 : KFM=KFM+1 326 : NC3=NBV0+K1 327 : C NF3=NBV0+NBPC+KF 328 : 329 : MCTREI.NUM(1,NCTR0+K1)=NC3 330 : IPT2.NUM(1,K1)=N5 331 : IPT2.NUM(2,K1)=N6 332 : IPT2.NUM(3,K1)=N4 333 : C IPT3.NUM(1,K3+3)=NC3 334 : C IPT3.NUM(2,K3+3)=NF3 335 : 336 : XCOOR((NC3-1)*(IDIM+1) +1)= (XN5+XN6+XN4)/3.D0 337 : XCOOR((NC3-1)*(IDIM+1) +2)= (YN5+YN6+YN4)/3.D0 338 : 339 : C XCOOR((NF3-1)*(IDIM+1) +1)= (XN6+XN4)/2.D0 340 : C XCOOR((NF3-1)*(IDIM+1) +2)= (YN6+YN4)/2.D0 341 : 342 : C MFACEI.NUM(1,KFM)=NF3 343 : C MFICEL.NUM(1,KFM)=NC3 344 : C MFICEL.NUM(2,KFM)=NF3 345 : C MFICEL.NUM(3,KFM)=NC4 346 : CT4 347 : K1=K1+1 348 : NC4=NBV0+K1 349 : MCTREI.NUM(1,NCTR0+K1)=NC4 350 : IPT2.NUM(1,K1)=N2 351 : IPT2.NUM(2,K1)=N4 352 : IPT2.NUM(3,K1)=N6 353 : 354 : XCOOR((NC4-1)*(IDIM+1) +1)= (XN2+XN4+XN6)/3.D0 355 : XCOOR((NC4-1)*(IDIM+1) +2)= (YN2+YN4+YN6)/3.D0 356 : 357 : C IPT4.NUM(1,K)=NC4 358 : C IPT4.NUM(2,K)=NF1 359 : C IPT4.NUM(3,K)=NF2 360 : C IPT4.NUM(4,K)=NF3 361 : 362 : C IPT5.NUM(1,K5+K)=NC1 363 : C IPT5.NUM(2,K5+K)=NC4 364 : C IPT5.NUM(3,K5+K)=NF1 365 : 366 : C IPT5.NUM(1,K5+K+1)=NC2 367 : C IPT5.NUM(2,K5+K+1)=NC4 368 : C IPT5.NUM(3,K5+K+1)=NF2 369 : 370 : C IPT5.NUM(1,K5+K+2)=NC3 371 : C IPT5.NUM(2,K5+K+2)=NC4 372 : C IPT5.NUM(3,K5+K+2)=NF3 373 : C K5=K5+2 374 : 375 : C IPT6.NUM(1,K6+K)=NC4 376 : C IPT6.NUM(2,K6+K)=NC1 377 : C IPT6.NUM(3,K6+K)=NC2 378 : C IPT6.NUM(4,K6+K)=NC3 379 : C IPT6.NUM(5,K6+K)=NF1 380 : C IPT6.NUM(6,K6+K)=NF2 381 : C IPT6.NUM(7,K6+K)=NF3 382 : 383 : NPI=2 384 : 385 : XYZ(1,1)=XN2 386 : XYZ(2,1)=YN2 387 : XYZ(1,2)=XN6 388 : XYZ(2,2)=YN6 388 : CALL CALJBC(FN,GR,PG,XYZ,HR,PGSQ,RPG,NES,IDIM,NPI,NPG,IAXI,AIR1) 389 : 390 : DF1=(XN2-XN6)**2.D0 + (YN2-YN6)**2.D0 391 : DF1=SQRT(DF1) 392 : TX1 = (XN2-XN6)/DF1 393 : TY1 = (YN2-YN6)/DF1 394 : 395 : XYZ(1,1)=XN2 396 : XYZ(2,1)=YN2 397 : XYZ(1,2)=XN4 398 : XYZ(2,2)=YN4 398 : CALL CALJBC(FN,GR,PG,XYZ,HR,PGSQ,RPG,NES,IDIM,NPI,NPG,IAXI,AIR2) 399 : 400 : DF2=(XN2-XN4)**2.D0 + (YN2-YN4)**2.D0 401 : DF2=SQRT(DF2) 402 : TX2 = (XN4-XN2)/DF2 403 : TY2 = (YN4-YN2)/DF2 404 : 405 : XYZ(1,1)=XN6 406 : XYZ(2,1)=YN6 407 : XYZ(1,2)=XN4 408 : XYZ(2,2)=YN4 408 : CALL CALJBC(FN,GR,PG,XYZ,HR,PGSQ,RPG,NES,IDIM,NPI,NPG,IAXI,AIR3) 409 : 410 : DF3=(XN6-XN4)**2.D0 + (YN6-YN4)**2.D0 411 : DF3=SQRT(DF3) 412 : TX3 = (XN6-XN4)/DF3 413 : TY3 = (YN6-YN4)/DF3 414 : 415 : DFM=(DF1+DF2+DF3)/3.D0 416 : AIRM=(AIR1+AIR2+AIR3)/3.D0 417 : C AIR1=AIRM 418 : C AIR2=AIRM 419 : C AIR3=AIRM 420 : C DF1=DFM 421 : C DF2=DFM 422 : C DF3=DFM 423 : 424 : 425 : C VPOCHA(KFM-2,1)=DF1*AIR1 426 : C VPOCHA(KFM-1,1)=DF2*AIR2 427 : C VPOCHA(KFM ,1)=DF3*AIR3 428 : C 429 : C VPOCHA(KFM-2,2)=-TY1 430 : C VPOCHA(KFM-1,2)=-TY2 431 : C VPOCHA(KFM ,2)=-TY3 432 : C 433 : C VPOCHA(KFM-2,3)= TX1 434 : C VPOCHA(KFM-1,3)= TX2 435 : C VPOCHA(KFM ,3)= TX3 436 : 437 : C MPOVA1.VPOCHA(NCTV0+K,1)=AIR1*DF1 438 : C MPOVA1.VPOCHA(NCTV0+K,2)=-AIR1*DF1 439 : C MPOVA1.VPOCHA(NCTV0+K+1,1)=AIR2*DF2 440 : C MPOVA1.VPOCHA(NCTV0+K+1,2)=-AIR2*DF2 441 : C MPOVA1.VPOCHA(NCTV0+K+2,1)=AIR3*DF3 442 : C MPOVA1.VPOCHA(NCTV0+K+2,2)=-AIR3*DF3 443 : C MPOVA1.VPOCHA(NCTV0+K+3,1)=(AIR1*DF1+AIR2*DF2+AIR3*DF3) 444 : C MPOVA1.VPOCHA(NCTV0+K+3,2)=-AIR1*DF1 445 : C MPOVA1.VPOCHA(NCTV0+K+3,3)=-AIR2*DF2 446 : C MPOVA1.VPOCHA(NCTV0+K+3,4)=-AIR3*DF3 447 : 448 : MELSTB.NUM(1,NCSTB+K)=NC1 449 : MELSTB.NUM(2,NCSTB+K)=NC2 450 : MELSTB.NUM(3,NCSTB+K)=NC3 451 : MELSTB.NUM(4,NCSTB+K)=NC4 452 : 453 : MELSTB.NUM(1,NCSTB+K+1)=NC2 454 : MELSTB.NUM(2,NCSTB+K+1)=NC3 455 : MELSTB.NUM(3,NCSTB+K+1)=NC4 456 : MELSTB.NUM(4,NCSTB+K+1)=NC1 457 : 458 : MELSTB.NUM(1,NCSTB+K+2)=NC3 459 : MELSTB.NUM(2,NCSTB+K+2)=NC4 460 : MELSTB.NUM(3,NCSTB+K+2)=NC1 461 : MELSTB.NUM(4,NCSTB+K+2)=NC2 462 : 463 : MELSTB.NUM(1,NCSTB+K+3)=NC4 464 : MELSTB.NUM(2,NCSTB+K+3)=NC1 465 : MELSTB.NUM(3,NCSTB+K+3)=NC2 466 : MELSTB.NUM(4,NCSTB+K+3)=NC3 467 : 468 : 469 : H14=AIR1*DF1*GA(1) 470 : H24=AIR2*DF2*GA(1) 471 : H34=AIR3*DF3*GA(1) 472 : H12=(AIR1*DF1+AIR2*DF2)*0.5D0*EPS(1) 473 : H13=(AIR1*DF1+AIR3*DF3)*0.5D0*EPS(1) 474 : H23=(AIR2*DF2+AIR3*DF3)*0.5D0*EPS(1) 475 : 476 : MPOVA1.VPOCHA(NCTV0+K,1)=H12+H13+H14+EPSD(1) 477 : MPOVA1.VPOCHA(NCTV0+K,2)=-H12 478 : MPOVA1.VPOCHA(NCTV0+K,3)=-H13 479 : MPOVA1.VPOCHA(NCTV0+K,4)=-H14 480 : MPOVA1.VPOCHA(NCTV0+K+1,1)=H12+H23+H24+EPSD(1) 481 : MPOVA1.VPOCHA(NCTV0+K+1,2)=-H23 482 : MPOVA1.VPOCHA(NCTV0+K+1,3)=-H24 483 : MPOVA1.VPOCHA(NCTV0+K+1,4)=-H12 484 : MPOVA1.VPOCHA(NCTV0+K+2,1)=H13+H23+H34+EPSD(1) 485 : MPOVA1.VPOCHA(NCTV0+K+2,2)=-H34 486 : MPOVA1.VPOCHA(NCTV0+K+2,3)=-H13 487 : MPOVA1.VPOCHA(NCTV0+K+2,4)=-H23 488 : MPOVA1.VPOCHA(NCTV0+K+3,1)=-(H14+H24+H34)+EPSD(1) 489 : MPOVA1.VPOCHA(NCTV0+K+3,2)=-H14 490 : MPOVA1.VPOCHA(NCTV0+K+3,3)=-H24 491 : MPOVA1.VPOCHA(NCTV0+K+3,4)=-H34 492 : KPOC=1 493 : NCTV0=NCTV0+3 494 : NCSTB=NCSTB+3 495 : 496 : 206 CONTINUE 497 : C SEGDES IPT1,IPT2,IPT3,IPT4 498 : SEGDES IPT2 499 : GO TO 1 500 : 501 : C************************************************************************** 502 : 503 : C QUA8 -> 4 QUA4 504 : 108 CONTINUE 505 : 506 : NBEL=IPT1.NUM(/2) 507 : NP=IPT1.NUM(/1) 508 : NBP9=NBEL 509 : C NBPF=NBEL*4 510 : NBPF=0 511 : NBPC=NBEL*4 512 : 513 : C N=NBPF+VPOCHA(/1) 514 : C NC=3 515 : C SEGADJ MPOVAL 516 : N=NBPC+MPOVA1.VPOCHA(/1) 517 : NC=4 518 : NCTV0=MPOVA1.VPOCHA(/1) 519 : SEGADJ MPOVA1 520 : 521 : NBV0=XCOOR(/1)/(IDIM+1) 522 : NBPTS=NBV0+NBPF+NBPC+NBP9 523 : SEGADJ MCOORD 524 : 525 : NBELEM=4*NBEL 526 : NBNN=4 527 : NBSOUS=0 528 : NBREF=0 529 : SEGINI IPT2 530 : IPT2.ITYPEL=8 531 : IM=IM+1 532 : ITAB(IM)=IPT2 533 : 534 : C IF(IPT7.EQ.0)THEN 535 : C NBELEM=4*NBEL 536 : C NBNN=5 537 : C NBSOUS=0 538 : C NBREF=0 539 : C K7=0 540 : C SEGINI IPT7 541 : C IPT7.ITYPEL=9 542 : C ELSE 543 : C K7=IPT7.NUM(/2) 544 : C NBELEM=IPT7.NUM(/2)+4*NBEL 545 : C NBNN=5 546 : C NBSOUS=0 547 : C NBREF=0 548 : C SEGADJ IPT7 549 : C ENDIF 550 : 551 : C Spg des pts centres des macro elements 552 : NCTR0=MCTREI.NUM(/2) 553 : NBELEM=NCTR0+NBPC 554 : NBNN=1 555 : NBSOUS=0 556 : NBREF=0 557 : SEGADJ MCTREI 558 : KCTREI=1 559 : 560 : C Connectivités de la matrice de stabilisation 561 : NCSTB=MELSTB.NUM(/2) 562 : NBELEM=NCSTB+NBPC 563 : NBNN=4 564 : C write(6,*)' KTRSF : ',nbnn,nbelem 565 : NBSOUS=0 566 : NBREF=0 567 : SEGADJ MELSTB 568 : KSTB=1 569 : 570 : C NBELEM=0 571 : C NBNN=0 572 : C NBS=MELTFI.LISOUS(/1) 573 : C NBSOUS=NBS+1 574 : C NBREF=0 575 : C SEGADJ MELTFI 576 : C KELTFI=1 577 : C NBELEM=4*NBEL 578 : C NBNN=3 579 : C NBSOUS=0 580 : C NBREF=0 581 : C SEGINI IPT3 582 : C IPT3.ITYPEL=4 583 : C MELTFI.LISOUS(NBS+1)=IPT3 584 : 585 : C KFM=MFACEI.NUM(/2) 586 : C NBNN=MFACEI.NUM(/1) 587 : C NBELEM=MFACEI.NUM(/2)+NBPF 588 : C SEGADJ MFACEI 589 : C KFACEI=1 590 : 591 : C NBNN=MFICEL.NUM(/1) 592 : C NBELEM=MFICEL.NUM(/2)+NBPF 593 : C SEGADJ MFICEL 594 : C KFICEL=1 595 : 595 : CALL KALPBG('SEG2 ','FONFORM0',IZFFM) 595 : IF(IZFFM.EQ.0)CALL ARRET(0) 596 : SEGACT IZFFM*MOD 597 : IZHR=KZHR(1) 598 : SEGACT IZHR*MOD 599 : NPG=GR(/3) 600 : NES=GR(/1) 601 : 602 : K1=0 603 : KF=0 604 : DO 208 K=1,NBEL 605 : N1=IPT1.NUM(1,K) 606 : N2=IPT1.NUM(2,K) 607 : N3=IPT1.NUM(3,K) 608 : N4=IPT1.NUM(4,K) 609 : N5=IPT1.NUM(5,K) 610 : N6=IPT1.NUM(6,K) 611 : N7=IPT1.NUM(7,K) 612 : N8=IPT1.NUM(8,K) 613 : N9=NBV0+NBPF+NBPC+K 614 : 615 : XN1=XCOOR((N1-1)*(IDIM+1) +1) 616 : YN1=XCOOR((N1-1)*(IDIM+1) +2) 617 : XN2=XCOOR((N2-1)*(IDIM+1) +1) 618 : YN2=XCOOR((N2-1)*(IDIM+1) +2) 619 : XN3=XCOOR((N3-1)*(IDIM+1) +1) 620 : YN3=XCOOR((N3-1)*(IDIM+1) +2) 621 : XN4=XCOOR((N4-1)*(IDIM+1) +1) 622 : YN4=XCOOR((N4-1)*(IDIM+1) +2) 623 : XN5=XCOOR((N5-1)*(IDIM+1) +1) 624 : YN5=XCOOR((N5-1)*(IDIM+1) +2) 625 : XN6=XCOOR((N6-1)*(IDIM+1) +1) 626 : YN6=XCOOR((N6-1)*(IDIM+1) +2) 627 : XN7=XCOOR((N7-1)*(IDIM+1) +1) 628 : YN7=XCOOR((N7-1)*(IDIM+1) +2) 629 : XN8=XCOOR((N8-1)*(IDIM+1) +1) 630 : YN8=XCOOR((N8-1)*(IDIM+1) +2) 631 : XN9=(XN1+XN2+XN3+XN4+XN5+XN6+XN7+XN8)/8.D0 632 : YN9=(YN1+YN2+YN3+YN4+YN5+YN6+YN7+YN8)/8.D0 633 : DX=ABS(XN3-XN7)+ABS(XN1-XN5) 634 : DY=ABS(YN3-YN7)+ABS(YN1-YN5) 635 : XCOOR((N9-1)*(IDIM+1) +1)=XN9+DX*COEF 636 : XCOOR((N9-1)*(IDIM+1) +2)=YN9+DY*COEF 637 : 638 : CQ1 639 : K1=K1+1 640 : KF=KF+1 641 : NC1=NBV0+K1 642 : C NF1=NBV0+NBPC+KF 643 : 644 : MCTREI.NUM(1,NCTR0+K1)=NC1 645 : IPT2.NUM(1,K1)=N1 646 : IPT2.NUM(2,K1)=N2 647 : IPT2.NUM(3,K1)=N9 648 : IPT2.NUM(4,K1)=N8 649 : 650 : XCOOR((NC1-1)*(IDIM+1) +1)= (XN1+XN2+XN9+XN8)/4.D0 651 : XCOOR((NC1-1)*(IDIM+1) +2)= (YN1+YN2+YN9+YN8)/4.D0 652 : 653 : C XCOOR((NF1-1)*(IDIM+1) +1)= (XN2+XN9)/2.D0 654 : C XCOOR((NF1-1)*(IDIM+1) +2)= (YN2+YN9)/2.D0 655 : 656 : CQ2 657 : K1=K1+1 658 : KF=KF+1 659 : NC2=NBV0+K1 660 : C NF2=NBV0+NBPC+KF 661 : 662 : MCTREI.NUM(1,NCTR0+K1)=NC2 663 : IPT2.NUM(1,K1)=N3 664 : IPT2.NUM(2,K1)=N4 665 : IPT2.NUM(3,K1)=N9 666 : IPT2.NUM(4,K1)=N2 667 : 668 : XCOOR((NC2-1)*(IDIM+1) +1)= (XN3+XN4+XN9+XN2)/4.D0 669 : XCOOR((NC2-1)*(IDIM+1) +2)= (YN3+YN4+YN9+YN2)/4.D0 670 : 671 : C XCOOR((NF2-1)*(IDIM+1) +1)= (XN4+XN9)/2.D0 672 : C XCOOR((NF2-1)*(IDIM+1) +2)= (YN4+YN9)/2.D0 673 : 674 : CQ3 675 : K1=K1+1 676 : KF=KF+1 677 : NC3=NBV0+K1 678 : C NF3=NBV0+NBPC+KF 679 : 680 : MCTREI.NUM(1,NCTR0+K1)=NC3 681 : IPT2.NUM(1,K1)=N5 682 : IPT2.NUM(2,K1)=N6 683 : IPT2.NUM(3,K1)=N9 684 : IPT2.NUM(4,K1)=N4 685 : 686 : XCOOR((NC3-1)*(IDIM+1) +1)= (XN5+XN6+XN9+XN4)/4.D0 687 : XCOOR((NC3-1)*(IDIM+1) +2)= (YN5+YN6+YN9+YN4)/4.D0 688 : 689 : C XCOOR((NF3-1)*(IDIM+1) +1)= (XN6+XN9)/2.D0 690 : C XCOOR((NF3-1)*(IDIM+1) +2)= (YN6+YN9)/2.D0 691 : 692 : CQ4 693 : K1=K1+1 694 : KF=KF+1 695 : NC4=NBV0+K1 696 : C NF4=NBV0+NBPC+KF 697 : 698 : MCTREI.NUM(1,NCTR0+K1)=NC4 699 : IPT2.NUM(1,K1)=N7 700 : IPT2.NUM(2,K1)=N8 701 : IPT2.NUM(3,K1)=N9 702 : IPT2.NUM(4,K1)=N6 703 : 704 : XCOOR((NC4-1)*(IDIM+1) +1)= (XN7+XN8+XN9+XN6)/4.D0 705 : XCOOR((NC4-1)*(IDIM+1) +2)= (YN7+YN8+YN9+YN6)/4.D0 706 : 707 : C XCOOR((NF4-1)*(IDIM+1) +1)= (XN8+XN9)/2.D0 708 : C XCOOR((NF4-1)*(IDIM+1) +2)= (YN9+YN9)/2.D0 709 : 710 : C KFM=KFM+1 711 : C MFACEI.NUM(1,KFM)=NF1 712 : C MFICEL.NUM(1,KFM)=NC1 713 : C MFICEL.NUM(2,KFM)=NF1 714 : C MFICEL.NUM(3,KFM)=NC2 715 : 716 : C KFM=KFM+1 717 : C MFACEI.NUM(1,KFM)=NF2 718 : C MFICEL.NUM(1,KFM)=NC2 719 : C MFICEL.NUM(2,KFM)=NF2 720 : C MFICEL.NUM(3,KFM)=NC3 721 : 722 : C KFM=KFM+1 723 : C MFACEI.NUM(1,KFM)=NF3 724 : C MFICEL.NUM(1,KFM)=NC3 725 : C MFICEL.NUM(2,KFM)=NF3 726 : C MFICEL.NUM(3,KFM)=NC4 727 : 728 : C KFM=KFM+1 729 : C MFACEI.NUM(1,KFM)=NF4 730 : C MFICEL.NUM(1,KFM)=NC4 731 : C MFICEL.NUM(2,KFM)=NF4 732 : C MFICEL.NUM(3,KFM)=NC1 733 : 734 : C K4=4*(K-1) 735 : C IPT3.NUM(1,K4+1)=NC1 736 : C IPT3.NUM(2,K4+1)=NF1 737 : C IPT3.NUM(3,K4+1)=NF4 738 : 739 : C IPT3.NUM(1,K4+2)=NC2 740 : C IPT3.NUM(2,K4+2)=NF2 741 : C IPT3.NUM(3,K4+2)=NF1 742 : 743 : C IPT3.NUM(1,K4+3)=NC3 744 : C IPT3.NUM(2,K4+3)=NF3 745 : C IPT3.NUM(3,K4+3)=NF2 746 : 747 : C IPT3.NUM(1,K4+4)=NC4 748 : C IPT3.NUM(2,K4+4)=NF4 749 : C IPT3.NUM(3,K4+4)=NF3 750 : 751 : C IPT7.NUM(1,K7+K)=NC1 752 : C IPT7.NUM(2,K7+K)=NC2 753 : C IPT7.NUM(3,K7+K)=NC4 754 : C IPT7.NUM(4,K7+K)=NF1 755 : C IPT7.NUM(5,K7+K)=NF4 756 : 757 : C IPT7.NUM(1,K7+K+1)=NC2 758 : C IPT7.NUM(2,K7+K+1)=NC3 759 : C IPT7.NUM(3,K7+K+1)=NC1 760 : C IPT7.NUM(4,K7+K+1)=NF2 761 : C IPT7.NUM(5,K7+K+1)=NF1 762 : 763 : C IPT7.NUM(1,K7+K+2)=NC3 764 : C IPT7.NUM(2,K7+K+2)=NC4 765 : C IPT7.NUM(3,K7+K+2)=NC2 766 : C IPT7.NUM(4,K7+K+2)=NF3 767 : C IPT7.NUM(5,K7+K+2)=NF2 768 : 769 : C IPT7.NUM(1,K7+K+3)=NC4 770 : C IPT7.NUM(2,K7+K+3)=NC1 771 : C IPT7.NUM(3,K7+K+3)=NC3 772 : C IPT7.NUM(4,K7+K+3)=NF4 773 : C IPT7.NUM(5,K7+K+3)=NF3 774 : C K7=K7+3 775 : 776 : NPI=2 777 : 778 : XYZ(1,1)=XN2 779 : XYZ(2,1)=YN2 780 : XYZ(1,2)=XN9 781 : XYZ(2,2)=YN9 781 : CALL CALJBC(FN,GR,PG,XYZ,HR,PGSQ,RPG,NES,IDIM,NPI,NPG,IAXI,AIR1) 782 : 783 : DF1=(XN2-XN9)**2.D0 + (YN2-YN9)**2.D0 784 : DF1=SQRT(DF1) 785 : TX1 = (XN2-XN9)/DF1 786 : TY1 = (YN2-YN9)/DF1 787 : 788 : XYZ(1,1)=XN4 789 : XYZ(2,1)=YN4 790 : XYZ(1,2)=XN9 791 : XYZ(2,2)=YN9 791 : CALL CALJBC(FN,GR,PG,XYZ,HR,PGSQ,RPG,NES,IDIM,NPI,NPG,IAXI,AIR2) 792 : 793 : DF2=(XN4-XN9)**2.D0 + (YN4-YN9)**2.D0 794 : DF2=SQRT(DF2) 795 : TX2 = (XN4-XN9)/DF2 796 : TY2 = (YN4-YN9)/DF2 797 : 798 : XYZ(1,1)=XN6 799 : XYZ(2,1)=YN6 800 : XYZ(1,2)=XN9 801 : XYZ(2,2)=YN9 801 : CALL CALJBC(FN,GR,PG,XYZ,HR,PGSQ,RPG,NES,IDIM,NPI,NPG,IAXI,AIR3) 802 : 803 : DF3=(XN6-XN9)**2.D0 + (YN6-YN9)**2.D0 804 : DF3=SQRT(DF3) 805 : TX3 = (XN6-XN9)/DF3 806 : TY3 = (YN6-YN9)/DF3 807 : 808 : XYZ(1,1)=XN8 809 : XYZ(2,1)=YN8 810 : XYZ(1,2)=XN9 811 : XYZ(2,2)=YN9 811 : CALL CALJBC(FN,GR,PG,XYZ,HR,PGSQ,RPG,NES,IDIM,NPI,NPG,IAXI,AIR4) 812 : 813 : DF4=(XN8-XN9)**2.D0 + (YN8-YN9)**2.D0 814 : DF4=SQRT(DF4) 815 : TX4 = (XN8-XN9)/DF4 816 : TY4 = (YN8-YN9)/DF4 817 : 818 : DFM=(DF1+DF2+DF3+DF4)/4.D0 819 : C? DF1=1.D0 820 : C? DF2=1.D0 821 : C? DF3=1.D0 822 : C? DF4=1.D0 823 : AIRM=(AIR1+AIR2+AIR3+AIR4)/4.D0 824 : C? AIR1=AIRM 825 : C? AIR2=AIRM 826 : C? AIR3=AIRM 827 : C? AIR4=AIRM 828 : 829 : C VPOCHA(KFM-3,1)=DF1*AIR1 830 : C VPOCHA(KFM-2,1)=DF2*AIR2 831 : C VPOCHA(KFM-1,1)=DF3*AIR3 832 : C VPOCHA(KFM ,1)=DF4*AIR4 833 : C 834 : C VPOCHA(KFM-3,2)=-TY1 835 : C VPOCHA(KFM-2,2)=-TY2 836 : C VPOCHA(KFM-1,2)=-TY3 837 : C VPOCHA(KFM ,2)=-TY4 838 : 839 : C VPOCHA(KFM-3,3)= TX1 840 : C VPOCHA(KFM-2,3)= TX2 841 : C VPOCHA(KFM-1,3)= TX3 842 : C VPOCHA(KFM ,3)= TX4 843 : 844 : C? MPOVA1.VPOCHA(NCTV0+K,1)=AIR1+AIR4 845 : C? MPOVA1.VPOCHA(NCTV0+K,2)=-AIR1 846 : C? MPOVA1.VPOCHA(NCTV0+K,3)=-AIR4 847 : C? MPOVA1.VPOCHA(NCTV0+K+1,1)=AIR2+AIR1 848 : C? MPOVA1.VPOCHA(NCTV0+K+1,2)=-AIR2 849 : C? MPOVA1.VPOCHA(NCTV0+K+1,3)=-AIR1 850 : C? MPOVA1.VPOCHA(NCTV0+K+2,1)=AIR3+AIR2 851 : C? MPOVA1.VPOCHA(NCTV0+K+2,2)=-AIR3 852 : C? MPOVA1.VPOCHA(NCTV0+K+2,3)=-AIR2 853 : C? MPOVA1.VPOCHA(NCTV0+K+3,1)=AIR4+AIR3 854 : C? MPOVA1.VPOCHA(NCTV0+K+3,2)=-AIR4 855 : C? MPOVA1.VPOCHA(NCTV0+K+3,3)=-AIR3 856 : 857 : MELSTB.NUM(1,NCSTB+K)=NC1 858 : MELSTB.NUM(2,NCSTB+K)=NC2 859 : MELSTB.NUM(3,NCSTB+K)=NC3 860 : MELSTB.NUM(4,NCSTB+K)=NC4 861 : 862 : MELSTB.NUM(1,NCSTB+K+1)=NC2 863 : MELSTB.NUM(2,NCSTB+K+1)=NC3 864 : MELSTB.NUM(3,NCSTB+K+1)=NC4 865 : MELSTB.NUM(4,NCSTB+K+1)=NC1 866 : 867 : MELSTB.NUM(1,NCSTB+K+2)=NC3 868 : MELSTB.NUM(2,NCSTB+K+2)=NC4 869 : MELSTB.NUM(3,NCSTB+K+2)=NC1 870 : MELSTB.NUM(4,NCSTB+K+2)=NC2 871 : 872 : MELSTB.NUM(1,NCSTB+K+3)=NC4 873 : MELSTB.NUM(2,NCSTB+K+3)=NC1 874 : MELSTB.NUM(3,NCSTB+K+3)=NC2 875 : MELSTB.NUM(4,NCSTB+K+3)=NC3 876 : 877 : 878 : H12=AIR1*DF1*GA(2) 879 : H13=AIRM*DFM*EPS(2) 880 : H14=AIR4*DF4*GA(2) 881 : H23=AIR2*DF2*GA(2) 882 : H24=AIRM*DFM*EPS(2) 883 : H34=AIR3*DF3*GA(2) 884 : 885 : MPOVA1.VPOCHA(NCTV0+K,1)=H12+H13+H14 886 : MPOVA1.VPOCHA(NCTV0+K,2)=-H12 887 : MPOVA1.VPOCHA(NCTV0+K,3)=-H13 888 : MPOVA1.VPOCHA(NCTV0+K,4)=-H14 889 : MPOVA1.VPOCHA(NCTV0+K+1,1)=H12+H23+H24 890 : MPOVA1.VPOCHA(NCTV0+K+1,2)=-H23 891 : MPOVA1.VPOCHA(NCTV0+K+1,3)=-H24 892 : MPOVA1.VPOCHA(NCTV0+K+1,4)=-H12 893 : MPOVA1.VPOCHA(NCTV0+K+2,1)=H13+H23+H34 894 : MPOVA1.VPOCHA(NCTV0+K+2,2)=-H34 895 : MPOVA1.VPOCHA(NCTV0+K+2,3)=-H13 896 : MPOVA1.VPOCHA(NCTV0+K+2,4)=-H23 897 : MPOVA1.VPOCHA(NCTV0+K+3,1)=H14+H24+H34 898 : MPOVA1.VPOCHA(NCTV0+K+3,2)=-H14 899 : MPOVA1.VPOCHA(NCTV0+K+3,3)=-H24 900 : MPOVA1.VPOCHA(NCTV0+K+3,4)=-H34 901 : KPOC=1 902 : NCTV0=NCTV0+3 903 : NCSTB=NCSTB+3 904 : 905 : 208 CONTINUE 906 : C SEGDES IPT1,IPT2,IPT3 907 : SEGDES IPT2 908 : GO TO 1 909 : 910 : C************************************************************************** 911 : 912 : C SEG3 -> 2 SEG2 913 : 103 CONTINUE 914 : NBEL=IPT1.NUM(/2) 915 : NP=IPT1.NUM(/1) 916 : 917 : NBPC=NBEL*2 918 : 919 : NBV0=XCOOR(/1)/(IDIM+1) 920 : NBPTS=NBV0+NBPC 921 : SEGADJ MCOORD 922 : 923 : NBELEM=2*NBEL 924 : NBNN=2 925 : NBSOUS=0 926 : NBREF=0 927 : SEGINI IPT2 928 : IPT2.ITYPEL=2 929 : IM=IM+1 930 : ITAB(IM)=IPT2 931 : 932 : C Spg des pts centres des macro elements 933 : NCTR0=MCTREI.NUM(/2) 934 : NBELEM=NCTR0+NBPC 935 : NBNN=1 936 : NBSOUS=0 937 : NBREF=0 938 : SEGADJ MCTREI 939 : KCTREI=1 940 : 941 : K1=0 942 : DO 203 K=1,NBEL 943 : N1=IPT1.NUM(1,K) 944 : N2=IPT1.NUM(2,K) 945 : N3=IPT1.NUM(3,K) 946 : XN1=XCOOR((N1-1)*(IDIM+1) +1) 947 : YN1=XCOOR((N1-1)*(IDIM+1) +2) 948 : XN2=XCOOR((N2-1)*(IDIM+1) +1) 949 : YN2=XCOOR((N2-1)*(IDIM+1) +2) 950 : XN3=XCOOR((N3-1)*(IDIM+1) +1) 951 : YN3=XCOOR((N3-1)*(IDIM+1) +2) 952 : XNC1=(XN1+XN2)/2.D0 953 : YNC1=(YN1+YN2)/2.D0 954 : XNC2=(XN2+XN3)/2.D0 955 : YNC2=(YN2+YN3)/2.D0 956 : 957 : 958 : CS1 959 : K1=K1+1 960 : NC1=NBV0+K1 961 : MCTREI.NUM(1,NCTR0+K1)=NC1 962 : XCOOR((NC1-1)*(IDIM+1) +1)=XNC1 963 : XCOOR((NC1-1)*(IDIM+1) +2)=YNC1 964 : 965 : IPT2.NUM(1,K1)=N1 966 : IPT2.NUM(2,K1)=N2 967 : 968 : CS2 969 : K1=K1+1 970 : NC2=NBV0+K1 971 : MCTREI.NUM(1,NCTR0+K1)=NC2 972 : XCOOR((NC2-1)*(IDIM+1) +1)=XNC2 973 : XCOOR((NC2-1)*(IDIM+1) +2)=YNC2 974 : 975 : IPT2.NUM(1,K1)=N2 976 : IPT2.NUM(2,K1)=N3 977 : 203 CONTINUE 978 : SEGDES IPT1,IPT2 979 : GO TO 1 980 : 981 : 982 : 1 CONTINUE 983 : C IF(MELTFI.LISOUS(/1).EQ.1)THEN 984 : C MEL=MELTFI.LISOUS(1) 985 : C SEGSUP MELTFI 986 : C MELTFI=MEL 987 : C ENDIF 988 : 989 : IF(IM.EQ.1)THEN 990 : MELEME=ITAB(1) 991 : ELSE 992 : IF(IM.GT.5)THEN 993 : WRITE(6,*)' Problemes dans DOMA option MACRO ' 994 : RETURN 995 : ENDIF 996 : NBELEM=0 997 : NBNN=0 998 : NBSOUS=IM 999 : NBREF=0 1000 : SEGINI MELEME 1001 : DO 2 L=1,NBSOUS 1002 : LISOUS(L)=ITAB(L) 1003 : 2 CONTINUE 1004 : ENDIF 1004 : CALL ECMO(MTBT0,'MELEME','MAILLAGE',MELEME) 1005 : 1006 : C IF(IPT5.EQ.0.AND.IPT7.NE.0)THEN 1006 : C CALL ECMO(MTBT0,'MELELI','MAILLAGE',IPT7 ) 1007 : C ELSEIF(IPT5.NE.0)THEN 1008 : C NBELEM=0 1009 : C NBNN=0 1010 : C NBREF=0 1011 : C NBSOUS=2 1012 : C IF(IPT7.NE.0)NBSOUS=3 1013 : C SEGINI MELELI 1014 : C MELELI.LISOUS(1)=IPT5 1015 : C MELELI.LISOUS(2)=IPT6 1016 : C IF(IPT7.NE.0)MELELI.LISOUS(3)=IPT7 1016 : C CALL ECMO(MTBT0,'MELELI','MAILLAGE',MELELI) 1017 : C ENDIF 1018 : 1019 : C Connectivités de la matrice de stabilisation 1020 : 1021 : IF(KSTB.NE.0)THEN 1021 : CALL ECMO(MTBT0,'MELSTB','MAILLAGE',MELSTB) 1022 : ELSE 1023 : SEGSUP MELSTB 1024 : MELSTB=0 1025 : ENDIF 1026 : 1027 : IF(KCTREI.NE.0)THEN 1027 : CALL ECMO(MTBT0,'MCTREI','MAILLAGE',MCTREI) 1028 : IF(KPOC.NE.0)THEN 1029 : MSOUP1.IGEOC=MCTREI 1029 : CALL ECMO(MTBT0,'MCHPOC','CHPOINT',MCHPO1) 1030 : ELSE 1031 : SEGSUP MCHPO1,MSOUP1,MPOVA1 1032 : ENDIF 1033 : ELSE 1034 : SEGSUP MCTREI 1035 : MCTREI=0 1036 : ENDIF 1037 : 1038 : C IF(KFACEI.NE.0)THEN 1038 : C CALL ECMO(MTBT0,'MFACEI','MAILLAGE',MFACEI) 1039 : C SEGDES MFACEI 1040 : C IGEOC=MFACEI 1040 : C CALL ECMO(MTBT0,'MCHPOF','CHPOINT',MCHPOI) 1041 : C ELSE 1042 : C SEGSUP MFACEI 1043 : C MFACEI=0 1044 : C ENDIF 1045 : 1046 : C IF(KFICEL.NE.0)THEN 1046 : C CALL ECMO(MTBT0,'MFICEL','MAILLAGE',MFICEL) 1047 : C SEGDES MFICEL 1048 : C ELSE 1049 : C SEGSUP MFICEL 1050 : C MFICEL=0 1051 : C ENDIF 1052 : 1053 : C IF(KELTFI.NE.0)THEN 1053 : C CALL ECMO(MTBT0,'MELTFI','MAILLAGE',MELTFI) 1054 : C SEGDES MELTFI 1055 : C ELSE 1056 : C SEGSUP MELTFI 1057 : C MELTFI=0 1058 : C ENDIF 1059 : 1060 : 1061 : SEGDES MELEME,MACRO 1062 : 1063 : RETURN 1064 : END 1065 : 1066 : 1067 : 1068 : 1069 : 1070 : 1071 : 1072 : 1073 : 1074 : 1075 : 1076 :
© Cast3M 2003 - All rights reserved.
Disclaimer