1 : C DONOEU SOURCE CHAT 05/09/30 21:21:36 5192 2 : SUBROUTINE DONOEU(IELE,MELE,NBSH,NNO,IPT,IRET) 3 : C======================================================================= 4 : C 5 : C CALCULE LES COORDONNEES REDUITES ET LES POIDS 6 : C D'INTEGRATION CORRESPONDANTS 7 : C IELE = NUMEROTATION DES ELEMENTS DANS NOMS(32) 8 : C (VOIR CCGEO..ME) 9 : C MELE = NUMERO DE L'ELEMENT FINI 10 : C NBSH = NOMBRE DE FONCTIONS D'INTERPOLATION 11 : C NNO = NOMBRE DE NOEUDS DE L'ELEMENT NOMS(IELE) 12 : C QSI(NNO) ETA(NNO) DZE(NNO) = COORDONNEES REDUITES 13 : C 14 : C POI(NBG) = POIDS DE L'INTEGRATION 15 : C C A D VOLUME DE L'ELEMENT DE BASE 16 : C FOIS CONTRIBUTION DU NOEUD 17 : C 18 : C IRET = 1 OU 0 SUIVANT QUE IELE IMPLEMENTE OU PAS 19 : C 20 : C======================================================================= 21 : IMPLICIT INTEGER(I-N) 22 : IMPLICIT REAL*8(A-H,O-Z) 23 : -INC CCREEL 24 : -INC SMINTE 25 : C 26 : C QUELQUES CONSTANTES EN VRAC 27 : C 28 : DATA UNDEMI,UN/.5D0,1.D0/ 29 : DATA UNDOU/.8333333333333333D-1/ 30 : DATA UNTIER/.33333333333333333D0/ 31 : DATA DEUTIE/.66666666666666666D0/ 32 : DATA UNSIX/.166666666666666666D0/ 33 : C 34 : NBPGAU=NNO 35 : NBNO=NBSH 36 : SEGINI MINTE 37 : IPT=MINTE 38 : IRET=1 39 : DO 100 I=1,NNO 40 : QSIGAU(I)=XZERO 41 : ETAGAU(I)=XZERO 42 : DZEGAU(I)=XZERO 43 : POIGAU(I)=XZERO 44 : 100 CONTINUE 45 : * 46 : * PETIT DEBRANCHEMENT POUR ELEMENT TUYO 47 : * 48 : IF(MELE.EQ.96) GO TO 96 49 : C 50 : C 66 INDIQUE QUE L ELEMENT N EST PAS ENCORE IMPLEMENTE 51 : C DANS CE CAS IRET EST MIS A XZERO 52 : C 53 : C P1 S2 S3 T3 T4 T6 T7 Q4 Q5 Q8 Q9 R2 R3 C8 C20 P6 P15 54 : GOTO ( 1, 2, 3, 4, 5, 6, 7, 8, 8,10,10, 2,13,14, 15,16, 17, 55 : C L3 L4 L6 L8 MU T4 T10 P5 P13 ATT SUP RP3 LP6 LP8 56 : 1 4, 8,66,66,66,23, 24,25, 26, 66, 66, 3, 6, 10, 57 : C POLY 58 : 2 32),IELE 59 : C 60 : 66 IRET=0 61 : IPT=0 62 : GOTO 666 63 : C 64 : C ELEMENT POI1 65 : C 66 : 1 CONTINUE 67 : POIGAU(1)=UN 68 : GOTO 666 69 : C 70 : C ELEMENT LIGNE 2 NOEUDS LONGUEUR=2 71 : C 72 : 2 CONTINUE 73 : QSIGAU(1)=-UN 74 : QSIGAU(2)= UN 75 : POIGAU(1)= UN 76 : POIGAU(2)= UN 77 : GOTO 666 78 : C 79 : C ELEMENT LIGNE 3 NOEUDS LONGUEUR=2 80 : C 81 : 3 CONTINUE 82 : QSIGAU(1)=-UN 83 : QSIGAU(3)= UN 84 : POIGAU(1)= DEUTIE 85 : POIGAU(2)= DEUTIE 86 : POIGAU(3)= DEUTIE 87 : GOTO 666 88 : C 89 : C ELEMENT TRIANGLE 3 NOEUDS SURFACE=1/2 90 : C 91 : 4 CONTINUE 92 : QSIGAU(2)=UN 93 : ETAGAU(3)=UN 94 : POIGAU(1)=UNSIX 95 : POIGAU(2)=UNSIX 96 : POIGAU(3)=UNSIX 97 : GOTO 666 98 : C 99 : C ELEMENT TRIANGLE 4 NOEUDS SURFACE =1/2 100 : C 101 : 5 CONTINUE 102 : QSIGAU(2)=UN 103 : ETAGAU(3)=UN 104 : QSIGAU(4)=UNTIER 105 : ETAGAU(4)=UNTIER 106 : POIGAU(1)=1.D0/8.D0 107 : POIGAU(2)=POIGAU(1) 108 : POIGAU(3)=POIGAU(1) 109 : POIGAU(4)=POIGAU(1) 110 : GOTO 666 111 : C 112 : C TRIANGLE 6 NOEUDS SURFACE = 1/2 113 : C 114 : 6 CONTINUE 115 : QSIGAU(2)=UNDEMI 116 : QSIGAU(3)=UN 117 : QSIGAU(4)=UNDEMI 118 : ETAGAU(4)=UNDEMI 119 : ETAGAU(5)=UN 120 : ETAGAU(6)=UNDEMI 121 : DO 61 IA=1,6 122 : POIGAU(IA)=UNDOU 123 : 61 CONTINUE 124 : GOTO 666 125 : C 126 : C TRIANGLE 7 NOEUDS SURFACE=1/2 127 : C 128 : 7 CONTINUE 129 : QSIGAU(2)=UNDEMI 130 : QSIGAU(3)=UN 131 : QSIGAU(4)=UNDEMI 132 : ETAGAU(4)=UNDEMI 133 : ETAGAU(5)=UN 134 : ETAGAU(6)=UNDEMI 135 : QSIGAU(7)=UNTIER 136 : ETAGAU(7)=UNTIER 137 : UN14=1.D0/14.D0 138 : DO 71 IA=1,7 139 : POIGAU(IA)=UN14 140 : 71 CONTINUE 141 : GOTO 666 142 : C 143 : C ELEMENT CARRE 4 OU 5 NOEUDS SURFACE =4 144 : C 145 : 8 CONTINUE 146 : QSIGAU(1)=-UN 147 : QSIGAU(2)= UN 148 : QSIGAU(3)= UN 149 : QSIGAU(4)=-UN 150 : ETAGAU(1)=-UN 151 : ETAGAU(2)=-UN 152 : ETAGAU(3)= UN 153 : ETAGAU(4)= UN 154 : UN4=UN 155 : IF(NNO.EQ.5) UN4=.8D0 156 : DO 81 IA=1,NNO 157 : POIGAU(IA)=UN4 158 : 81 CONTINUE 159 : GOTO 666 160 : C 161 : C CARRE 8 OU 9 NOEUDS SURFACE=4 162 : C 163 : 10 CONTINUE 164 : QSIGAU(1)=-UN 165 : QSIGAU(3)= UN 166 : QSIGAU(4)= UN 167 : QSIGAU(5)= UN 168 : QSIGAU(7)=-UN 169 : QSIGAU(8)=-UN 170 : ETAGAU(1)=-UN 171 : ETAGAU(2)=-UN 172 : ETAGAU(3)=-UN 173 : ETAGAU(5)= UN 174 : ETAGAU(6)= UN 175 : ETAGAU(7)= UN 176 : UN2=UNDEMI 177 : IF(NNO.EQ.9) UN2=4.D0/9.D0 178 : DO 11 IA=1,NNO 179 : POIGAU(IA)=UN2 180 : 11 CONTINUE 181 : GOTO 666 182 : C 183 : C ELEMENT RACCORD 2 SURFACE=0 ( DEBRANCHE ! ) 184 : C VOIR 2 CONTINUE 185 : C 186 : C 12 CONTINUE 187 : C QSIGAU(1)=-UN 188 : C QSIGAU(2)= UN 189 : C QSIGAU(3)= UN 190 : C QSIGAU(4)=-UN 191 : C ETAGAU(1)=-UN 192 : C ETAGAU(2)=-UN 193 : C ETAGAU(3)= UN 194 : C ETAGAU(4)= UN 195 : C POIGAU(1)= UN 196 : C POIGAU(2)= UN 197 : C POIGAU(3)= UN 198 : C POIGAU(4)= UN 199 : C GOTO 666 200 : C 201 : C ELEMENT RACCORD 3 SURFACE=0 202 : C 203 : 13 CONTINUE 204 : QSIGAU(1)=-UN 205 : QSIGAU(2)= XZERO 206 : QSIGAU(3)= UN 207 : QSIGAU(4)= UN 208 : QSIGAU(5)= XZERO 209 : QSIGAU(6)=-UN 210 : C 211 : ETAGAU(1)=-UN 212 : ETAGAU(2)=-UN 213 : ETAGAU(3)=-UN 214 : ETAGAU(4)= UN 215 : ETAGAU(5)= UN 216 : ETAGAU(6)= UN 217 : C 218 : POIGAU(1)= UN 219 : POIGAU(2)= UN 220 : POIGAU(3)= UN 221 : POIGAU(4)= UN 222 : POIGAU(5)= UN 223 : POIGAU(6)= UN 224 : GOTO 666 225 : C 226 : C ELEMENT CUBE VOLUME=8 8 NOEUDS 227 : C 228 : 14 CONTINUE 229 : QSIGAU(1)=-UN 230 : QSIGAU(2)= UN 231 : QSIGAU(3)= UN 232 : QSIGAU(4)=-UN 233 : QSIGAU(5)=-UN 234 : QSIGAU(6)= UN 235 : QSIGAU(7)= UN 236 : QSIGAU(8)=-UN 237 : ETAGAU(1)=-UN 238 : ETAGAU(2)=-UN 239 : ETAGAU(3)= UN 240 : ETAGAU(4)= UN 241 : ETAGAU(5)=-UN 242 : ETAGAU(6)=-UN 243 : ETAGAU(7)= UN 244 : ETAGAU(8)= UN 245 : DO 141 IA=1,4 246 : DZEGAU(IA )=-UN 247 : DZEGAU(IA+4)= UN 248 : POIGAU(IA )= UN 249 : POIGAU(IA+4)= UN 250 : 141 CONTINUE 251 : GOTO 666 252 : C 253 : C CUBE A 20 NOEUDS VOLUME=8 254 : C 255 : 15 CONTINUE 256 : DO 151 IA=3,5 257 : QSIGAU(IA )= UN 258 : QSIGAU(IA+12)= UN 259 : 151 CONTINUE 260 : QSIGAU(10)= UN 261 : QSIGAU(11)= UN 262 : QSIGAU( 9)=-UN 263 : QSIGAU(12)=-UN 264 : QSIGAU( 1)=-UN 265 : QSIGAU( 8)=-UN 266 : QSIGAU( 7)=-UN 267 : QSIGAU(13)=-UN 268 : QSIGAU(20)=-UN 269 : QSIGAU(19)=-UN 270 : DO 152 IA=1,8 271 : DZEGAU(IA )=-UN 272 : DZEGAU(IA+12)= UN 273 : 152 CONTINUE 274 : DO 153 IA=1,3 275 : ETAGAU(IA )=-UN 276 : ETAGAU(IA+4 )= UN 277 : ETAGAU(IA+12)=-UN 278 : ETAGAU(IA+16)= UN 279 : 153 CONTINUE 280 : ETAGAU( 9)=-UN 281 : ETAGAU(10)=-UN 282 : ETAGAU(11)= UN 283 : ETAGAU(12)= UN 284 : DO 154 IA=1,20 285 : POIGAU(IA)=.4D0 286 : 154 CONTINUE 287 : GOTO 666 288 : C 289 : C ELEMENT PRISME VOLUME=1 6 NOEUDS 290 : C 291 : 16 CONTINUE 292 : QSIGAU(2)= UN 293 : ETAGAU(3)= UN 294 : DZEGAU(1)=-UN 295 : DZEGAU(2)=-UN 296 : DZEGAU(3)=-UN 297 : QSIGAU(5)= UN 298 : ETAGAU(6)= UN 299 : DZEGAU(4)= UN 300 : DZEGAU(5)= UN 301 : DZEGAU(6)= UN 302 : DO 161 IA=1,6 303 : POIGAU(IA)=UNSIX 304 : 161 CONTINUE 305 : GOTO 666 306 : C 307 : C PRISME A 15 NOEUDS VOLUME=1 308 : C 309 : 17 CONTINUE 310 : DO 171 IA=1,6 311 : DZEGAU(IA )=-UN 312 : DZEGAU(IA+9)= UN 313 : 171 CONTINUE 314 : QSIGAU(8) =UN 315 : ETAGAU(9) =UN 316 : QSIGAU(2) =UNDEMI 317 : QSIGAU(4) =UNDEMI 318 : QSIGAU(11) =UNDEMI 319 : QSIGAU(13) =UNDEMI 320 : QSIGAU(3) =UN 321 : QSIGAU(8) =UN 322 : QSIGAU(12) =UN 323 : ETAGAU(4) =UNDEMI 324 : ETAGAU(6) =UNDEMI 325 : ETAGAU(13) =UNDEMI 326 : ETAGAU(15) =UNDEMI 327 : ETAGAU(5) =UN 328 : ETAGAU(9) =UN 329 : ETAGAU(14) =UN 330 : UN15=1.D0/15.D0 331 : DO 172 IA=1,15 332 : POIGAU(IA)=UN15 333 : 172 CONTINUE 334 : GOTO 666 335 : C 336 : C ELEMENT LIAISON 3 VOLUME=0 337 : C 338 : 18 CONTINUE 339 : QSIGAU(2)= UN 340 : ETAGAU(3)= UN 341 : DZEGAU(1)=-UN 342 : DZEGAU(2)=-UN 343 : DZEGAU(3)=-UN 344 : QSIGAU(5)= UN 345 : ETAGAU(6)= UN 346 : DZEGAU(4)= UN 347 : DZEGAU(5)= UN 348 : DZEGAU(6)= UN 349 : DO 181 IA=1,6 350 : POIGAU(IA)=UNSIX 351 : 181 CONTINUE 352 : GOTO 666 353 : C 354 : C ELEMENT LIAISON 4 VOLUME=0 355 : C 356 : C 19 CONTINUE 357 : C QSIGAU(1)=-UN 358 : C QSIGAU(2)= UN 359 : C QSIGAU(3)= UN 360 : C QSIGAU(4)=-UN 361 : C QSIGAU(5)=-UN 362 : C QSIGAU(6)= UN 363 : C QSIGAU(7)= UN 364 : C QSIGAU(8)=-UN 365 : C ETAGAU(1)=-UN 366 : C ETAGAU(2)=-UN 367 : C ETAGAU(3)= UN 368 : C ETAGAU(4)= UN 369 : C ETAGAU(5)=-UN 370 : C ETAGAU(6)=-UN 371 : C ETAGAU(7)= UN 372 : C ETAGAU(8)= UN 373 : C DO 191 IA=1,4 374 : C DZEGAU(IA )=-UN 375 : C DZEGAU(IA+4)= UN 376 : C POIGAU(IA )= UN 377 : C POIGAU(IA+4)= UN 378 : C 191 CONTINUE 379 : C GOTO 666 380 : C 381 : C ELEMENT TETRAEDRE VOLUME=1/3 4 NOEUDS 382 : C 383 : 23 CONTINUE 384 : QSIGAU(2)=UN 385 : ETAGAU(3)=UN 386 : DZEGAU(4)=UN 387 : POIGAU(1)=UNDOU 388 : POIGAU(2)=UNDOU 389 : POIGAU(3)=UNDOU 390 : POIGAU(4)=UNDOU 391 : GOTO 666 392 : C 393 : C ELEMENT TETRAEDRE VOLUME =1/3 10 NOEUDS 394 : C 395 : 24 CONTINUE 396 : QSIGAU(2)=UNDEMI 397 : QSIGAU(4)=UNDEMI 398 : QSIGAU(8)=UNDEMI 399 : ETAGAU(4)=UNDEMI 400 : ETAGAU(6)=UNDEMI 401 : ETAGAU(9)=UNDEMI 402 : DZEGAU(7)=UNDEMI 403 : DZEGAU(8)=UNDEMI 404 : DZEGAU(9)=UNDEMI 405 : QSIGAU(3)=UN 406 : ETAGAU(5)=UN 407 : DZEGAU(10)=UN 408 : UN30=1.D0/30.D0 409 : DO 241 IA=1,10 410 : POIGAU(IA)=UN30 411 : 241 CONTINUE 412 : GOTO 666 413 : C 414 : C ELEMENT PYRAMIDE VOLUME=2/3 5 NOEUDS 415 : C 416 : 25 CONTINUE 417 : QSIGAU(1)= UN 418 : QSIGAU(2)= XZERO 419 : QSIGAU(3)=-UN 420 : QSIGAU(4)= XZERO 421 : ETAGAU(1)= XZERO 422 : ETAGAU(2)= UN 423 : ETAGAU(3)= XZERO 424 : ETAGAU(4)=-UN 425 : DZEGAU(5)= UN 426 : UN215 =2.D0/15.D0 427 : DO 251 IA=1,5 428 : POIGAU(IA)=UN215 429 : 251 CONTINUE 430 : GOTO 666 431 : C 432 : C ELEMENT PYRAMIDE 13 NOEUDS VOLUME =2/3 433 : C 434 : 26 CONTINUE 435 : QSIGAU(1)= UN 436 : QSIGAU(2)= UNDEMI 437 : QSIGAU(3)= XZERO 438 : QSIGAU(4)=-UNDEMI 439 : QSIGAU(5)=-UN 440 : QSIGAU(6)=-UNDEMI 441 : QSIGAU(7)= XZERO 442 : QSIGAU(8)= UNDEMI 443 : QSIGAU(9)= UNDEMI 444 : QSIGAU(10)= XZERO 445 : QSIGAU(11)=-UNDEMI 446 : QSIGAU(12)= XZERO 447 : QSIGAU(13)= XZERO 448 : ETAGAU(1)= XZERO 449 : ETAGAU(2)= UNDEMI 450 : ETAGAU(3)= UN 451 : ETAGAU(4)= UNDEMI 452 : ETAGAU(5)= XZERO 453 : ETAGAU(6)=-UNDEMI 454 : ETAGAU(7)=-UN 455 : ETAGAU(8)=-UNDEMI 456 : ETAGAU(9)= XZERO 457 : ETAGAU(10)= UNDEMI 458 : ETAGAU(11)= XZERO 459 : ETAGAU(12)=-UNDEMI 460 : ETAGAU(13)= XZERO 461 : DO 261 IA=9,12 462 : DZEGAU(IA)=UNDEMI 463 : 261 CONTINUE 464 : DZEGAU(13)=UN 465 : UN239=2.D0/39.D0 466 : DO 262 IA=1,13 467 : POIGAU(IA)=UN239 468 : 262 CONTINUE 469 : GOTO 666 470 : C 471 : C POLYGONE A N COTES SURFACE = N * COS(XPI/N) * SIN(XPI/N) 472 : C 473 : 32 CONTINUE 474 : C 475 : DO 325 IA = 1, NNO 476 : C 477 : ALPHA = (2*IA - 1) * XPI / NNO 478 : C 479 : QSIGAU(IA) = COS(ALPHA) 480 : ETAGAU(IA) = SIN(ALPHA) 481 : C 482 : 325 CONTINUE 483 : GOTO 666 484 : C 485 : 96 CONTINUE 486 : C 487 : C ELEMENT TUYO LONGUEUR = 2 488 : C 489 : NTETA= NNO/2 490 : DO 961 IN=1,NTETA 491 : QSIGAU(IN)=-UN 492 : QSIGAU(IN+NTETA)= UN 493 : 961 CONTINUE 494 : * 495 : DTETA=2.D0*XPI/DBLE(NTETA) 496 : TETA=0.D0 497 : DO 962 IN=1,NTETA 498 : ETAGAU(IN)=TETA 499 : ETAGAU(IN+NTETA)=TETA 500 : TETA=TETA+DTETA 501 : 962 CONTINUE 502 : GOTO 666 503 : 504 : * 505 : 666 CONTINUE 506 : C 507 : C MISE A UN DES POIDS DES POINTS 508 : C 509 : DO 200 IA=1,NNO 510 : POIGAU(IA)=UN 511 : 200 CONTINUE 512 : IF(IRET.EQ.0) SEGSUP MINTE 513 : IF(IRET.EQ.1) SEGDES MINTE 514 : RETURN 515 : END 516 : 517 : 518 : 519 : 520 : 521 : 522 : 523 : 524 : 525 : 526 : 527 : 528 : 529 :
© Cast3M 2003 - All rights reserved.
Disclaimer