Download cotype.eso

Back to the list

   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