1 : C DONRED SOURCE CHAT 12/10/25 21:15:00 7548 2 : SUBROUTINE DONRED(NBG,IELE,MELE,NNO,NPINT,IPT,IRET) 3 : C======================================================================= 4 : C 5 : C CALCULE LES COORDONNEES REDUITES ET LES POIDS D'INTEGRATION 6 : C DES POINTS DE GAUSS D'UN ELEMENT 7 : C 8 : C ENTREES 9 : C NBG = NOMBRE DE POINT DE GAUSS 10 : C IELE = NUMEROTATION DES ELEMENTS DANS NOMS(32) 11 : C (VOIR CCGEOME) 12 : C MELE = NUMEROTATION DANS NOMTP 13 : C NNO = NOMBRE DE NOEUDS DE L'ELEMENT NOMS(IELE) 14 : C NPINT = NOMBRE DE POINTS D'INTEGRATION DONS LE CAS DES 15 : C ELEMENTS COQUES INTEGRES 16 : C SORTIES 17 : C IPT = POINTEUR SUR MINTE 18 : C IRET = 1 OU 0 SUIVANT QUE IELE ET NBG COMPATIBLES OU PAS 19 : C 20 : C PAS DE MESSAGES D'ERREUR ECRIT DANS CETTE ROUTINE 21 : C 22 : C QSI(NBG) ETA(NBG) DZE(NBG) = COORDONNEES REDUITES 23 : C 24 : C POI(NBG) = POIDS DE L'INTEGRATION 25 : C C A D VOLUME DE L ELEMENT DE BASE 26 : C FOIS CONTRIBUTION DU POINT DE GAUSS 27 : C 28 : C ON NE FAIT LA DISTINCTION QU'ENTRE SEGMENTS 29 : C TRIANGLES 30 : C CARRES 31 : C TETRAEDRES 32 : C PRISMES 33 : C PYRAMIDES 34 : C CUBES 35 : C POLYGONES 36 : C 37 : *C PPJ CHANGEMENT DES REGLES D'INTEGRATION POUR LES JOINTS 38 : C======================================================================= 39 : IMPLICIT INTEGER(I-N) 40 : IMPLICIT REAL*8(A-H,O-Z) 41 : -INC CCREEL 42 : -INC SMINTE 43 : C 44 : C QUELQUES CONSTANTES EN VRAC 45 : C 46 : DATA HUIT/8.D0/ 47 : DATA DEUX,TROIS,QUATRE/2.D0,3.D0,4.D0/ 48 : DATA UNQUA,UNDEMI,UN/.25D0,.5D0,1.D0/ 49 : DATA UNTIER/.33333333333333333D0/ 50 : DATA DEUTIE/.66666666666666666D0/ 51 : DATA UNCINQ/.2D0/ 52 : DATA UNSIX/.166666666666666666D0/ 53 : DATA UN24/.4166666666666666666D-1/ 54 : C 55 : C INTEGRATION 4 POINTS LIGNE 56 : C 57 : DATA X861/.861136311594053D0/ 58 : DATA X339/.339981043584856D0/ 59 : DATA P347/.347854845137454D0/ 60 : DATA P652/.652145154862546D0/ 61 : C 62 : C INTEGRATION 3 POINTS LIGNE 63 : C 64 : DATA P555/.555555555555555555D0/ 65 : DATA P888/.888888888888888888D0/ 66 : DATA X774/.774596669241483D0/ 67 : C 68 : C INTEGRATION 2 POINTS LIGNE 69 : C 70 : DATA X577/.577350269189626D0/ 71 : C 72 : C INTEGRATION 4 POINTS TETRAEDRE 73 : C 74 : DATA X138/.1381966011250105D0/ 75 : DATA X585/.5854101966249684D0/ 76 : C 77 : C INTEGRATION 4 POINTS TRIANGLE 78 : C 79 : DATA P260/.2604166666666666D0/ 80 : DATA P281/-.28125D0/ 81 : C 82 : C INTEGRATION 6 POINTS TRIANGLE 83 : C 84 : DATA X044/.44594849091596D0/ 85 : DATA X009/.09157621350977D0/ 86 : DATA X111/.11169079483900D0/ 87 : DATA X005/.05497587182766D0/ 88 : C 89 : C INTEGRATION 7 POINTS TRIANGLE 90 : C 91 : DATA X101/.1012865073235D0/ 92 : DATA X797/.7974269853531D0/ 93 : DATA X470/.4701420641051D0/ 94 : DATA X059/.0597158717898D0/ 95 : DATA P125/.1259391805448D0/ 96 : DATA P132/.1323941527885D0/ 97 : C 98 : NBPGAU=NBG 99 : NBNO=NNO 100 : SEGINI MINTE 101 : IPT=MINTE 102 : IRET=1 103 : DO 100 I=1,NBG 104 : QSIGAU(I)=XZERO 105 : ETAGAU(I)=XZERO 106 : DZEGAU(I)=XZERO 107 : POIGAU(I)=XZERO 108 : 100 CONTINUE 109 : * 110 : * PETIT DEBRANCHEMENT POUR ELEMENT TUYO 111 : IF(MELE.EQ.96) GO TO 96 112 : * ET COQUES INTEGREES (sauf pour la matrice masse) 113 : IF(NPINT.NE.0.AND.NBG.NE.3)GOTO 95 114 : * ET ELEMENT TR6H 115 : IF(MELE.EQ.157)GOTO 1570 116 : C 117 : C 66 INDIQUE QUE L ELEMENT N EST PAS ENCORE IMPLEMENTE 118 : C DANS CE CAS IRET EST MIS A XZERO 119 : C 120 : C P1 S2 S3 T3 T4 T6 T7 Q4 Q5 Q8 Q9 R2 R3 C8 C20 P6 P15 121 : GOTO ( 1, 2, 2, 4, 4, 4, 4, 8, 8, 8, 8, 2,12,14, 14,16, 16, 122 : C L3 L4 L6 L8 MU T4 T10 P5 P13 ATT SUP RP3 LP6 LP8 123 : 1 4, 8,66,66,66,23, 23,25, 25, 66, 66, 2, 4, 8, 124 : C POLY 125 : 2 30),IELE 126 : C 127 : 66 IRET=0 128 : IPT=0 129 : GOTO 666 130 : C 131 : C ELEMENT POI1 132 : C 133 : 1 CONTINUE 134 : POIGAU(1)=UN 135 : GOTO 666 136 : C 137 : C ELEMENT LIGNE LONGUEUR =2 138 : C 139 : 2 IF (NBG.NE.1) GOTO 220 140 : C 141 : C UN POINT D INTEGRATION 142 : C 143 : POIGAU(1)=DEUX 144 : GOTO 666 145 : 220 IF (NBG.NE.2) GOTO 230 146 : C 147 : C 2 POINTS D INTEGRATION 148 : C 149 : POIGAU(1)= UN 150 : POIGAU(2)= UN 151 : QSIGAU(1)=-X577 152 : QSIGAU(2)= X577 153 : * les contraintes et les deformations des él. poutre et tuyau sont 154 : * calculées analytiquement aux noeuds. On change les coordonées des 155 : * points de Gauss afin d'avoir les bonnes valeurs quand on fait "CHANGER" 156 : * 157 : * ON INTEGRE AU NOEUD (LOBATTO) POUR L'ELEMENT DE JOINT 85 ET 170 (JOI2 ET JGI2) 158 : * 159 : * IF(MELE.EQ.29.OR.MELE.EQ.42.OR.MELE.EQ.85) THEN 160 : IF(MELE.EQ.29.OR.MELE.EQ.42) THEN 161 : QSIGAU(1)=-1.D0 162 : QSIGAU(2)= 1.D0 163 : ENDIF 164 : GOTO 666 165 : C 166 : C 3 POINTS D INTEGRATION 167 : C 168 : 230 IF (NBG.NE.3) GOTO 240 169 : POIGAU(1)= P555 170 : POIGAU(2)= P888 171 : POIGAU(3)= P555 172 : QSIGAU(1)=-X774 173 : QSIGAU(3)= X774 174 : GOTO 666 175 : C 176 : C 4 POINTS D INTEGRATION 177 : C 178 : 240 IF(NBG.NE.4) GOTO 66 179 : QSIGAU(1)=-X861 180 : QSIGAU(2)=-X339 181 : QSIGAU(3)= X339 182 : QSIGAU(4)= X861 183 : POIGAU(1)= P347 184 : POIGAU(2)= P652 185 : POIGAU(3)= P652 186 : POIGAU(4)= P347 187 : GOTO 666 188 : C 189 : C ELEMENT TRIANGLE SURFACE=1/2 190 : C 191 : 4 CONTINUE 192 : C 193 : C 1 POIGAUNTS D INTEGRATION 194 : C 195 : IF (NBG.NE.1) GOTO 430 196 : QSIGAU(1)=UNTIER 197 : ETAGAU(1)=UNTIER 198 : POIGAU(1)=UNDEMI 199 : GOTO 666 200 : C 201 : C 3 POIGAUNTS D INTEGRATION ZIENK P201 202 : C 203 : 430 IF(NBG.NE.3) GOTO 440 204 : IF(MELE.EQ.56.OR.MELE.EQ.128) THEN 205 : QSIGAU(1)=UNSIX 206 : ETAGAU(1)=UNSIX 207 : QSIGAU(2)=UNSIX 208 : ETAGAU(2)=DEUTIE 209 : QSIGAU(3)=DEUTIE 210 : ETAGAU(3)=UNSIX 211 : C 212 : C CAS DU JOT3, DU JCT3 ET DU JGT3 ON SE PLACE AUX SOMMETS 213 : C 214 : ELSEIF(MELE.EQ.87)THEN 215 : QSIGAU(2)=UN 216 : ETAGAU(3)=UN 217 : C 218 : ELSE 219 : QSIGAU(1)=UNDEMI 220 : ETAGAU(2)=UNDEMI 221 : QSIGAU(3)=UNDEMI 222 : ETAGAU(3)=UNDEMI 223 : ENDIF 224 : POIGAU(1)=UNSIX 225 : POIGAU(2)=UNSIX 226 : POIGAU(3)=UNSIX 227 : GOTO 666 228 : C 229 : C 4 POIGAUNTS D INTEGRATION ZIENK P201 230 : C 231 : 440 IF (NBG.NE.4) GOTO 460 232 : QSIGAU(1)=UNTIER 233 : QSIGAU(2)=UNCINQ 234 : QSIGAU(3)=UNCINQ*TROIS 235 : QSIGAU(4)=UNCINQ 236 : ETAGAU(1)=UNTIER 237 : ETAGAU(2)=UNCINQ 238 : ETAGAU(3)=UNCINQ 239 : ETAGAU(4)=UNCINQ*TROIS 240 : POIGAU(1)=-27.D0/96.D0 241 : POIGAU(2)= 25.D0/96.D0 242 : POIGAU(3)=POIGAU(2) 243 : POIGAU(4)=POIGAU(2) 244 : GOTO 666 245 : C 246 : C 6 POIGAUNTS D INTEGRATION COQUE EPAISSE 247 : C 248 : 460 IF(NBG.NE.6) GOTO 470 249 : QSIGAU(1)=UNSIX 250 : ETAGAU(1)=UNSIX 251 : QSIGAU(2)=UNSIX 252 : ETAGAU(2)=DEUTIE 253 : QSIGAU(3)=DEUTIE 254 : ETAGAU(3)=UNSIX 255 : DZEGAU(1)=-X577 256 : DZEGAU(2)=-X577 257 : DZEGAU(3)=-X577 258 : QSIGAU(4)=UNSIX 259 : ETAGAU(4)=UNSIX 260 : QSIGAU(5)=UNSIX 261 : ETAGAU(5)=DEUTIE 262 : QSIGAU(6)=DEUTIE 263 : ETAGAU(6)=UNSIX 264 : DZEGAU(4)= X577 265 : DZEGAU(5)= X577 266 : DZEGAU(6)= X577 267 : POIGAU(1)=UNSIX 268 : POIGAU(2)=UNSIX 269 : POIGAU(3)=UNSIX 270 : POIGAU(4)=UNSIX 271 : POIGAU(5)=UNSIX 272 : POIGAU(6)=UNSIX 273 : GOTO 666 274 : C 275 : C 7 POIGAUNTS D INTEGRATION BATHE P280 276 : C 277 : 470 IF(NBG.NE.7) GOTO 777 278 : QSIGAU(1)=X101 279 : QSIGAU(2)=X797 280 : QSIGAU(3)=X101 281 : QSIGAU(4)=X470 282 : QSIGAU(5)=X470 283 : QSIGAU(6)=X059 284 : QSIGAU(7)=UNTIER 285 : ETAGAU(1)=QSIGAU(1) 286 : ETAGAU(2)=QSIGAU(1) 287 : ETAGAU(3)=QSIGAU(2) 288 : ETAGAU(4)=QSIGAU(6) 289 : ETAGAU(5)=QSIGAU(4) 290 : ETAGAU(6)=QSIGAU(4) 291 : ETAGAU(7)=QSIGAU(7) 292 : POIGAU(1)=P125*UNDEMI 293 : POIGAU(2)=P125*UNDEMI 294 : POIGAU(3)=P125*UNDEMI 295 : POIGAU(4)=P132*UNDEMI 296 : POIGAU(5)=P132*UNDEMI 297 : POIGAU(6)=P132*UNDEMI 298 : POIGAU(7)=.1125D0 299 : GOTO 666 300 : C 301 : C PLUSIEURS NAPPES DE 3 POINTS D INTEGRATION 302 : C 303 : 777 IF(NBG.NE.9.AND.NBG.NE.12.AND.NBG.NE.15.AND.NBG.NE.18.AND. 304 : 1 NBG.NE.21) GOTO 66 305 : NNAPPE=NBG/3 306 : POIDS=UN/DBLE(NBG) 307 : DO 7771 IA=1,NNAPPE 308 : NP=IA*3-2 309 : POIGAU(NP )=POIDS 310 : POIGAU(NP+1)=POIDS 311 : POIGAU(NP+2)=POIDS 312 : QSIGAU(NP )= UNSIX 313 : ETAGAU(NP )= UNSIX 314 : QSIGAU(NP+1)= UNSIX 315 : ETAGAU(NP+1)= DEUTIE 316 : QSIGAU(NP+2)= DEUTIE 317 : ETAGAU(NP+2)= UNSIX 318 : XXXX = ((DEUX*DBLE(IA)-UN)/DBLE(NNAPPE))-UN 319 : DZEGAU(NP )= XXXX 320 : DZEGAU(NP+1)= XXXX 321 : DZEGAU(NP+2)= XXXX 322 : 7771 CONTINUE 323 : GOTO 666 324 : C 325 : C ELEMENT CARRE SURFACE=4 326 : C 327 : 8 IF(NBG.NE.1) GOTO 84 328 : C 329 : C UN POINT D INTEGRATION 330 : C 331 : POIGAU(1)=QUATRE 332 : GOTO 666 333 : 84 IF(NBG.NE.4) GOTO 85 334 : C 335 : C 4 POIGAUNTS D INTEGRATION 336 : C 337 : QSIGAU(1)=-X577 338 : QSIGAU(2)= X577 339 : QSIGAU(3)= X577 340 : QSIGAU(4)=-X577 341 : ETAGAU(1)=-X577 342 : ETAGAU(2)=-X577 343 : ETAGAU(3)= X577 344 : ETAGAU(4)= X577 345 : C 346 : C CAS DU JOI4, JCI4 ET JGI4 ON SE PLACE AUX SOMMETS 347 : C 348 : IF(MELE.EQ.88)THEN 349 : QSIGAU(1)=-UN 350 : QSIGAU(2)= UN 351 : QSIGAU(3)= UN 352 : QSIGAU(4)=-UN 353 : ETAGAU(1)=-UN 354 : ETAGAU(2)=-UN 355 : ETAGAU(3)= UN 356 : ETAGAU(4)= UN 357 : ENDIF 358 : C 359 : POIGAU(1)=UN 360 : POIGAU(2)=UN 361 : POIGAU(3)=UN 362 : POIGAU(4)=UN 363 : GOTO 666 364 : 85 IF(NBG.NE.5) GOTO 89 365 : C 366 : C 5 POIGAUNTS D INTEGRATION 367 : C 368 : QSIGAU(1)=-X577 369 : QSIGAU(2)= X577 370 : QSIGAU(3)= X577 371 : QSIGAU(4)=-X577 372 : ETAGAU(1)=-X577 373 : ETAGAU(2)=-X577 374 : ETAGAU(3)= X577 375 : ETAGAU(4)= X577 376 : POIGAU(1)=UN 377 : POIGAU(2)=UN 378 : POIGAU(3)=UN 379 : POIGAU(4)=UN 380 : POIGAU(5)=QUATRE 381 : GOTO 666 382 : C 383 : C 9 POIGAUNTS D INTEGRATION 384 : C 385 : 89 IF (NBG.NE.9) GOTO 816 386 : QSIGAU(1)=-X774 387 : QSIGAU(3)= X774 388 : QSIGAU(4)=-X774 389 : QSIGAU(6)= X774 390 : QSIGAU(7)=-X774 391 : QSIGAU(9)= X774 392 : ETAGAU(1)=-X774 393 : ETAGAU(2)=-X774 394 : ETAGAU(3)=-X774 395 : ETAGAU(7)= X774 396 : ETAGAU(8)= X774 397 : ETAGAU(9)= X774 398 : POIGAU(1)=P555*P555 399 : POIGAU(3)=POIGAU(1) 400 : POIGAU(7)=POIGAU(1) 401 : POIGAU(9)=POIGAU(1) 402 : POIGAU(2)=P888*P555 403 : POIGAU(4)=POIGAU(2) 404 : POIGAU(6)=POIGAU(2) 405 : POIGAU(8)=POIGAU(2) 406 : POIGAU(5)=P888*P888 407 : GOTO 666 408 : 816 IF(NBG.NE.16) GOTO 88 409 : C 410 : C CARRE 16 POINTS D INTEGRATION 411 : C 412 : DO 8161 IA=1,13,4 413 : QSIGAU(IA )=-X861 414 : QSIGAU(IA+1 )=-X339 415 : QSIGAU(IA+2 )= X339 416 : QSIGAU(IA+3 )= X861 417 : POIGAU(IA )= P347 418 : POIGAU(IA+1 )= P652 419 : POIGAU(IA+2 )= P652 420 : POIGAU(IA+3 )= P347 421 : 8161 CONTINUE 422 : DO 8162 IA=1,4 423 : ETAGAU(IA )=-X861 424 : ETAGAU(IA+4 )=-X339 425 : ETAGAU(IA+8 )= X339 426 : ETAGAU(IA+12)= X861 427 : POIGAU(IA )= P347*POIGAU(IA ) 428 : POIGAU(IA+4 )= P652*POIGAU(IA+4 ) 429 : POIGAU(IA+8 )= P652*POIGAU(IA+8 ) 430 : POIGAU(IA+12)= P347*POIGAU(IA+12) 431 : 8162 CONTINUE 432 : GOTO 666 433 : C 434 : C ELEMENT CARRE 8 POINTS D INTEGRATION POUR COQ8 435 : C 436 : 88 IF(NBG.NE.8) GOTO 888 437 : QSIGAU(1)=-X577 438 : QSIGAU(2)= X577 439 : QSIGAU(3)= X577 440 : QSIGAU(4)=-X577 441 : C 442 : ETAGAU(1)=-X577 443 : ETAGAU(2)=-X577 444 : ETAGAU(3)= X577 445 : ETAGAU(4)= X577 446 : C 447 : QSIGAU(5)=-X577 448 : QSIGAU(6)= X577 449 : QSIGAU(7)= X577 450 : QSIGAU(8)=-X577 451 : C 452 : ETAGAU(5)=-X577 453 : ETAGAU(6)=-X577 454 : ETAGAU(7)= X577 455 : ETAGAU(8)= X577 456 : C 457 : DO 881 IA=1,4 458 : POIGAU(IA )= UN 459 : POIGAU(IA+4)= UN 460 : DZEGAU(IA )=-X577 461 : DZEGAU(IA+4)= X577 462 : 881 CONTINUE 463 : GOTO 666 464 : C 465 : C PLUSIEURS NAPPES DE POINTS DE 4 POINTS D INTEGRATION 466 : C 467 : 888 IF(NBG.NE.12.AND.NBG.NE.16.AND.NBG.NE.20.AND.NBG.NE.24.AND. 468 : 1 NBG.NE.28) GOTO 66 469 : NNAPPE=NBG/4 470 : POIDS=HUIT/DBLE(NBG) 471 : DO 8881 IA=1,NNAPPE 472 : NP=IA*4-3 473 : POIGAU(NP )=POIDS 474 : POIGAU(NP+1)=POIDS 475 : POIGAU(NP+2)=POIDS 476 : POIGAU(NP+3)=POIDS 477 : QSIGAU(NP )=-X577 478 : QSIGAU(NP+1)= X577 479 : QSIGAU(NP+2)= X577 480 : QSIGAU(NP+3)=-X577 481 : ETAGAU(NP )=-X577 482 : ETAGAU(NP+1)=-X577 483 : ETAGAU(NP+2)= X577 484 : ETAGAU(NP+3)= X577 485 : XXXX = ((DEUX*DBLE(IA)-UN)/DBLE(NNAPPE))-UN 486 : DZEGAU(NP )= XXXX 487 : DZEGAU(NP+1)= XXXX 488 : DZEGAU(NP+2)= XXXX 489 : DZEGAU(NP+3)= XXXX 490 : 8881 CONTINUE 491 : GOTO 666 492 : C 493 : C ELEMENT RACCORD 2 494 : C 495 : 12 CONTINUE 496 : C 497 : C UN POINT D INTEGRATION 498 : C 499 : IF(NBG.NE.1) GOTO 122 500 : POIGAU(1)=DEUX 501 : GOTO 666 502 : 122 IF (NBG.NE.2) GOTO 123 503 : C 504 : C 2 POINTS D INTEGRATION 505 : C 506 : C QUE LES ELEMENTS RACCORDS 507 : C 508 : POIGAU(1)= UN 509 : POIGAU(2)= UN 510 : QSIGAU(1)=-X577 511 : QSIGAU(2)= X577 512 : ETAGAU(1)=-UN 513 : ETAGAU(2)=-UN 514 : GOTO 666 515 : C 516 : C 3 POINTS D INTEGRATION 517 : C 518 : C QUE LE LINESPRING 519 : C 520 : 123 IF(NBG.NE.3) GOTO 124 521 : QSIGAU(1)=-X774 522 : QSIGAU(3)= X774 523 : ETAGAU(1)=-UN 524 : ETAGAU(2)=-UN 525 : ETAGAU(3)=-UN 526 : POIGAU(1)= P555 527 : POIGAU(2)= P888 528 : POIGAU(3)= P555 529 : * 530 : * on integre au noeud (Lobatto) pour l'element de joint 86 (JOI3) 531 : * 532 : IF(MELE.EQ.86) THEN 533 : ETAGAU(1)=-UN 534 : ETAGAU(2)=-UN 535 : ETAGAU(3)=-UN 536 : QSIGAU(1)=-1.D0 537 : QSIGAU(3)= 1.D0 538 : POIGAU(1)= UNTIER 539 : POIGAU(2)= 2*DEUTIE 540 : POIGAU(3)= UNTIER 541 : ENDIF 542 : 543 : GOTO 666 544 : C 545 : C 4 POINTS D INTEGRATION 546 : C 547 : 124 IF(NBG.NE.4) GOTO 66 548 : QSIGAU(1)=-X861 549 : QSIGAU(2)=-X339 550 : QSIGAU(3)= X339 551 : QSIGAU(4)= X861 552 : POIGAU(1)= P347 553 : POIGAU(2)= P652 554 : POIGAU(3)= P652 555 : POIGAU(4)= P347 556 : GOTO 666 557 : C 558 : C ELEMENT CUBE VOLUME=8 559 : C 560 : 14 IF(NBG.NE.1) GOTO 148 561 : C 562 : C UN POINT D INTEGRATION 563 : C 564 : POIGAU(1)=HUIT 565 : GOTO 666 566 : 148 IF (NBG.NE.8) GOTO 1427 567 : C 568 : C 8 POIGAUNTS D INTEGRATION 569 : C 570 : QSIGAU(1)=-X577 571 : QSIGAU(2)= X577 572 : QSIGAU(3)= X577 573 : QSIGAU(4)=-X577 574 : QSIGAU(5)=-X577 575 : QSIGAU(6)= X577 576 : QSIGAU(7)= X577 577 : QSIGAU(8)=-X577 578 : ETAGAU(1)=-X577 579 : ETAGAU(2)=-X577 580 : ETAGAU(3)= X577 581 : ETAGAU(4)= X577 582 : ETAGAU(5)=-X577 583 : ETAGAU(6)=-X577 584 : ETAGAU(7)= X577 585 : ETAGAU(8)= X577 586 : DO 141 IA=1,4 587 : POIGAU(IA )= UN 588 : POIGAU(IA+4)= UN 589 : DZEGAU(IA )=-X577 590 : DZEGAU(IA+4)= X577 591 : 141 CONTINUE 592 : GOTO 666 593 : C 594 : C 27 POIGAUNTS D INTEGRATION 595 : C 596 : 1427 IF(NBG.NE.27) GOTO 1440 597 : DO 151 IA=1,25,3 598 : QSIGAU(IA )=-X774 599 : QSIGAU(IA+2)= X774 600 : 151 CONTINUE 601 : DO 152 IA=1,9 602 : DZEGAU(IA )=-X774 603 : DZEGAU(IA+18)= X774 604 : 152 CONTINUE 605 : DO 153 IA=1,3 606 : ETAGAU(IA )=-X774 607 : ETAGAU(IA+6 )= X774 608 : ETAGAU(IA+9 )=-X774 609 : ETAGAU(IA+15)= X774 610 : ETAGAU(IA+18)=-X774 611 : ETAGAU(IA+24)= X774 612 : 153 CONTINUE 613 : POIGAU(1)=P555*P555 614 : POIGAU(3)=POIGAU(1) 615 : POIGAU(7)=POIGAU(1) 616 : POIGAU(9)=POIGAU(1) 617 : POIGAU(2)=P888*P555 618 : POIGAU(4)=POIGAU(2) 619 : POIGAU(6)=POIGAU(2) 620 : POIGAU(8)=POIGAU(2) 621 : POIGAU(5)=P888*P888 622 : DO 154 IA=1,9 623 : XX=POIGAU(IA) 624 : POIGAU(IA )=XX*P555 625 : POIGAU(IA+9 )=XX*P888 626 : POIGAU(IA+18)=POIGAU(IA) 627 : 154 CONTINUE 628 : GO TO 666 629 : 1440 IF(NBG.NE.5) go to 66 630 : * special shb8 631 : QSIGAU(1) = -0.906179845938664D0 632 : QSIGAU(2) = -0.538469310105683D0 633 : QSIGAU(3) = 0.D0 634 : QSIGAU(4) = 0.538469310105683D0 635 : QSIGAU(5) = 0.906179845938664D0 636 : C 637 : POIGAU(1) = 0.236926885056189D0 638 : POIGAU(2) = 0.478628670499366D0 639 : POIGAU(3) = 0.568888888888889D0 640 : POIGAU(4) = 0.478628670499366D0 641 : POIGAU(5) = 0.236926885056189D0 642 : C 643 : GOTO 666 644 : C 645 : C ELEMENT PRISME VOLUME=1 646 : C 647 : 16 IF(NBG.NE.1) GOTO 162 648 : C 649 : C UN POINT D INTEGRATION 650 : C 651 : POIGAU(1)=UN 652 : QSIGAU(1)=UNTIER 653 : ETAGAU(1)=UNTIER 654 : DZEGAU(1)=0. 655 : GOTO 666 656 : C 657 : C 2 POIGAUNTS D INTEGRATION 658 : C 659 : 162 IF(NBG.NE.2) GO TO 166 660 : QSIGAU(1)=UNTIER 661 : QSIGAU(2)=UNTIER 662 : ETAGAU(1)=UNTIER 663 : ETAGAU(2)=UNTIER 664 : DZEGAU(1)=-X577 665 : DZEGAU(2)= X577 666 : POIGAU(1)=UNDEMI 667 : POIGAU(2)=UNDEMI 668 : GOTO 666 669 : 166 IF(NBG.NE.6) GO TO 169 670 : C 671 : C 6 POIGAUNTS D INTEGRATION 672 : C 673 : QSIGAU(1)=UNSIX 674 : ETAGAU(1)=UNSIX 675 : QSIGAU(2)=DEUTIE 676 : ETAGAU(2)=UNSIX 677 : QSIGAU(3)=UNSIX 678 : ETAGAU(3)=DEUTIE 679 : QSIGAU(4)=UNSIX 680 : ETAGAU(4)=UNSIX 681 : QSIGAU(5)=DEUTIE 682 : ETAGAU(5)=UNSIX 683 : QSIGAU(6)=UNSIX 684 : ETAGAU(6)=DEUTIE 685 : DO 161 IA=1,3 686 : DZEGAU(IA )=-X577 687 : DZEGAU(IA+3)= X577 688 : 161 CONTINUE 689 : DO 163 IA=1,6 690 : POIGAU(IA)=UNSIX 691 : 163 CONTINUE 692 : GOTO 666 693 : C 694 : C 9 POIGAUNTS D INTEGRATION 695 : C 696 : 169 IF (NBG.NE.9 ) GOTO 1612 697 : DO 167 IA=1,7,3 698 : QSIGAU(IA )=UNDEMI 699 : ETAGAU(IA+1)=UNDEMI 700 : QSIGAU(IA+2)=UNDEMI 701 : ETAGAU(IA+2)=UNDEMI 702 : 167 CONTINUE 703 : DO 168 IA=1,3 704 : DZEGAU(IA )=-X774 705 : POIGAU(IA )=P555*UNSIX 706 : POIGAU(IA+3)=P888*UNSIX 707 : POIGAU(IA+6)=P555*UNSIX 708 : DZEGAU(IA+6)= X774 709 : 168 CONTINUE 710 : GOTO 666 711 : C 712 : C 12 POIGAUNTS D INTEGRATION 713 : C 714 : 1612 IF (NBG.NE.12 ) GOTO 1621 715 : DO 171 IA=2,10,4 716 : QSIGAU(IA)=UNCINQ 717 : ETAGAU(IA)=UNCINQ 718 : 171 CONTINUE 719 : DO 172 IA=3,11,4 720 : QSIGAU(IA )=UNCINQ*TROIS 721 : ETAGAU(IA )=UNCINQ 722 : QSIGAU(IA+1)=UNCINQ 723 : ETAGAU(IA+1)=UNCINQ*TROIS 724 : 172 CONTINUE 725 : DO 173 IA=1,9,4 726 : QSIGAU(IA)=UNTIER 727 : ETAGAU(IA)=UNTIER 728 : 173 CONTINUE 729 : DO 174 IA=1,4 730 : DZEGAU(IA )=-X774 731 : DZEGAU(IA+8)= X774 732 : 174 CONTINUE 733 : DO 175 IA=2,4 734 : POIGAU(IA )=P260*P555 735 : POIGAU(IA+4)=P260*P888 736 : POIGAU(IA+8)=P260*P555 737 : 175 CONTINUE 738 : POIGAU(1)=P281*P555 739 : POIGAU(5)=P281*P888 740 : POIGAU(9)=P281*P555 741 : GO TO 666 742 : 1621 IF(NBG.NE.21) GO TO 66 743 : QSIGAU(1)=X101 744 : QSIGAU(2)=X797 745 : QSIGAU(3)=X101 746 : QSIGAU(4)=X470 747 : QSIGAU(5)=X470 748 : QSIGAU(6)=X059 749 : QSIGAU(7)=UNTIER 750 : ETAGAU(1)=QSIGAU(1) 751 : ETAGAU(2)=QSIGAU(1) 752 : ETAGAU(3)=QSIGAU(2) 753 : ETAGAU(4)=QSIGAU(6) 754 : ETAGAU(5)=QSIGAU(4) 755 : ETAGAU(6)=QSIGAU(4) 756 : ETAGAU(7)=QSIGAU(7) 757 : POIGAU(1)=P125*UNDEMI 758 : POIGAU(2)=P125*UNDEMI 759 : POIGAU(3)=P125*UNDEMI 760 : POIGAU(4)=P132*UNDEMI 761 : POIGAU(5)=P132*UNDEMI 762 : POIGAU(6)=P132*UNDEMI 763 : POIGAU(7)=.1125D0 764 : do 176 iu=1,7 765 : dzegau(iu+14)=X774 766 : dzegau(iu+7)=0.d0 767 : 176 dzegau(iu)=-X774 768 : do 177 iu=1,7 769 : poigau(iu+7)= poigau(iu)*P888 770 : poigau(iu)=poigau(iu)*p555 771 : poigau (iu+14)=poigau(iu) 772 : 177 continue 773 : do 178 iu=1,7 774 : qsigau(iu+7)=qsigau(iu) 775 : qsigau(iu+14)=qsigau(iu) 776 : etagau(iu+7)= etagau(iu) 777 : etagau(iu+14)=etagau(iu) 778 : 178 continue 779 : go to 666 780 : C 781 : C ELEMENT LIAISON 3 782 : C 783 : 18 CONTINUE 784 : C 785 : C 1 POIGAUNTS D INTEGRATION 786 : C 787 : IF (NBG.NE.1) GOTO 183 788 : QSIGAU(1)=UNTIER 789 : ETAGAU(1)=UNTIER 790 : POIGAU(1)=UNDEMI 791 : GOTO 666 792 : C 793 : C 3 POIGAUNTS D INTEGRATION ZIENK P201 794 : C 795 : 183 IF(NBG.NE.3) GOTO 184 796 : QSIGAU(1)=UNDEMI 797 : ETAGAU(2)=UNDEMI 798 : QSIGAU(3)=UNDEMI 799 : ETAGAU(3)=UNDEMI 800 : POIGAU(1)=UNSIX 801 : POIGAU(2)=UNSIX 802 : POIGAU(3)=UNSIX 803 : GOTO 666 804 : C 805 : C 4 POIGAUNTS D INTEGRATION ZIENK P201 806 : C 807 : 184 IF (NBG.NE.4) GOTO 187 808 : QSIGAU(1)=UNTIER 809 : QSIGAU(2)=UNCINQ 810 : QSIGAU(3)=UNCINQ*TROIS 811 : QSIGAU(4)=UNCINQ 812 : ETAGAU(1)=UNTIER 813 : ETAGAU(2)=UNCINQ 814 : ETAGAU(3)=UNCINQ 815 : ETAGAU(4)=UNCINQ*TROIS 816 : POIGAU(1)=-27.D0/96.D0 817 : POIGAU(2)= 25.D0/96.D0 818 : POIGAU(3)=POIGAU(2) 819 : POIGAU(4)=POIGAU(2) 820 : GOTO 666 821 : C 822 : C 7 POIGAUNTS D INTEGRATION BATHE P280 823 : C 824 : 187 IF(NBG.NE.7) GOTO 66 825 : QSIGAU(1)=X101 826 : QSIGAU(2)=X797 827 : QSIGAU(3)=X101 828 : QSIGAU(4)=X470 829 : QSIGAU(5)=X470 830 : QSIGAU(6)=X059 831 : QSIGAU(7)=UNTIER 832 : ETAGAU(1)=QSIGAU(1) 833 : ETAGAU(2)=QSIGAU(1) 834 : ETAGAU(3)=QSIGAU(2) 835 : ETAGAU(4)=QSIGAU(6) 836 : ETAGAU(5)=QSIGAU(4) 837 : ETAGAU(6)=QSIGAU(4) 838 : ETAGAU(7)=QSIGAU(7) 839 : POIGAU(1)=P125*UNDEMI 840 : POIGAU(2)=P125*UNDEMI 841 : POIGAU(3)=P125*UNDEMI 842 : POIGAU(4)=P132*UNDEMI 843 : POIGAU(5)=P132*UNDEMI 844 : POIGAU(6)=P132*UNDEMI 845 : POIGAU(7)=.1125D0 846 : GOTO 666 847 : C 848 : C ELEMENT LIAISON 4 849 : C 850 : 19 IF(NBG.NE.1) GOTO 194 851 : C 852 : C UN POINT D INTEGRATION 853 : C 854 : POIGAU(1)=QUATRE 855 : GOTO 666 856 : 194 IF(NBG.NE.4) GOTO 199 857 : C 858 : C 4 POIGAUNTS D INTEGRATION 859 : C 860 : QSIGAU(1)=-X577 861 : QSIGAU(2)= X577 862 : QSIGAU(3)= X577 863 : QSIGAU(4)=-X577 864 : ETAGAU(1)=-X577 865 : ETAGAU(2)=-X577 866 : ETAGAU(3)= X577 867 : ETAGAU(4)= X577 868 : POIGAU(1)=UN 869 : POIGAU(2)=UN 870 : POIGAU(3)=UN 871 : POIGAU(4)=UN 872 : GOTO 666 873 : C 874 : C 9 POIGAUNTS D INTEGRATION 875 : C 876 : 199 IF (NBG.NE.9 ) GOTO 1916 877 : QSIGAU(1)=-X774 878 : QSIGAU(3)= X774 879 : QSIGAU(4)=-X774 880 : QSIGAU(6)= X774 881 : QSIGAU(7)=-X774 882 : QSIGAU(9)= X774 883 : ETAGAU(1)=-X774 884 : ETAGAU(2)=-X774 885 : ETAGAU(3)=-X774 886 : ETAGAU(7)= X774 887 : ETAGAU(8)= X774 888 : ETAGAU(9)= X774 889 : POIGAU(1)=P555*P555 890 : POIGAU(3)=POIGAU(1) 891 : POIGAU(7)=POIGAU(1) 892 : POIGAU(9)=POIGAU(1) 893 : POIGAU(2)=P888*P555 894 : POIGAU(4)=POIGAU(2) 895 : POIGAU(6)=POIGAU(2) 896 : POIGAU(8)=POIGAU(2) 897 : POIGAU(5)=P888*P888 898 : GOTO 666 899 : 1916 IF(NBG.NE.16) GOTO 66 900 : C 901 : C CARRE 16 POINTS D INTEGRATION 902 : C 903 : DO 19161 IA=1,13,4 904 : QSIGAU(IA )=-X861 905 : QSIGAU(IA+1 )=-X339 906 : QSIGAU(IA+2 )= X339 907 : QSIGAU(IA+3 )= X861 908 : POIGAU(IA )= P347 909 : POIGAU(IA+1 )= P652 910 : POIGAU(IA+2 )= P652 911 : POIGAU(IA+3 )= P347 912 : 19161 CONTINUE 913 : DO 19162 IA=1,4 914 : ETAGAU(IA )=-X861 915 : ETAGAU(IA+4 )=-X339 916 : ETAGAU(IA+8 )= X339 917 : ETAGAU(IA+12)= X861 918 : POIGAU(IA )= P347*POIGAU(IA ) 919 : POIGAU(IA+4 )= P652*POIGAU(IA+4 ) 920 : POIGAU(IA+8 )= P652*POIGAU(IA+8 ) 921 : POIGAU(IA+12)= P347*POIGAU(IA+12) 922 : 19162 CONTINUE 923 : GOTO 666 924 : C 925 : C ELEMENT TETRAEDRE VOLUME=1/6 926 : C 927 : 23 IF (NBG.NE.1) GOTO 234 928 : C 929 : C 1 POIGAUNT D INTEGRATION 930 : C 931 : QSIGAU(1)=UNQUA 932 : ETAGAU(1)=UNQUA 933 : DZEGAU(1)=UNQUA 934 : POIGAU(1)=UNSIX 935 : GOTO 666 936 : C 937 : C 4 POIGAUNTS D INTEGRATION 938 : C 939 : 234 IF (NBG.NE.4) GOTO 235 940 : QSIGAU(1)=X138 941 : QSIGAU(2)=X585 942 : QSIGAU(3)=X138 943 : QSIGAU(4)=X138 944 : ETAGAU(1)=X138 945 : ETAGAU(2)=X138 946 : ETAGAU(3)=X585 947 : ETAGAU(4)=X138 948 : DZEGAU(1)=X138 949 : DZEGAU(2)=X138 950 : DZEGAU(3)=X138 951 : DZEGAU(4)=X585 952 : POIGAU(1)=UN24 953 : POIGAU(2)=UN24 954 : POIGAU(3)=UN24 955 : POIGAU(4)=UN24 956 : GOTO 666 957 : 235 IF(NBG.NE.5) GOTO 66 958 : C 959 : C 5 POINTS D INTEGRATION ZIENKE P202 960 : C 961 : QSIGAU(1)=UNQUA 962 : QSIGAU(2)=UNSIX 963 : QSIGAU(3)=UNSIX 964 : QSIGAU(4)=UNSIX 965 : QSIGAU(5)=UNDEMI 966 : ETAGAU(1)=UNQUA 967 : ETAGAU(2)=UNSIX 968 : ETAGAU(3)=UNSIX 969 : ETAGAU(4)=UNDEMI 970 : ETAGAU(5)=UNSIX 971 : DZEGAU(1)=UNQUA 972 : DZEGAU(2)=UNSIX 973 : DZEGAU(3)=UNDEMI 974 : DZEGAU(4)=UNSIX 975 : DZEGAU(5)=UNSIX 976 : POIGAU(1)=-.80D0*UNSIX 977 : POIGAU(2)= .45D0*UNSIX 978 : POIGAU(3)= .45D0*UNSIX 979 : POIGAU(4)= .45D0*UNSIX 980 : POIGAU(5)= .45D0*UNSIX 981 : GOTO 666 982 : C 983 : C ELEMENT PYRAMIDE VOLUME=2/3 984 : C 985 : 25 IF(NBG.NE.1) GOTO 255 986 : C 987 : C UN POINT D INTEGRATION 988 : C 989 : DZEGAU(1)=UNQUA 990 : POIGAU(1)=DEUTIE 991 : GOTO 666 992 : C 993 : C 5 POIGAUNTS D INTEFRATION 994 : C 995 : 255 IF(NBG.NE.5) GOTO 256 996 : AUX= 0.5D0 997 : POI1=0.1333333333333333D0 998 : POI2= 0.1333333333333333D0 999 : H1 = 0.1531754163448146D0 1000 : H2 = 0.6372983346207416D0 1001 : QSIGAU(1)= AUX 1002 : QSIGAU(2)= XZERO 1003 : QSIGAU(3)=-AUX 1004 : QSIGAU(4)= XZERO 1005 : QSIGAU(5)= XZERO 1006 : ETAGAU(1)= XZERO 1007 : ETAGAU(2)= AUX 1008 : ETAGAU(3)= XZERO 1009 : ETAGAU(4)=-AUX 1010 : ETAGAU(5)= XZERO 1011 : DO 251 IA=1,4 1012 : DZEGAU(IA)= H1 1013 : POIGAU(IA)= POI1 1014 : 251 CONTINUE 1015 : DZEGAU(5)= H2 1016 : POIGAU(5)= POI2 1017 : GOTO 666 1018 : C 1019 : C 6 POIGAUNTS D INTEGRATION 1020 : C 1021 : 256 IF (NBG.NE.6) GOTO 26 1022 : AUX =.5702963741068025D0 1023 : POI1=.1024890634400000D0 1024 : POI2=.1100000000000000D0 1025 : POI3=.1467104129066667D0 1026 : H1 =.1666666666666667D0 1027 : H2 =.8063183038464675D-1 1028 : H3 =.6098484849057127D0 1029 : QSIGAU(1)= AUX 1030 : QSIGAU(2)= XZERO 1031 : QSIGAU(3)=-AUX 1032 : QSIGAU(4)= XZERO 1033 : QSIGAU(5)= XZERO 1034 : QSIGAU(6)= XZERO 1035 : ETAGAU(1)= XZERO 1036 : ETAGAU(2)= AUX 1037 : ETAGAU(3)= XZERO 1038 : ETAGAU(4)=-AUX 1039 : ETAGAU(5)= XZERO 1040 : ETAGAU(6)= XZERO 1041 : DO 2516 IA=1,4 1042 : DZEGAU(IA)= H1 1043 : POIGAU(IA)= POI1 1044 : 2516 CONTINUE 1045 : DZEGAU(5)= H2 1046 : DZEGAU(6)= H3 1047 : POIGAU(5)= POI2 1048 : POIGAU(6)= POI3 1049 : GO TO 666 1050 : C 1051 : C 27 POIGAUNTS D INTEGRATION 1052 : C 1053 : 26 IF(NBG.NE.27) GO TO 66 1054 : A1 =.788073483D0 1055 : B6 =.499369002D0 1056 : B =.848418011D0 1057 : C8 =.478508449D0 1058 : C =.652816472D0 1059 : D12=.032303742D0 1060 : D =1.106412899D0 1061 : DO 261 IA=1,5 1062 : DZEGAU(IA )= UNDEMI 1063 : 261 CONTINUE 1064 : DZEGAU(6 )= UNDEMI*(UN-B) 1065 : DZEGAU(7 )= UNDEMI*(UN+B) 1066 : DO 262 IA=8,11 1067 : DZEGAU(IA )= UNDEMI*(UN-C) 1068 : DZEGAU(IA+4 )= UNDEMI*(UN+C) 1069 : DZEGAU(IA+8 )= UNDEMI*(UN-D) 1070 : DZEGAU(IA+12)= UNDEMI 1071 : DZEGAU(IA+16)= UNDEMI*(UN+D) 1072 : 262 CONTINUE 1073 : QSIGAU(1 )= XZERO 1074 : QSIGAU(2 )= UNDEMI*B*(UN-DZEGAU(2)) 1075 : QSIGAU(3 )=-UNDEMI*B*(UN-DZEGAU(3)) 1076 : QSIGAU(4 )=-UNDEMI*B*(UN-DZEGAU(4)) 1077 : QSIGAU(5 )= UNDEMI*B*(UN-DZEGAU(5)) 1078 : QSIGAU(6 )= XZERO 1079 : QSIGAU(7 )= XZERO 1080 : QSIGAU(8 )= C*(UN-DZEGAU(8)) 1081 : QSIGAU(9 )= XZERO 1082 : QSIGAU(10)=-C*(UN-DZEGAU(10)) 1083 : QSIGAU(11)= XZERO 1084 : QSIGAU(12)= C*(UN-DZEGAU(12)) 1085 : QSIGAU(13)= XZERO 1086 : QSIGAU(14)=-C*(UN-DZEGAU(14)) 1087 : QSIGAU(15)= XZERO 1088 : QSIGAU(16)= UNDEMI*D*(UN-DZEGAU(16)) 1089 : QSIGAU(17)=-UNDEMI*D*(UN-DZEGAU(17)) 1090 : QSIGAU(18)=-UNDEMI*D*(UN-DZEGAU(18)) 1091 : QSIGAU(19)= UNDEMI*D*(UN-DZEGAU(19)) 1092 : QSIGAU(20)= D*(UN-DZEGAU(20)) 1093 : QSIGAU(21)= XZERO 1094 : QSIGAU(22)=-D*(UN-DZEGAU(22)) 1095 : QSIGAU(23)= XZERO 1096 : QSIGAU(24)= UNDEMI*D*(UN-DZEGAU(24)) 1097 : QSIGAU(25)=-UNDEMI*D*(UN-DZEGAU(25)) 1098 : QSIGAU(26)=-UNDEMI*D*(UN-DZEGAU(26)) 1099 : QSIGAU(27)= UNDEMI*D*(UN-DZEGAU(27)) 1100 : ETAGAU(1 )= XZERO 1101 : ETAGAU(2 )= QSIGAU(2) 1102 : ETAGAU(3 )=-QSIGAU(3) 1103 : ETAGAU(4 )= QSIGAU(4) 1104 : ETAGAU(5 )=-QSIGAU(5) 1105 : ETAGAU(6 )= QSIGAU(6) 1106 : ETAGAU(7 )= QSIGAU(7) 1107 : ETAGAU(8 )= XZERO 1108 : ETAGAU(9 )= C*(UN-DZEGAU(9)) 1109 : ETAGAU(10)= XZERO 1110 : ETAGAU(11)=-C*(UN-DZEGAU(11)) 1111 : ETAGAU(12)= XZERO 1112 : ETAGAU(13)= C*(UN-DZEGAU(13)) 1113 : ETAGAU(14)= XZERO 1114 : ETAGAU(15)=-C*(UN-DZEGAU(15)) 1115 : ETAGAU(16)= QSIGAU(16) 1116 : ETAGAU(17)=-QSIGAU(17) 1117 : ETAGAU(18)= QSIGAU(18) 1118 : ETAGAU(19)=-QSIGAU(19) 1119 : ETAGAU(20)= XZERO 1120 : ETAGAU(21)= D*(UN-DZEGAU(21)) 1121 : ETAGAU(22)= XZERO 1122 : ETAGAU(23)=-D*(UN-DZEGAU(23)) 1123 : ETAGAU(24)= QSIGAU(24) 1124 : ETAGAU(25)=-QSIGAU(25) 1125 : ETAGAU(26)= QSIGAU(26) 1126 : ETAGAU(27)=-QSIGAU(27) 1127 : C 1128 : POIGAU(1)=A1 1129 : DO 263 IA=2,7 1130 : POIGAU(IA)=B6 1131 : 263 CONTINUE 1132 : DO 264 IA=8,15 1133 : POIGAU(IA)=C8 1134 : 264 CONTINUE 1135 : DO 265 IA=16,27 1136 : POIGAU(IA)=D12 1137 : 265 CONTINUE 1138 : DO 266 IA=1,27 1139 : POIGAU(IA)=POIGAU(IA)*UNQUA*(UN-DZEGAU(IA))*(UN-DZEGAU(IA)) 1140 : 266 CONTINUE 1141 : GOTO 666 1142 : C 1143 : 30 CONTINUE 1144 : C 1145 : C ELEMENT POLYGONE A NNO COTES 1146 : C 1147 : POIDS = COS(XPI/NNO) * SIN(XPI/NNO) 1148 : C 1149 : IF ( NBG .EQ.1) THEN 1150 : C 1151 : QSIGAU(1) = XZERO 1152 : ETAGAU(1) = XZERO 1153 : POIGAU(1) = POIDS * NNO 1154 : C 1155 : ELSE 1156 : C 1157 : SCOS2 = XZERO 1158 : SCOS4 = XZERO 1159 : SQSI2 = XZERO 1160 : SQSI4 = XZERO 1161 : TGPSN = TAN(XPI/NNO) 1162 : TG2PSN = TGPSN * TGPSN 1163 : C 1164 : DO 300, IA=1, NNO 1165 : C 1166 : ALPHA = (2*IA - 1) * XPI / NNO 1167 : BETA = 2 * (IA - 1) * XPI / NNO 1168 : CIA = COS(ALPHA) 1169 : CIA2 = CIA*CIA 1170 : CIB = COS(BETA) 1171 : CIB2 = CIB*CIB 1172 : SIB = SIN(BETA) 1173 : SIB2 = SIB*SIB 1174 : C 1175 : C Calcul de la somme des abscisses carré et puissance 4 1176 : C des points de GAUSS 1177 : C 1178 : SCOS2 = SCOS2+CIA2 1179 : SCOS4 = SCOS4+CIA2*CIA2 1180 : C 1181 : C Calcul de la somme des integrales sur chaque triangle 1182 : C de QSI ** 2 1183 : C 1184 : SQSI2 = SQSI2 + 3 * CIB2 + TG2PSN * SIB2 1185 : C 1186 : C Calcul de la somme des integrales sur chaque triangle 1187 : C de QSI ** 4 1188 : C 1189 : SQSI4 = SQSI4 + CIB2*CIB2 + 2*TG2PSN*CIB2*SIB2 + 1190 : & TG2PSN*TG2PSN*SIB2*SIB2/5 1191 : C 1192 : 300 CONTINUE 1193 : C 1194 : SOM2 = SQSI2 * COS (XPI/NNO) ** 4 * TGPSN / 6 1195 : SOM4 = SQSI4 * COS (XPI/NNO) ** 6 * TGPSN / 3 1196 : C 1197 : IF (NBG .EQ. NNO) THEN 1198 : C 1199 : C Recherche du poids des points de GAUSS N points 1200 : C 1201 : PE = POIDS 1202 : C 1203 : C Distance relative des points de GAUSS au centre du polygome 1204 : C 1205 : DIST = SQRT ( SOM2/(POIDS*SCOS2)) 1206 : C 1207 : IF (NNO.EQ.5) DIST=DIST * 1.0080508208396880D0 1208 : IF (NNO.EQ.6) DIST=DIST * 1.0352424358375543D0 1209 : IF (NNO.EQ.7) DIST=DIST * 1.04449199849566D0 1210 : IF (NNO.EQ.8) DIST= 0.75741767161339812D0 1211 : IF (NNO.EQ.9) DIST=DIST * 1.13045302559206D0 1212 : IF (NNO.EQ.10) DIST= DIST * 1.151017710991479D0 1213 : IF (NNO.EQ.12) DIST= DIST * 1.11993200981186D0 1214 : 1215 : ELSEIF (NBG.EQ.NNO+1) THEN 1216 : C 1217 : C Recherche du poids des points de GAUSS N+1 points 1218 : C 1219 : PE = SOM2*SOM2*SCOS4/(SOM4*SCOS2*SCOS2) 1220 : PC = NNO*(POIDS-PE) 1221 : C 1222 : C Distance relative des points de GAUSS au centre du polynome 1223 : C 1224 : DIST = SQRT (SOM4*SCOS2/(SOM2*SCOS4)) 1225 : C 1226 : C ABCSISSE ET POIDS DU POINT CENTRAL 1227 : C 1228 : QSIGAU(NBG) = XZERO 1229 : ETAGAU(NBG) = XZERO 1230 : POIGAU(NBG) = PC 1231 : C 1232 : ELSE 1233 : GOTO 66 1234 : ENDIF 1235 : C 1236 : DO 305, IA = 1, NNO 1237 : C 1238 : ALPHA = (2*IA - 1) * XPI / NNO 1239 : C 1240 : QSIGAU(IA) = DIST * COS(ALPHA) 1241 : ETAGAU(IA) = DIST * SIN(ALPHA) 1242 : POIGAU(IA) = PE 1243 : C 1244 : 305 CONTINUE 1245 : C 1246 : ENDIF 1247 : GOTO 666 1248 : C 1249 : 95 CONTINUE 1250 : C 1251 : C ELEMENTS DE COQUE INTEGRES 1252 : C 1253 : IF(MELE.EQ.28.OR.MELE.EQ.93) THEN 1254 : NNAPPE=NBG/3 1255 : POIDS=UNSIX 1256 : DO 7772 IA=1,NNAPPE 1257 : NP=IA*3-2 1258 : POIGAU(NP )=POIDS 1259 : POIGAU(NP+1)=POIDS 1260 : POIGAU(NP+2)=POIDS 1261 : QSIGAU(NP )= UNDEMI 1262 : ETAGAU(NP+1)= UNDEMI 1263 : QSIGAU(NP+2)= UNDEMI 1264 : ETAGAU(NP+2)= UNDEMI 1265 : XXXX = DEUX*((DBLE(IA)-UN)/(DBLE(NNAPPE)-UN))-UN 1266 : DZEGAU(NP )= XXXX 1267 : DZEGAU(NP+1)= XXXX 1268 : DZEGAU(NP+2)= XXXX 1269 : 7772 CONTINUE 1269 : CALL SIMPSN(NNAPPE,3,1,POIGAU) 1270 : ELSE 1271 : GOTO 66 1272 : ENDIF 1273 : GOTO 666 1274 : C 1275 : 96 CONTINUE 1276 : C 1277 : C ELEMENT TUYO LONGUEUR = 2 1278 : C 1279 : IF(NBG.EQ.1) THEN 1280 : QSIGAU(1)= 0.D0 1281 : POIGAU(1)= 2.D0 1282 : ELSE 1283 : NTETA= NBG/2 1284 : DO 961 IN=1,NTETA 1285 : QSIGAU(IN)= -X577 1286 : QSIGAU(IN+NTETA)= X577 1287 : 961 CONTINUE 1288 : * 1289 : DTETA=2.D0*XPI/DBLE(NTETA) 1290 : TETA=0.D0 1291 : DO 962 IN=1,NTETA 1292 : ETAGAU(IN)=TETA 1293 : ETAGAU(IN+NTETA)=TETA 1294 : POIGAU(IN)=DTETA 1295 : POIGAU(IN+NTETA)=DTETA 1296 : TETA=TETA+DTETA 1297 : 962 CONTINUE 1298 : ENDIF 1299 : GO TO 666 1300 : * 1301 : 1570 CONTINUE 1302 : C 1303 : C ELEMENT HOMOGENE TRH6 1304 : C 1305 : IF(MELE.NE.157) GOTO 66 1306 : QSIGAU(1)=X044 1307 : ETAGAU(1)=X044 1308 : QSIGAU(2)=UN-(DEUX*X044) 1309 : ETAGAU(2)=X044 1310 : QSIGAU(3)=X044 1311 : ETAGAU(3)=UN-(DEUX*X044) 1312 : QSIGAU(4)=X009 1313 : ETAGAU(4)=X009 1314 : QSIGAU(5)=UN-(DEUX*X009) 1315 : ETAGAU(5)=X009 1316 : QSIGAU(6)=X009 1317 : ETAGAU(6)=UN-(DEUX*X009) 1318 : POIGAU(1)=X111 1319 : POIGAU(2)=X111 1320 : POIGAU(3)=X111 1321 : POIGAU(4)=X005 1322 : POIGAU(5)=X005 1323 : POIGAU(6)=X005 1324 : GOTO 666 1325 : 1326 : * 1327 : 666 CONTINUE 1328 : IF(IRET.EQ.0) SEGSUP MINTE 1329 : IF(IRET.EQ.1) SEGDES MINTE 1330 : RETURN 1331 : END 1332 : 1333 : 1334 : 1335 : 1336 : 1337 : 1338 : 1339 : 1340 : 1341 : 1342 : 1343 : 1344 : 1345 :
© Cast3M 2003 - All rights reserved.
Disclaimer