1 : C COTYPE SOURCE FANDEUR 12/07/18 21:15:34 7435 2 : SUBROUTINE COTYPE(iqmod,ino,motype,iwrk53,nobl,nfac) 3 : *-------------------------- 4 : * specifie le type des composantes 5 : *-------------------------- 6 : IMPLICIT INTEGER(I-N) 7 : IMPLICIT REAL*8(A-H,O-Z) 8 : -INC CCOPTIO 9 : 10 : -INC SMMODEL 11 : -INC DECHE 12 : 13 : imodel = iqmod 14 : wrk53 = iwrk53 15 : * 16 : notype = 0 17 : * 18 : * AIGUILLAGE SUIVANT MOT CLE 19 : * 20 : GOTO ( 1, 2, 1, 1, 1, 6, 7,99,99,10,11,12,13,14,15,16,17,18, 21 : 1 99,20,21,99,23,24,25) ino 22 : * 23 : 99 CONTINUE 24 : c pas de composantes pour ce champ 25 : GOTO 120 26 : * 27 : 1 NBTYPE=1 28 : SEGINI NOTYPE 29 : TYPE(1)='REAL*8' 30 : GOTO 120 31 : * 32 : 2 NBTYPE=1 33 : SEGINI NOTYPE 34 : TYPE(1)='REAL*8' 35 : GOTO 120 36 : * 37 : 6 NBTYPE=1 38 : SEGINI NOTYPE 39 : TYPE(1)='REAL*8' 40 : GOTO 120 41 : * 42 : 7 NBTYPE=1 43 : SEGINI NOTYPE 44 : TYPE(1)='REAL*8' 45 : GOTO 120 46 : * 47 : 10 NBTYPE=1 48 : SEGINI NOTYPE 49 : TYPE(1)='REAL*8' 50 : GOTO 120 51 : * 52 : 11 CONTINUE 53 : IF (CMATE.EQ.'MODAL'.OR.CMATE.EQ.'STATIQUE') THEN 54 : c MODAL / STATIQUE 55 : NBTYPE = 3 56 : SEGINI NOTYPE 57 : TYPE(1)='REAL*8' 58 : TYPE(2)='POINTEURCHPOINT' 59 : TYPE(3)='REAL*8' 60 : ELSE 61 : NBTYPE=1 62 : SEGINI NOTYPE 63 : TYPE(1)='REAL*8' 64 : ENDIF 65 : GOTO 120 66 : * 67 : 12 NBTYPE=1 68 : SEGINI NOTYPE 69 : TYPE(1)='REAL*8' 70 : GOTO 120 71 : * 72 : 13 nmatr = nobl 73 : nmatf = nfac 74 : if (formod(1).eq.'MELANGE') then 75 : * CEREM 76 : IF (CMATE.eq.'CEREM') THEN 77 : NBTYPE = 22 78 : SEGINI,NOTYPE 79 : TYPE( 1) = 'REAL*8' 80 : TYPE( 2) = 'REAL*8' 81 : TYPE( 3) = 'REAL*8' 82 : TYPE( 4) = 'REAL*8' 83 : TYPE( 5) = 'REAL*8' 84 : TYPE( 6) = 'REAL*8' 85 : TYPE( 7) = 'REAL*8' 86 : TYPE( 8) = 'REAL*8' 87 : TYPE( 9) = 'REAL*8' 88 : TYPE(10) = 'REAL*8' 89 : TYPE(11) = 'REAL*8' 90 : TYPE(12) = 'REAL*8' 91 : TYPE(13) = 'REAL*8' 92 : TYPE(13) = 'REAL*8' 93 : TYPE(14) = 'REAL*8' 94 : TYPE(15) = 'REAL*8' 95 : TYPE(16) = 'POINTEURNUAGE' 96 : TYPE(17) = 'POINTEURNUAGE' 97 : TYPE(18) = 'REAL*8' 98 : TYPE(19) = 'REAL*8' 99 : TYPE(20) = 'REAL*8' 100 : TYPE(21) = 'REAL*8' 101 : TYPE(22) = 'REAL*8' 102 : * ZTMAX 103 : ELSE IF (CMATE.eq.'ZTMAX') THEN 104 : NBTYPE = 1 105 : SEGINI,NOTYPE 106 : TYPE(1) = 'REAL*8' 107 : * TMM_LMT2 108 : ELSE IF (CMATE.eq.'TMM_LMT2') THEN 109 : NBTYPE = 1 110 : SEGINI,NOTYPE 111 : TYPE(1) = 'REAL*8' 112 : * PARALLELE 113 : ELSE IF (CMATE.eq.'PARALLELE') THEN 114 : NBTYPE = 1 115 : SEGINI,NOTYPE 116 : TYPE(1) = 'REAL*8' 117 : * SERIE 118 : ELSE IF (CMATE.eq.'SERIE') THEN 119 : NBTYPE = 1 120 : SEGINI,NOTYPE 121 : TYPE(1) = 'REAL*8' 122 : * MARTINEZ GRAIN 123 : ELSE IF (CMATE.eq.'MGRAIN') THEN 124 : NBTYPE = 1 125 : SEGINI,NOTYPE 126 : TYPE(1) = 'REAL*8' 127 : ELSE 128 : * write(ioimp,*) 'non prevu --' 129 : NBTYPE = 0 130 : SEGINI,NOTYPE 131 : ENDIF 132 : GOTO 120 133 : endif 134 : * 135 : if (formod(1).eq.'LIAISON') then 136 : IF (CMATE.eq.'PO_PL_FL') THEN 137 : NBTYPE = 7 + 1 138 : SEGINI,NOTYPE 139 : TYPE( 1) = 'POINTEURPOINT' 140 : TYPE( 2) = 'REAL*8' 141 : TYPE( 3) = 'REAL*8' 142 : TYPE( 4) = 'REAL*8' 143 : TYPE( 5) = 'REAL*8' 144 : TYPE( 6) = 'REAL*8' 145 : TYPE( 7) = 'REAL*8' 146 : 147 : ELSEIF (CMATE.eq.'PO_PL_FR') THEN 148 : NBTYPE = 9 + 1 149 : SEGINI,NOTYPE 150 : TYPE( 1) = 'POINTEURPOINT' 151 : TYPE( 2) = 'REAL*8' 152 : TYPE( 3) = 'REAL*8' 153 : TYPE( 4) = 'REAL*8' 154 : TYPE( 5) = 'REAL*8' 155 : TYPE( 6) = 'REAL*8' 156 : TYPE( 7) = 'REAL*8' 157 : TYPE( 8) = 'REAL*8' 158 : TYPE( 9) = 'POINTEUREVOLUTIO' 159 : 160 : ELSEIF (CMATE.eq.'PO_PL') THEN 161 : NBTYPE = 7 + 1 162 : SEGINI,NOTYPE 163 : TYPE( 1) = 'POINTEURPOINT' 164 : TYPE( 2) = 'REAL*8' 165 : TYPE( 3) = 'REAL*8' 166 : TYPE( 4) = 'POINTEUREVOLUTIO' 167 : TYPE( 5) = 'REAL*8' 168 : TYPE( 6) = 'REAL*8' 169 : TYPE( 7) = 'REAL*8' 170 : 171 : ELSEIF (CMATE.eq.'PO_PO_FR') THEN 172 : NBTYPE = 11 + 1 173 : SEGINI,NOTYPE 174 : TYPE( 1) = 'POINTEURPOINT' 175 : TYPE( 2) = 'REAL*8' 176 : TYPE( 3) = 'REAL*8' 177 : TYPE( 4) = 'POINTEURPOINT' 178 : TYPE( 5) = 'REAL*8' 179 : TYPE( 6) = 'REAL*8' 180 : TYPE( 7) = 'REAL*8' 181 : TYPE( 8) = 'REAL*8' 182 : TYPE( 9) = 'REAL*8' 183 : TYPE(10) = 'POINTEUREVOLUTIO' 184 : TYPE(11) = 'REAL*8' 185 : 186 : ELSEIF (CMATE.eq.'PO_PO_DP') THEN 187 : NBTYPE = 7 + 1 188 : SEGINI,NOTYPE 189 : TYPE( 1) = 'POINTEURPOINT' 190 : TYPE( 2) = 'REAL*8' 191 : TYPE( 3) = 'REAL*8' 192 : TYPE( 4) = 'POINTEURPOINT' 193 : TYPE( 5) = 'REAL*8' 194 : TYPE( 6) = 'POINTEUREVOLUTIO' 195 : TYPE( 7) = 'REAL*8' 196 : 197 : ELSEIF (CMATE.eq.'PO_PO_RP') THEN 198 : NBTYPE = 8 + 1 199 : SEGINI,NOTYPE 200 : TYPE( 1) = 'POINTEURPOINT' 201 : TYPE( 2) = 'REAL*8' 202 : TYPE( 3) = 'REAL*8' 203 : TYPE( 4) = 'POINTEURPOINT' 204 : TYPE( 5) = 'REAL*8' 205 : TYPE( 6) = 'POINTEUREVOLUTIO' 206 : TYPE( 7) = 'REAL*8' 207 : TYPE( 8) = 'REAL*8' 208 : 209 : ELSEIF (CMATE.eq.'PO_PO') THEN 210 : NBTYPE = 7 + 1 211 : SEGINI,NOTYPE 212 : TYPE( 1) = 'POINTEURPOINT' 213 : TYPE( 2) = 'REAL*8' 214 : TYPE( 3) = 'REAL*8' 215 : TYPE( 4) = 'POINTEURPOINT' 216 : TYPE( 5) = 'REAL*8' 217 : TYPE( 6) = 'REAL*8' 218 : TYPE( 7) = 'POINTEUREVOLUTIO' 219 : 220 : ELSEIF (CMATE.eq.'PO_CE_MO') THEN 221 : NBTYPE = 10 + 1 222 : SEGINI,NOTYPE 223 : TYPE( 1) = 'POINTEURPOINT' 224 : TYPE( 2) = 'REAL*8' 225 : TYPE( 3) = 'POINTEURPOINT' 226 : TYPE( 4) = 'REAL*8' 227 : TYPE( 5) = 'REAL*8' 228 : TYPE( 6) = 'REAL*8' 229 : TYPE( 7) = 'REAL*8' 230 : TYPE( 8) = 'REAL*8' 231 : TYPE( 9) = 'REAL*8' 232 : TYPE(10) = 'REAL*8' 233 : 234 : ELSEIF (CMATE.eq.'PO_CE_FR') THEN 235 : NBTYPE = 10 + 1 236 : SEGINI,NOTYPE 237 : TYPE( 1) = 'POINTEURPOINT' 238 : TYPE( 2) = 'REAL*8' 239 : TYPE( 3) = 'REAL*8' 240 : TYPE( 4) = 'REAL*8' 241 : TYPE( 5) = 'REAL*8' 242 : TYPE( 6) = 'REAL*8' 243 : TYPE( 7) = 'REAL*8' 244 : TYPE( 8) = 'REAL*8' 245 : TYPE( 9) = 'REAL*8' 246 : TYPE(10) = 'REAL*8' 247 : 248 : ELSEIF (CMATE.eq.'PO_CE') THEN 249 : NBTYPE = 5 + 1 250 : SEGINI,NOTYPE 251 : TYPE( 1) = 'POINTEURPOINT' 252 : TYPE( 2) = 'REAL*8' 253 : TYPE( 3) = 'REAL*8' 254 : TYPE( 4) = 'REAL*8' 255 : TYPE( 5) = 'REAL*8' 256 : 257 : ELSEIF (CMATE.eq.'CE_PL_FR') THEN 258 : NBTYPE = 9 + 1 259 : SEGINI,NOTYPE 260 : TYPE( 1) = 'POINTEURPOINT' 261 : TYPE( 2) = 'REAL*8' 262 : TYPE( 3) = 'REAL*8' 263 : TYPE( 4) = 'REAL*8' 264 : TYPE( 5) = 'REAL*8' 265 : TYPE( 6) = 'REAL*8' 266 : TYPE( 7) = 'REAL*8' 267 : TYPE( 8) = 'REAL*8' 268 : TYPE( 9) = 'REAL*8' 269 : 270 : ELSEIF (CMATE.eq.'CE_CE_FR') THEN 271 : NBTYPE = 11 + 1 272 : SEGINI,NOTYPE 273 : TYPE( 1) = 'POINTEURPOINT' 274 : TYPE( 2) = 'REAL*8' 275 : TYPE( 3) = 'REAL*8' 276 : TYPE( 4) = 'REAL*8' 277 : TYPE( 5) = 'REAL*8' 278 : TYPE( 6) = 'REAL*8' 279 : TYPE( 7) = 'REAL*8' 280 : TYPE( 8) = 'REAL*8' 281 : TYPE( 9) = 'REAL*8' 282 : TYPE(10) = 'REAL*8' 283 : TYPE(11) = 'REAL*8' 284 : 285 : ELSEIF (CMATE.eq.'PR_PR_IN'.or.CMATE.eq.'PR_PR_EX') THEN 286 : NBTYPE = 5 + 1 287 : SEGINI,NOTYPE 288 : TYPE( 1) = 'POINTEURPOINT' 289 : TYPE( 2) = 'REAL*8' 290 : TYPE( 3) = 'POINTEURMAILLAGE' 291 : TYPE( 4) = 'POINTEURMAILLAGE' 292 : TYPE( 5) = 'REAL*8' 293 : 294 : ELSEIF (CMATE.eq.'LI_LI_FR') THEN 295 : NBTYPE = 12 + 1 296 : SEGINI,NOTYPE 297 : TYPE( 1) = 'POINTEURPOINT' 298 : TYPE( 2) = 'POINTEURMAILLAGE' 299 : TYPE( 3) = 'POINTEURMAILLAGE' 300 : TYPE( 4) = 'POINTEURCHPOINT' 301 : TYPE( 5) = 'REAL*8' 302 : TYPE( 6) = 'REAL*8' 303 : TYPE( 7) = 'REAL*8' 304 : TYPE( 8) = 'REAL*8' 305 : TYPE( 9) = 'REAL*8' 306 : TYPE(10) = 'POINTEURCHPOINT' 307 : TYPE(11) = 'REAL*8' 308 : TYPE(12) = 'REAL*8' 309 : 310 : ELSEIF (CMATE.eq.'LI_CE_FR') THEN 311 : NBTYPE = 13 + 1 312 : SEGINI,NOTYPE 313 : TYPE( 1) = 'POINTEURPOINT' 314 : TYPE( 2) = 'POINTEURMAILLAGE' 315 : TYPE( 3) = 'POINTEURMAILLAGE' 316 : TYPE( 4) = 'POINTEURCHPOINT' 317 : TYPE( 5) = 'REAL*8' 318 : TYPE( 6) = 'REAL*8' 319 : TYPE( 7) = 'REAL*8' 320 : TYPE( 8) = 'REAL*8' 321 : TYPE( 9) = 'REAL*8' 322 : TYPE(10) = 'REAL*8' 323 : TYPE(11) = 'REAL*8' 324 : TYPE(12) = 'REAL*8' 325 : TYPE(13) = 'REAL*8' 326 : 327 : ELSEIF (CMATE.eq.'PA_FL_RO') THEN 328 : NBTYPE = 11 + 1 329 : SEGINI,NOTYPE 330 : TYPE( 1) = 'REAL*8' 331 : TYPE( 2) = 'REAL*8' 332 : TYPE( 3) = 'REAL*8' 333 : TYPE( 4) = 'REAL*8' 334 : TYPE( 5) = 'REAL*8' 335 : TYPE( 6) = 'REAL*8' 336 : TYPE( 7) = 'REAL*8' 337 : TYPE( 8) = 'REAL*8' 338 : TYPE( 9) = 'REAL*8' 339 : TYPE(10) = 'POINTEURTABLE' 340 : TYPE(11) = 'REAL*8' 341 : 342 : ELSEIF (CMATE.eq.'NEWMOD') THEN 343 : NBTYPE = 4 + 1 344 : SEGINI,NOTYPE 345 : TYPE(1) = 'REAL*8' 346 : TYPE(2) = 'REAL*8' 347 : TYPE(3) = 'REAL*8' 348 : TYPE(4) = 'POINTEURMMODEL' 349 : ELSE 350 : * 351 : NBTYPE = 0 + 1 352 : SEGINI NOTYPE 353 : ENDIF 354 : * composante table de sortie (composante 'SORT') 355 : TYPE(NBTYPE) = 'POINTEURTABLE' 356 : GOTO 120 357 : endif 358 : 359 : * mecanique 360 : IF(MATE.EQ.1.AND.(INPLAS.EQ.5.OR.INPLAS.EQ.87))THEN 361 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. 362 : + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN 363 : NBTYPE=6 364 : ELSE 365 : NBTYPE=5 366 : ENDIF 367 : SEGINI NOTYPE 368 : TYPE(1)='REAL*8' 369 : TYPE(2)='REAL*8' 370 : TYPE(3)='POINTEUREVOLUTIO' 371 : TYPE(4)='REAL*8' 372 : TYPE(5)='REAL*8' 373 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33). 374 : + AND.IFOUR.EQ.-2) TYPE(6)='REAL*8' 375 : C 376 : ELSE IF (CMATE.EQ.'MODAL') THEN 377 : c MODAL 378 : NBTYPE = 12 379 : SEGINI NOTYPE 380 : TYPE(1)='REAL*8' 381 : TYPE(2)='REAL*8' 382 : TYPE(3)='POINTEURCHPOINT' 383 : TYPE(4)='REAL*8' 384 : TYPE(5)='POINTEURPOINT' 385 : TYPE(6)='POINTEURCHPOINT' 386 : TYPE(7)='POINTEURLISTREEL' 387 : TYPE(8)='POINTEURMAILLAGE' 388 : TYPE(9)='POINTEURLISTREEL' 389 : TYPE(10)='POINTEURLISTREEL' 390 : TYPE(11)='REAL*8' 391 : TYPE(12)='REAL*8' 392 : C 393 : ELSE IF (CMATE.EQ.'STATIQUE') THEN 394 : c STATIQUE 395 : NBTYPE = 11 396 : SEGINI NOTYPE 397 : TYPE(1)='POINTEURCHPOINT' 398 : TYPE(2)='POINTEURCHPOINT' 399 : TYPE(3)='POINTEURCHPOINT' 400 : TYPE(4)='REAL*8' 401 : TYPE(5)='POINTEURLISTREEL' 402 : TYPE(6)='POINTEURMAILLAGE' 403 : TYPE(7)='POINTEURMAILLAGE' 404 : TYPE(8)='POINTEURLISTREEL' 405 : TYPE(9)='POINTEURLISTREEL' 406 : TYPE(10)='REAL*8' 407 : TYPE(11)='REAL*8' 408 : C 409 : ELSE IF(MATE.EQ.4.AND.INPLAS.EQ.5)THEN 410 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. 411 : + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN 412 : NBTYPE=7 413 : ELSE 414 : NBTYPE=6 415 : ENDIF 416 : SEGINI NOTYPE 417 : TYPE(1)='REAL*8' 418 : TYPE(2)='REAL*8' 419 : TYPE(3)='REAL*8' 420 : TYPE(4)='POINTEUREVOLUTIO' 421 : TYPE(5)='REAL*8' 422 : TYPE(6)='REAL*8' 423 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33). 424 : + AND.IFOUR.EQ.-2) TYPE(7)='REAL*8' 425 : C 426 : ELSE IF(MATE.EQ.1.AND.INPLAS.EQ.51)THEN 427 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. 428 : + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN 429 : NBTYPE=8 430 : ELSE 431 : NBTYPE=7 432 : ENDIF 433 : SEGINI NOTYPE 434 : TYPE(1)='REAL*8' 435 : TYPE(2)='REAL*8' 436 : TYPE(3)='POINTEUREVOLUTIO' 437 : TYPE(4)='POINTEUREVOLUTIO' 438 : TYPE(5)='POINTEUREVOLUTIO' 439 : TYPE(6)='REAL*8' 440 : TYPE(7)='REAL*8' 441 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33). 442 : + AND.IFOUR.EQ.-2) TYPE(8)='REAL*8' 443 : C 444 : ELSE IF(MATE.EQ.4.AND.INPLAS.EQ.51)THEN 445 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. 446 : + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN 447 : NBTYPE=9 448 : ELSE 449 : NBTYPE=8 450 : ENDIF 451 : SEGINI NOTYPE 452 : TYPE(1)='REAL*8' 453 : TYPE(2)='REAL*8' 454 : TYPE(3)='REAL*8' 455 : TYPE(4)='POINTEUREVOLUTIO' 456 : TYPE(5)='POINTEUREVOLUTIO' 457 : TYPE(6)='POINTEUREVOLUTIO' 458 : TYPE(7)='REAL*8' 459 : TYPE(8)='REAL*8' 460 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33). 461 : + AND.IFOUR.EQ.-2) TYPE(9)='REAL*8' 462 : C 463 : ELSE IF(MATE.EQ.1.AND.INPLAS.EQ.62)THEN 464 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. 465 : + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN 466 : NBTYPE=6 467 : ELSE 468 : NBTYPE=5 469 : ENDIF 470 : SEGINI NOTYPE 471 : TYPE(1)='REAL*8' 472 : TYPE(2)='REAL*8' 473 : TYPE(3)='POINTEUREVOLUTIO' 474 : TYPE(4)='REAL*8' 475 : TYPE(5)='REAL*8' 476 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33). 477 : + AND.IFOUR.EQ.-2) TYPE(6)='REAL*8' 478 : C 479 : ELSE IF(MATE.EQ.1.AND.INPLAS.EQ.64)THEN 480 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. 481 : + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN 482 : NBTYPE=15 483 : ELSE 484 : NBTYPE=14 485 : ENDIF 486 : SEGINI NOTYPE 487 : TYPE(1)='REAL*8' 488 : TYPE(2)='REAL*8' 489 : TYPE(3)='POINTEUREVOLUTIO' 490 : TYPE(4)='REAL*8' 491 : TYPE(5)='REAL*8' 492 : TYPE(6)='REAL*8' 493 : TYPE(7)='REAL*8' 494 : TYPE(8)='REAL*8' 495 : TYPE(9)='REAL*8' 496 : TYPE(10)='REAL*8' 497 : TYPE(11)='REAL*8' 498 : TYPE(12)='REAL*8' 499 : TYPE(13)='REAL*8' 500 : TYPE(14)='REAL*8' 501 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33). 502 : + AND.IFOUR.EQ.-2) TYPE(15)='REAL*8' 503 : C 504 : ELSE IF (MATE.EQ.1.AND.INPLAS.EQ.14) THEN 505 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. 506 : + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN 507 : NBTYPE=10 508 : ELSE 509 : NBTYPE=9 510 : ENDIF 511 : NBTYPE=9 512 : SEGINI NOTYPE 513 : TYPE(1)='REAL*8' 514 : TYPE(2)='REAL*8' 515 : TYPE(3)='REAL*8' 516 : TYPE(4)='REAL*8' 517 : TYPE(5)='REAL*8' 518 : TYPE(6)='POINTEUREVOLUTIO' 519 : TYPE(7)='POINTEUREVOLUTIO' 520 : TYPE(8)='REAL*8' 521 : TYPE(9)='REAL*8' 522 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33). 523 : + AND.IFOUR.EQ.-2) TYPE(10)='REAL*8' 524 : C 525 : ELSE IF (MATE.EQ.1.AND.INPLAS.EQ.26) THEN 526 : NBTYPE=0 527 : SEGINI NOTYPE 528 : C 529 : ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.29)THEN 530 : NBTYPE=0 531 : SEGINI NOTYPE 532 : C 533 : ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.16)THEN 534 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. 535 : + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN 536 : NBTYPE=8 537 : ELSE 538 : NBTYPE=7 539 : ENDIF 540 : SEGINI NOTYPE 541 : TYPE(1)='REAL*8' 542 : TYPE(2)='REAL*8' 543 : TYPE(3)='POINTEUREVOLUTIO' 544 : TYPE(4)='REAL*8' 545 : TYPE(5)='REAL*8' 546 : TYPE(6)='REAL*8' 547 : TYPE(7)='REAL*8' 548 : C 549 : ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.2)THEN 550 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. 551 : + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN 552 : NBTYPE=7 553 : ELSE 554 : NBTYPE=6 555 : ENDIF 556 : SEGINI NOTYPE 557 : TYPE(1)='REAL*8' 558 : TYPE(2)='REAL*8' 559 : TYPE(3)='REAL*8' 560 : TYPE(4)='POINTEUREVOLUTIO' 561 : TYPE(5)='REAL*8' 562 : TYPE(6)='REAL*8' 563 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33). 564 : + AND.IFOUR.EQ.-2) TYPE(7)='REAL*8' 565 : C 566 : ELSE IF(MATE.EQ.1.AND.INPLAS.EQ.32)THEN 567 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. 568 : + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN 569 : NBTYPE=10 570 : ELSE 571 : NBTYPE=19 572 : ENDIF 573 : SEGINI NOTYPE 574 : TYPE(1)='REAL*8' 575 : TYPE(2)='REAL*8' 576 : TYPE(3)='REAL*8' 577 : TYPE(4)='REAL*8' 578 : TYPE(5)='POINTEUREVOLUTIO' 579 : TYPE(6)='POINTEUREVOLUTIO' 580 : TYPE(7)='POINTEUREVOLUTIO' 581 : TYPE(8)='POINTEUREVOLUTIO' 582 : TYPE(9)='POINTEUREVOLUTIO' 583 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33). 584 : + AND.IFOUR.EQ.-2) TYPE(10)='REAL*8' 585 : C 586 : ELSE IF(MATE.EQ.1.AND.INPLAS.EQ.44)THEN 587 : C* Toutes les composantes sont de type REAL*8 588 : NBTYPE=1 589 : SEGINI NOTYPE 590 : TYPE(1)='REAL*8' 591 : C 592 : ELSE IF(MATE.EQ.1.AND.INPLAS.EQ.45)THEN 593 : C* Toutes les composantes sont de type REAL*8 594 : NBTYPE=1 595 : SEGINI NOTYPE 596 : TYPE(1)='REAL*8' 597 : C 598 : ELSE IF(MFR.EQ.7.AND.CMATE.EQ.'SECTION')THEN 599 : NBTYPE=3 600 : SEGINI NOTYPE 601 : TYPE(1)='POINTEURMMODEL ' 602 : TYPE(2)='POINTEURMCHAML ' 603 : TYPE(3)='POINTEURLISTREEL' 604 : C 605 : ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.54)THEN 606 : NBTYPE=15 607 : SEGINI NOTYPE 608 : DO I=1,NBTYPE 609 : TYPE(I)='REAL*8' 610 : ENDDO 611 : TYPE(10)='POINTEUREVOLUTIO' 612 : TYPE(11)='POINTEUREVOLUTIO' 613 : C 614 : ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.56)THEN 615 : NBTYPE=10 616 : SEGINI NOTYPE 617 : DO I=1,NBTYPE 618 : TYPE(I)='REAL*8' 619 : ENDDO 620 : TYPE(6)='POINTEUREVOLUTIO' 621 : TYPE(7)='POINTEUREVOLUTIO' 622 : TYPE(8)='POINTEUREVOLUTIO' 623 : C 624 : C Note: Il s'agit des parametres obligatoires. 1 et 2 sont par defaut 625 : C YOUN et NU, 3, 4 et 5 (d'apres idplas.eso modele plastique 35) 626 : C PNOR, CPLG, BETA, puis viennent les 3 courbes 6, 7 et 8, c.a.d 627 : C 628 : ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.119)THEN 629 : C 630 : C JOINT_COAT 631 : C 632 : NBTYPE=2+3 633 : SEGINI NOTYPE 634 : DO I=1,NBTYPE 635 : TYPE(I)='REAL*8' 636 : ENDDO 637 : TYPE(2)='POINTEUREVOLUTIO' 638 : C 639 : C Note: Il s'agit des parametres obligatoires. 1 est par defaut 640 : C KS, 2 (d'apres idplas.eso modele plastique 49) la courbe SJSB 641 : C+PPm 642 : ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.126)THEN 643 : C 644 : C MUR_SHEAR 645 : C 646 : NBTYPE=16+4 647 : SEGINI NOTYPE 648 : DO I=1,NBTYPE 649 : TYPE(I)='REAL*8' 650 : ENDDO 651 : DO I=3,8 652 : TYPE(I)='POINTEUREVOLUTIO' 653 : ENDDO 654 : 655 : C Note: Il s'agit des parametres obligatoires. 1 et 2 sont par defaut 656 : C YOUN et NU, 3 a 8 (d'apres idplas.eso modele plastique 63) les 657 : C courbes CUFP, CUKP, CULP, CUFM, CUKM, CULM 658 : C 659 : ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.125)THEN 660 : C 661 : C DAMAGE_TC 662 : C 663 : NBTYPE=1 664 : SEGINI NOTYPE 665 : TYPE(1)='REAL*8' 666 : C 667 : C TAKEDA 668 : C 669 : ELSEIF(MATE.EQ.1.AND.(INPLAS.EQ.59.OR.INPLAS.EQ.60))THEN 670 : NBTYPE=11 671 : SEGINI NOTYPE 672 : DO I=1,NBTYPE 673 : TYPE(I)='REAL*8' 674 : ENDDO 675 : TYPE(3)='POINTEUREVOLUTIO' 676 : C 677 : C INFILL_UNI 678 : C 679 : ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.72)THEN 680 : NBTYPE=12 681 : SEGINI NOTYPE 682 : DO I=1,NBTYPE 683 : TYPE(I)='REAL*8' 684 : ENDDO 685 : TYPE(10)='POINTEUREVOLUTIO' 686 : C 687 : C CISAIL_NL 688 : C 689 : ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.73)THEN 690 : NBTYPE=13 691 : SEGINI NOTYPE 692 : DO I=1,NBTYPE 693 : TYPE(I)='REAL*8' 694 : ENDDO 695 : TYPE(10)='POINTEUREVOLUTIO' 696 : TYPE(11)='POINTEUREVOLUTIO' 697 : C 698 : ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.74)THEN 699 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. 700 : + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN 701 : NBTYPE=23 702 : SEGINI NOTYPE 703 : TYPE(1)='REAL*8' 704 : TYPE(2)='REAL*8' 705 : TYPE(3)='POINTEUREVOLUTIO' 706 : TYPE(4)='POINTEUREVOLUTIO' 707 : TYPE(5)='REAL*8' 708 : TYPE(6)='POINTEUREVOLUTIO' 709 : TYPE(7)='REAL*8' 710 : TYPE(8)='POINTEUREVOLUTIO' 711 : TYPE(9)='REAL*8' 712 : TYPE(10)='POINTEUREVOLUTIO' 713 : TYPE(11)='REAL*8' 714 : TYPE(12)='REAL*8' 715 : TYPE(13)='REAL*8' 716 : TYPE(14)='REAL*8' 717 : TYPE(15)='REAL*8' 718 : TYPE(16)='POINTEUREVOLUTIO' 719 : TYPE(17)='REAL*8' 720 : TYPE(18)='POINTEUREVOLUTIO' 721 : TYPE(19)='REAL*8' 722 : TYPE(20)='POINTEUREVOLUTIO' 723 : TYPE(21)='REAL*8' 724 : TYPE(22)='POINTEUREVOLUTIO' 725 : TYPE(23)='REAL*8' 726 : ELSE 727 : NBTYPE=22 728 : SEGINI NOTYPE 729 : TYPE(1)='REAL*8' 730 : TYPE(2)='REAL*8' 731 : TYPE(3)='POINTEUREVOLUTIO' 732 : TYPE(4)='POINTEUREVOLUTIO' 733 : TYPE(5)='REAL*8' 734 : TYPE(6)='POINTEUREVOLUTIO' 735 : TYPE(7)='REAL*8' 736 : TYPE(8)='POINTEUREVOLUTIO' 737 : TYPE(9)='REAL*8' 738 : TYPE(10)='POINTEUREVOLUTIO' 739 : TYPE(11)='REAL*8' 740 : TYPE(12)='REAL*8' 741 : TYPE(13)='REAL*8' 742 : TYPE(14)='REAL*8' 743 : TYPE(15)='POINTEUREVOLUTIO' 744 : TYPE(16)='REAL*8' 745 : TYPE(17)='POINTEUREVOLUTIO' 746 : TYPE(18)='REAL*8' 747 : TYPE(19)='POINTEUREVOLUTIO' 748 : TYPE(20)='REAL*8' 749 : TYPE(21)='POINTEUREVOLUTIO' 750 : TYPE(22)='REAL*8' 751 : ENDIF 752 : C 753 : ELSEIF(MATE.EQ.4.AND.INPLAS.EQ.74)THEN 754 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. 755 : + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN 756 : NBTYPE=23 757 : SEGINI NOTYPE 758 : TYPE(1)='REAL*8' 759 : TYPE(2)='REAL*8' 760 : TYPE(3)='REAL*8' 761 : TYPE(4)='POINTEUREVOLUTIO' 762 : TYPE(5)='POINTEUREVOLUTIO' 763 : TYPE(6)='REAL*8' 764 : TYPE(7)='POINTEUREVOLUTIO' 765 : TYPE(8)='REAL*8' 766 : TYPE(9)='POINTEUREVOLUTIO' 767 : TYPE(10)='REAL*8' 768 : TYPE(11)='POINTEUREVOLUTIO' 769 : TYPE(12)='REAL*8' 770 : TYPE(13)='REAL*8' 771 : TYPE(14)='REAL*8' 772 : TYPE(15)='REAL*8' 773 : TYPE(16)='POINTEUREVOLUTIO' 774 : TYPE(17)='REAL*8' 775 : TYPE(18)='POINTEUREVOLUTIO' 776 : TYPE(19)='REAL*8' 777 : TYPE(20)='POINTEUREVOLUTIO' 778 : TYPE(21)='REAL*8' 779 : TYPE(22)='POINTEUREVOLUTIO' 780 : TYPE(23)='REAL*8' 781 : ELSE IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. 782 : + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.2) THEN 783 : NBTYPE=26 784 : SEGINI NOTYPE 785 : TYPE(1)='REAL*8' 786 : TYPE(2)='REAL*8' 787 : TYPE(3)='REAL*8' 788 : TYPE(4)='REAL*8' 789 : TYPE(5)='REAL*8' 790 : TYPE(6)='REAL*8' 791 : TYPE(7)='REAL*8' 792 : TYPE(8)='POINTEUREVOLUTIO' 793 : TYPE(9)='POINTEUREVOLUTIO' 794 : TYPE(10)='REAL*8' 795 : TYPE(11)='POINTEUREVOLUTIO' 796 : TYPE(12)='REAL*8' 797 : TYPE(13)='POINTEUREVOLUTIO' 798 : TYPE(14)='REAL*8' 799 : TYPE(15)='POINTEUREVOLUTIO' 800 : TYPE(16)='REAL*8' 801 : TYPE(17)='REAL*8' 802 : TYPE(18)='REAL*8' 803 : TYPE(19)='POINTEUREVOLUTIO' 804 : TYPE(20)='REAL*8' 805 : TYPE(21)='POINTEUREVOLUTIO' 806 : TYPE(22)='REAL*8' 807 : TYPE(23)='POINTEUREVOLUTIO' 808 : TYPE(24)='REAL*8' 809 : TYPE(25)='POINTEUREVOLUTIO' 810 : TYPE(26)='REAL*8' 811 : ELSE 812 : NBTYPE=22 813 : SEGINI NOTYPE 814 : TYPE(1)='REAL*8' 815 : TYPE(2)='REAL*8' 816 : TYPE(3)='REAL*8' 817 : TYPE(4)='POINTEUREVOLUTIO' 818 : TYPE(5)='POINTEUREVOLUTIO' 819 : TYPE(6)='REAL*8' 820 : TYPE(7)='POINTEUREVOLUTIO' 821 : TYPE(8)='REAL*8' 822 : TYPE(9)='POINTEUREVOLUTIO' 823 : TYPE(10)='REAL*8' 824 : TYPE(11)='POINTEUREVOLUTIO' 825 : TYPE(12)='REAL*8' 826 : TYPE(13)='REAL*8' 827 : TYPE(14)='REAL*8' 828 : TYPE(15)='POINTEUREVOLUTIO' 829 : TYPE(16)='REAL*8' 830 : TYPE(17)='POINTEUREVOLUTIO' 831 : TYPE(18)='REAL*8' 832 : TYPE(19)='POINTEUREVOLUTIO' 833 : TYPE(20)='REAL*8' 834 : TYPE(21)='POINTEUREVOLUTIO' 835 : TYPE(22)='REAL*8' 836 : ENDIF 837 : * 838 : * modele maxott 839 : * 840 : ELSE IF(INPLAS.EQ.106) THEN 841 : * formulation defo planes / axisymetrique 842 : IF((IFOMOD.EQ.-1.AND.IFOUR.NE.-2) .OR. 843 : & (IFOMOD.EQ.0.OR.IFOMOD.EQ.1)) THEN 844 : NBTYPE=58 845 : SEGINI NOTYPE 846 : DO IT=1,9 847 : TYPE(IT)='REAL*8' 848 : END DO 849 : TYPE(10)='POINTEUREVOLUTIO' 850 : TYPE(11)='POINTEUREVOLUTIO' 851 : TYPE(12)='REAL*8' 852 : TYPE(13)='POINTEUREVOLUTIO' 853 : TYPE(14)='REAL*8' 854 : TYPE(15)='POINTEUREVOLUTIO' 855 : TYPE(16)='REAL*8' 856 : TYPE(17)='POINTEUREVOLUTIO' 857 : TYPE(18)='REAL*8' 858 : DO IT=19,50 859 : TYPE(IT)='REAL*8' 860 : END DO 861 : TYPE(51)='POINTEUREVOLUTIO' 862 : TYPE(52)='REAL*8' 863 : TYPE(53)='POINTEUREVOLUTIO' 864 : TYPE(54)='REAL*8' 865 : TYPE(55)='POINTEUREVOLUTIO' 866 : TYPE(56)='REAL*8' 867 : TYPE(57)='POINTEUREVOLUTIO' 868 : TYPE(58)='REAL*8' 869 : * formulation contraintes planes / 3D coques minces 870 : ELSE IF((IFOMOD.EQ.-1.AND.IFOUR.EQ.-2).OR. 871 : & (IFOMOD.EQ.2.AND.(MFR.EQ.3.OR.MFR.EQ.9))) THEN 872 : NBTYPE=54 873 : SEGINI NOTYPE 874 : DO IT=1,9 875 : TYPE(IT)='REAL*8' 876 : END DO 877 : TYPE(10)='POINTEUREVOLUTIO' 878 : TYPE(11)='POINTEUREVOLUTIO' 879 : TYPE(12)='REAL*8' 880 : TYPE(13)='POINTEUREVOLUTIO' 881 : TYPE(14)='REAL*8' 882 : TYPE(15)='POINTEUREVOLUTIO' 883 : TYPE(16)='REAL*8' 884 : TYPE(17)='POINTEUREVOLUTIO' 885 : TYPE(18)='REAL*8' 886 : DO IT=19,46 887 : TYPE(IT)='REAL*8' 888 : END DO 889 : TYPE(47)='POINTEUREVOLUTIO' 890 : TYPE(48)='REAL*8' 891 : TYPE(49)='POINTEUREVOLUTIO' 892 : TYPE(50)='REAL*8' 893 : TYPE(51)='POINTEUREVOLUTIO' 894 : TYPE(52)='REAL*8' 895 : TYPE(53)='POINTEUREVOLUTIO' 896 : TYPE(54)='REAL*8' 897 : * formulation tridimensionnelle massive 898 : ELSE IF(IFOMOD.EQ.2.AND.MFR.EQ.1) THEN 899 : NBTYPE=64 900 : SEGINI NOTYPE 901 : DO IT=1,14 902 : TYPE(IT)='REAL*8' 903 : END DO 904 : TYPE(15)='POINTEUREVOLUTIO' 905 : TYPE(16)='POINTEUREVOLUTIO' 906 : TYPE(17)='REAL*8' 907 : TYPE(18)='POINTEUREVOLUTIO' 908 : TYPE(19)='REAL*8' 909 : TYPE(20)='POINTEUREVOLUTIO' 910 : TYPE(21)='REAL*8' 911 : TYPE(22)='POINTEUREVOLUTIO' 912 : TYPE(23)='REAL*8' 913 : DO IT=24,55 914 : TYPE(IT)='REAL*8' 915 : END DO 916 : TYPE(57)='POINTEUREVOLUTIO' 917 : TYPE(58)='REAL*8' 918 : TYPE(59)='POINTEUREVOLUTIO' 919 : TYPE(60)='REAL*8' 920 : TYPE(61)='POINTEUREVOLUTIO' 921 : TYPE(62)='REAL*8' 922 : TYPE(63)='POINTEUREVOLUTIO' 923 : TYPE(64)='REAL*8' 924 : ENDIF 925 : * 926 : ELSEIF(INPLAS.EQ.67) THEN 927 : c NBTYPE=NMATR+NMATF 928 : NBTYPE = nmatt 929 : SEGINI NOTYPE 930 : IM2=NMATR-2 931 : DO IC=1,IM2 932 : TYPE(IC)='REAL*8' 933 : ENDDO 934 : TYPE(NMATR-1)='POINTEUREVOLUTIO' 935 : TYPE(NMATR) ='POINTEUREVOLUTIO' 936 : DO IC=NMATR+1,NBTYPE 937 : TYPE(IC)='REAL*8' 938 : ENDDO 939 : C 940 : ELSEIF(MATE.EQ.4.AND.INPLAS.EQ.5)THEN 941 : NBTYPE=6 942 : SEGINI NOTYPE 943 : TYPE(1)='REAL*8' 944 : TYPE(2)='REAL*8' 945 : TYPE(3)='REAL*8' 946 : TYPE(4)='POINTEUREVOLUTIO' 947 : TYPE(5)='REAL*8' 948 : TYPE(6)='REAL*8' 949 : c mistral : 950 : ELSEIF (INPLAS.EQ.94) THEN 951 : NBTYPE=nmatt 952 : SEGINI NOTYPE 953 : DO 1311 ITYP=1,NBTYPE 954 : TYPE(ITYP)='REAL*8' 955 : 1311 CONTINUE 956 : c pour le modele mistral il y a 10 composantes non lineaires qui 957 : * sont des listes de reels 958 : NLDEB=NMATR-9 959 : DO 1313 ITYP=NLDEB,NMATR 960 : TYPE(ITYP)='POINTEURLISTREEL' 961 : 1313 CONTINUE 962 : c mistral. 963 : * 964 : ELSEIF(INPLAS.EQ.105) THEN 965 : NBTYPE = 9 966 : SEGINI NOTYPE 967 : DO ITYP = 1,9 968 : TYPE(ITYP) = 'REAL*8' 969 : ENDDO 970 : TYPE(7)='POINTEUREVOLUTIO' 971 : TYPE(8)='POINTEUREVOLUTIO' 972 : * 973 : * syco1 974 : * 975 : ELSEIF(INPLAS.EQ.153) THEN 976 : nbtype=8 977 : segini notype 978 : do i = 1,8 979 : TYPE(i)='REAL*8' 980 : enddo 981 : TYPE(3)='POINTEUREVOLUTIO' 982 : * 983 : * syco2 984 : * 985 : ELSEIF(INPLAS.EQ.154) THEN 986 : nbtype=10 987 : segini notype 988 : do i = 1,10 989 : TYPE(i)='REAL*8' 990 : enddo 991 : TYPE(3)='POINTEUREVOLUTIO' 992 : C 993 : C Loi non lineaire externe 994 : C 995 : ELSEIF (INPLAS.LT.0) THEN 996 : NBTYPE=1 997 : SEGINI NOTYPE 998 : TYPE(1)='REAL*8' 999 : C 1000 : C Par defaut, toutes les composantes sont de type 'REAL*8' 1001 : C 1002 : ELSE 1003 : NBTYPE=1 1004 : SEGINI NOTYPE 1005 : TYPE(1)='REAL*8' 1006 : C 1007 : ENDIF 1008 : GOTO 120 1009 : * 1010 : 14 continue 1011 : * 1012 : * coques minces 1013 : * 1014 : IF (MFR.EQ.3.OR.MFR.EQ.9) THEN 1015 : NBTYPE=1 1016 : SEGINI NOTYPE 1017 : TYPE(1)='REAL*8' 1018 : ELSEIF (MFR.EQ.5) THEN 1019 : NBTYPE=1 1020 : SEGINI NOTYPE 1021 : TYPE(1)='REAL*8' 1022 : * 1023 : * section pour les barres 1024 : * 1025 : ELSE IF (MFR.EQ.27) THEN 1026 : NBTYPE=1 1027 : SEGINI NOTYPE 1028 : TYPE(1)='REAL*8' 1029 : * 1030 : * section, excentrements et orientation pour les barres excentrees 1031 : * 1032 : ELSE IF (MFR.EQ.49) THEN 1033 : NBTYPE=1 1034 : SEGINI NOTYPE 1035 : TYPE(1)='REAL*8' 1036 : * 1037 : * raideurs locales pour l'element LIA2 de liaison a 2 noeuds 1038 : * 1039 : ELSE IF (MFR.EQ.51) THEN 1040 : NBTYPE=1 1041 : SEGINI NOTYPE 1042 : TYPE(1)='REAL*8' 1043 : * 1044 : ELSE IF (MFR.EQ.7 ) THEN 1045 : * 1046 : * cas des poutres en formulation section ou 3D 1047 : * 1048 : IF (CMATE.EQ.'SECTION'.OR.IFOUR.EQ.2) THEN 1049 : NBTYPE=11 1050 : SEGINI NOTYPE 1051 : do ic1 = 1,11 1052 : type(ic1) = 'REAL*8' 1053 : enddo 1054 : * surcharge composante facultative VECT 1055 : TYPE(11)='POINTEURPOINT ' 1056 : * 1057 : * Cas des poutres 2D 1058 : * 1059 : ELSE IF (IFOUR.EQ.-2.OR.IFOUR.EQ.-1.OR.IFOUR.EQ.-3) THEN 1060 : NBTYPE=1 1061 : SEGINI NOTYPE 1062 : TYPE(1)='REAL*8' 1063 : ENDIF 1064 : * 1065 : * caracteristiques pour les tuyaux 1066 : * 1067 : ELSE IF (MFR.EQ.13) THEN 1068 : NBTYPE=12 1069 : SEGINI NOTYPE 1070 : TYPE(1)='REAL*8' 1071 : TYPE(2)='REAL*8' 1072 : TYPE(3)='REAL*8' 1073 : TYPE(4)='REAL*8' 1074 : TYPE(5)='REAL*8' 1075 : TYPE(6)='REAL*8' 1076 : TYPE(7)='REAL*8' 1077 : TYPE(8)='REAL*8' 1078 : TYPE(9)='REAL*8' 1079 : TYPE(10)='REAL*8' 1080 : TYPE(11)='REAL*8' 1081 : TYPE(12)='POINTEURPOINT ' 1082 : * 1083 : * caracteristiques pour les linespring 1084 : * 1085 : ELSE IF (MFR.EQ.15) THEN 1086 : * 1087 : NBTYPE=1 1088 : SEGINI NOTYPE 1089 : TYPE(1)='REAL*8' 1090 : * 1091 : * caracteristiques pour les tuyaux fissures 1092 : * 1093 : ELSE IF (MFR.EQ.17) THEN 1094 : NBTYPE=1 1095 : SEGINI NOTYPE 1096 : TYPE(1)='REAL*8' 1097 : * 1098 : * caracteristiques des elements homogeneises 1099 : * 1100 : ELSE IF (MFR.EQ.37) THEN 1101 : NBTYPE=1 1102 : SEGINI NOTYPE 1103 : TYPE(1)='REAL*8' 1104 : ELSE 1105 : NBTYPE=1 1106 : SEGINI NOTYPE 1107 : TYPE(1)='REAL*8' 1108 : ENDIF 1109 : GOTO 120 1110 : * 1111 : 15 NBTYPE=1 1112 : SEGINI NOTYPE 1113 : TYPE(1)='REAL*8' 1114 : GOTO 120 1115 : * 1116 : 16 NBTYPE=1 1117 : SEGINI NOTYPE 1118 : TYPE(1)='REAL*8' 1119 : GOTO 120 1120 : * 1121 : 17 continue 1122 : GOTO 120 1123 : * 1124 : 18 continue 1125 : GOTO 120 1126 : * 1127 : * variables internes 1128 : * 1129 : 20 IF(MFR.EQ.7.AND.CMATE.EQ.'SECTION') THEN 1130 : NBTYPE=1 1131 : SEGINI NOTYPE 1132 : TYPE(1)='POINTEURMCHAML ' 1133 : 1134 : ELSE IF (CMATE.EQ.'MODAL'.OR.CMATE.EQ.'STATIQUE') THEN 1135 : c MODAL / STATIQUE 1136 : if (inatuu.eq.3) then 1137 : NBTYPE = 3 1138 : else 1139 : NBTYPE = 1 1140 : endif 1141 : SEGINI NOTYPE 1142 : TYPE(1)='REAL*8' 1143 : if (inatuu.eq.3) then 1144 : TYPE(2)='REAL*8' 1145 : TYPE(3)='POINTEURLISTREEL' 1146 : endif 1147 : * 1148 : * cas particulier modele de maxwell 1149 : * 1150 : ELSE IF(INPLAS.EQ.74) THEN 1151 : NBTYPE=10 1152 : SEGINI NOTYPE 1153 : TYPE(1)='REAL*8' 1154 : DO IC=2,10 1155 : TYPE(IC)='POINTEURLISTREEL' 1156 : END DO 1157 : * 1158 : * cas particulier modele maxott 1159 : * 1160 : ELSE IF(INPLAS.EQ.106) THEN 1161 : * 1162 : *------ cas tridimensionnel massif 1163 : * 1164 : IF(IFOUR.EQ.2.AND.MFR.EQ.1) THEN 1165 : NBTYPE=31 1166 : SEGINI NOTYPE 1167 : DO IC=1,21 1168 : TYPE(IC)='REAL*8' 1169 : END DO 1170 : DO IC=22,31 1171 : TYPE(IC)='POINTEURLISTREEL' 1172 : END DO 1173 : * 1174 : *------ cas defo planes/axisymetrique 1175 : * 1176 : ELSE IF(IFOUR.EQ.-1.OR.IFOUR.EQ.-3.OR. 1177 : & IFOUR.EQ.0.OR.IFOUR.EQ.1) THEN 1178 : NBTYPE=26 1179 : SEGINI NOTYPE 1180 : DO IC=1,16 1181 : TYPE(IC)='REAL*8' 1182 : END DO 1183 : DO IC=17,26 1184 : TYPE(IC)='POINTEURLISTREEL' 1185 : END DO 1186 : * 1187 : *------ cas cont planes ou tridimensionnel coques 1188 : * 1189 : ELSE IF(IFOUR.EQ.-2.OR. 1190 : & (IFOUR.EQ.2.AND.(MFR.EQ.3.OR.MFR.EQ.9))) THEN 1191 : NBTYPE=23 1192 : SEGINI NOTYPE 1193 : DO IC=1,13 1194 : TYPE(IC)='REAL*8' 1195 : END DO 1196 : DO IC=14,23 1197 : TYPE(IC)='POINTEURLISTREEL' 1198 : END DO 1199 : ENDIF 1200 : ELSEIF (formod(1).eq.'LIAISON') then 1201 : NBTYPE = 5 1202 : SEGINI NOTYPE 1203 : TYPE(1)='POINTEURCHPOINT' 1204 : TYPE(2)='POINTEURTABLE' 1205 : TYPE(3) ='POINTEURLISTENTI' 1206 : TYPE(4) ='POINTEURLISTREEL' 1207 : TYPE(5) ='POINTEURMAILLAGE' 1208 : 1209 : ELSE 1210 : NBTYPE=1 1211 : SEGINI NOTYPE 1212 : TYPE(1)='REAL*8' 1213 : ENDIF 1214 : GOTO 120 1215 : * 1216 : 21 NBTYPE=1 1217 : SEGINI NOTYPE 1218 : TYPE(1)='REAL*8' 1219 : GOTO 120 1220 : * 1221 : 23 NBTYPE=1 1222 : SEGINI NOTYPE 1223 : TYPE(1)='REAL*8' 1224 : GOTO 120 1225 : * 1226 : 24 NBTYPE=1 1227 : SEGINI NOTYPE 1228 : TYPE(1)='REAL*8' 1229 : GOTO 120 1230 : * 1231 : 25 NBTYPE=1 1232 : SEGINI NOTYPE 1233 : TYPE(1)='REAL*8' 1234 : GOTO 120 1235 : * 1236 : 120 CONTINUE 1237 : MOTYPE=NOTYPE 1238 : 1239 : RETURN 1240 : END 1241 : 1242 :
© Cast3M 2003 - All rights reserved.
Disclaimer