Download donoeu.eso

Back to the list

   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