1 : C ECOUL1 SOURCE CHAT 11/03/16 21:20:17 6902 2 : SUBROUTINE ECOUL1(IPMODL,IPCHE1,IPCHE2,IPCHE3,IPCHE4,IPCHE6, 3 : & IPCAR,IPCH1,IPCH2,IPCH3,IPCH4,IPCH5,ITHHER,IFI,PRECIS, 4 : & IPOTAB,JECHER,ISTEP,JNOID,LOGSUC,IPCHE7,IPCHE8,IPCHE9) 5 : ********************************************************************** 6 : * 7 : * ecoulement inelastique 8 : * 9 : ********************************************************************** 10 : * 11 : * entrees: 12 : * 13 : * ipmodl = pointeur sur un objet mmodel 14 : * ipche1 = pointeur sur un mchaml de contraintes initiales 15 : * ipche2 = pointeur sur un mchaml de variables internes initiales 16 : * ipche3 = pointeur sur un mchaml de deformations inelastiques initiale 17 : * ipche4 = pointeur sur un mchaml d'increment elastique de deformations 18 : * ipche5 = pointeur sur un mchaml de deformations 19 : * ipcar = pointeur sur un mchaml de caracteristiques 20 : * ipch1 = pointeur sur un mchaml de temperatures au debut du pas 21 : * ipch2 = pointeur sur un mchaml de temperatures a la fin du pas 22 : * ipch3 = pointeur sur un mchaml de temperatures de reference 23 : c mistral : 24 : * ipch4 = pointeur sur un mchaml de flux neutronique au debut du pas pou 25 : * ipch5 = pointeur sur un mchaml de flux neutronique a la fin du pas pou 26 : * ifi = 0 pas de flux neutronique; = 1 existence de flux neutronique ( 27 : c mistral. 28 : * ithher = 0 si pas de chargement thermique 29 : * = 1 si chargement thermique mais materiau constant 30 : * = 2 si chargement thermique et mat. dependant de la temperature 31 : * ipch1,ipch2,ipch3,ithher ne servent que pour les materiaux 32 : * endommageables de lemaitre quand ils dependent de la temperature 33 : * precis = precision des iterations internes 34 : * ipotab = pointeur sur une table 35 : * jecher = flag valant 0 ou 1(pour action dans ecoule) 36 : * istep =indicateur d'action pour calcul nonlocal 37 : * =0 dans le cas d'un calcul local (normal) 38 : * =1 ou 2 dans le cas d'un calcul nonlocal 39 : * =1 pour calcul des fonctions seuil uniquement 40 : * =2 pour calcul des variables dissipatives a partir 41 : * des fonctions seuil moyennees prealablement par nloc 42 : * jnoid = flag valant 0 ou 1(pour action dans ecoul1) 43 : * 44 : * sorties: 45 : * 46 : * logsuc = logique pour indication de pb de convergence 47 : * ipche7 = pointeur sur un mchaml de contraintes 48 : * ipche8 = pointeur sur un mchaml de variables internes 49 : * ipche9 = pointeur sur un mchaml de deformations 50 : * 51 : ************************************************************************ 52 : IMPLICIT INTEGER(I-N) 53 : IMPLICIT REAL*8(A-H,O-Z) 54 : * 55 : -INC CCOPTIO 56 : -INC CCGEOME 57 : -INC SMCHAML 58 : c mistral : 59 : POINTEUR MCHEL7.MCHELM,MCHEL8.MCHELM 60 : c mistral. 61 : -INC SMELEME 62 : -INC SMCOORD 63 : -INC SMMODEL 64 : -INC SMINTE 65 : -INC CCHAMP 66 : Pointeur nomid1.nomid 67 : c 68 : SEGMENT NOTYPE 69 : CHARACTER*16 TYPE(NBTYPE) 70 : ENDSEGMENT 71 : * 72 : SEGMENT MPTVAL 73 : INTEGER IPOS(NS) ,NSOF(NS) 74 : INTEGER IVAL(NCOSOU) 75 : CHARACTER*16 TYVAL(NCOSOU) 76 : ENDSEGMENT 77 : * 78 : CHARACTER*8 CMATE 79 : CHARACTER*(NCONCH) CONM 80 : LOGICAL LOGSUC,lsupva,lsupco,lsupde,lsupma,lsupdd 81 : PARAMETER ( NINF=3 ) 82 : INTEGER INFOS(NINF) 83 : c 84 : NHRM=NIFOUR 85 : c 86 : c verification du lieu support du mchaml de contraintes 87 : c 87 : CALL QUESUP(IPMODL,IPCHE1,5,0,ISUP1,IRET1) 88 : IF (ISUP1.GT.1) RETURN 89 : * 90 : * verification du lieu support du mchaml de variables internes 91 : * 91 : CALL QUESUP(IPMODL,IPCHE2,5,0,ISUP2,IRET2) 92 : IF (ISUP2.GT.1) RETURN 93 : c 94 : c verification du lieu support du mchaml de defor. inelastique init. 95 : c 96 : IF(IPCHE3.NE.0)THEN 96 : CALL QUESUP(IPMODL,IPCHE3,5,0,ISUP3,IRET3) 97 : IF (ISUP3.GT.1) RETURN 98 : ELSE 99 : ISUP3=0 100 : ENDIF 101 : c 102 : c verification du lieu support du mchaml de defor. totales 103 : c 104 : IF(IPCHE6.NE.0)THEN 104 : CALL QUESUP(IPMODL,IPCHE6,5,0,ISUP6,IRET6) 105 : IF (ISUP6.GT.1) RETURN 106 : ELSE 107 : ISUP6=0 108 : ENDIF 109 : c 110 : c verification du lieu support du mchaml des incr. deformat totales 111 : c 111 : CALL QUESUP(IPMODL,IPCHE4,5,0,ISUP4,IRET4) 112 : IF (ISUP4.GT.1) RETURN 113 : c 114 : c verification du lieu support du mchaml de caracteristiques 115 : c 115 : CALL QUESUP(IPMODL,IPCAR,3,0,ISUP5,IRET5) 116 : IF (ISUP5.GT.1) RETURN 117 : 118 : c 119 : c activation du modele 120 : c 121 : MMODEL=IPMODL 122 : SEGACT MMODEL 123 : NSOUS=KMODEL(/1) 124 : c 125 : c creation des 3 mchelms 126 : c 127 : N1=NSOUS 128 : L1=11 129 : N3=6 130 : SEGINI MCHELM 131 : TITCHE='CONTRAINTES' 132 : IFOCHE=IFOUR 133 : IPCHE7=MCHELM 134 : L1=18 135 : SEGINI MCHEL1 136 : MCHEL1.TITCHE='VARIABLES INTERNES' 137 : MCHEL1.IFOCHE=IFOUR 138 : IPCHE8=MCHEL1 139 : L1=12 140 : SEGINI MCHEL2 141 : MCHEL2.TITCHE='DEFORMATIONS INELASTIQUES' 142 : MCHEL2.IFOCHE=IFOUR 143 : IPCHE9=MCHEL2 144 : c 145 : c traitement des champs de temperature pour les materiaux 146 : c endommageables de lemaitre 147 : c 148 : IF (ITHHER.EQ.1.OR.ITHHER.EQ.2) THEN 149 : MCHEL3=IPCH1 150 : MCHEL4=IPCH2 151 : MCHEL5=IPCH3 152 : SEGACT MCHEL3 153 : SEGACT MCHEL4 154 : SEGACT MCHEL5 155 : ENDIF 156 : *********************** 157 : * SPECIAL SUCCION 158 : * 159 : IF (ITHHER.EQ.3) THEN 160 : MCHEL3=IPCH1 161 : MCHEL4=IPCH2 162 : SEGACT MCHEL3 163 : SEGACT MCHEL4 164 : ENDIF 165 : *********************** 166 : c mistral : 167 : IF (IFI.EQ.1) THEN 168 : MCHEL7=IPCH4 169 : MCHEL8=IPCH5 170 : SEGACT MCHEL7 171 : SEGACT MCHEL8 172 : ENDIF 173 : c mistral. 174 : * 175 : * deformations totales 176 : * 177 : IF(IPCHE6.NE.0) THEN 178 : MCHEL6=IPCHE6 179 : SEGACT MCHEL6 180 : ENDIF 181 : c____________________________________________________________________ 182 : c 183 : c debut de la boucle sur les differentes zones 184 : c____________________________________________________________________ 185 : c 186 : DO 1000 ISOUS=1,NSOUS 187 : * 188 : * initialisation 189 : * 190 : NSTR=0 191 : MOSTRS=0 192 : IVASTR=0 193 : MOVARI=0 194 : NVARI=0 195 : NVARF=0 196 : IVARI=0 197 : MOEPSI=0 198 : MODEIN=0 199 : NDEF=0 200 : NDEIN=0 201 : IVADEF=0 202 : IVADET=0 203 : IVADS=0 204 : NCARA=0 205 : NCARF=0 206 : MOCARA=0 207 : IVACAR=0 208 : NMATF=0 209 : NMATR=0 210 : MOMATR=0 211 : IVAMAT=0 212 : IVASTF=0 213 : IVARIF=0 214 : IVADEP=0 215 : KERRE=0 216 : KERR1=0 217 : MCHAML=0 218 : MCHAM1=0 219 : MCHAM2=0 220 : lsupma=.true. 221 : c 222 : c on recupere l information generale 223 : c 224 : IMODEL=KMODEL(ISOUS) 225 : SEGACT IMODEL 226 : IPMAIL=IMAMOD 227 : CONM =CONMOD 228 : IMACHE(ISOUS)=IPMAIL 229 : CONCHE(ISOUS)=CONMOD 230 : MCHEL1.IMACHE(ISOUS)=IPMAIL 231 : MCHEL1.CONCHE(ISOUS)=CONMOD 232 : MCHEL2.IMACHE(ISOUS)=IPMAIL 233 : MCHEL2.CONCHE(ISOUS)=CONMOD 234 : * 235 : MELE=NEFMOD 236 : MELEME=IMAMOD 237 : SEGACT MELEME 238 : NBNN=NUM(/1) 239 : NBELEM=NUM(/2) 240 : c 241 : c coque integree ou pas ? 242 : c 243 : IF(INFMOD(/1).NE.0)THEN 244 : NPINT=INFMOD(1) 245 : ELSE 246 : NPINT=0 247 : ENDIF 248 : c 249 : c traitement du modele 250 : c 251 : NFOR=FORMOD(/2) 252 : NMAT=MATMOD(/2) 253 : c 254 : c nature du materiau 255 : c 255 : C CALL NOMATE(FORMOD,NFOR,MATMOD,NMAT,CMATE,MATE,INPLAS) 256 : CMATE = CMATEE 257 : MATE = IMATEE 258 : INPLAS = INATUU 259 : IF (CMATE.EQ.' ')THEN 259 : CALL ERREUR(251) 260 : SEGDES IMODEL*NOMOD,MMODEL*NOMOD 261 : SEGSUP MCHELM ,MCHEL1,MCHEL2 262 : RETURN 263 : ENDIF 264 : * 265 : c____________________________________________________________________ 266 : c 267 : c information sur l'element fini 268 : c____________________________________________________________________ 269 : c 269 : * CALL ELQUOI(MELE,0,5,IPINF,IMODEL) 270 : IF (IERR.NE.0) THEN 271 : SEGDES IMODEL*NOMOD,MMODEL*NOMOD 272 : SEGSUP MCHELM,MCHEL1,MCHEL2 273 : RETURN 274 : ENDIF 275 : * INFO=IPINF 276 : MFR =INFELE(13) 277 : NBG =INFELE(6) 278 : NBGS =INFELE(4) 279 : NSTRS=INFELE(16) 280 : LRE =INFELE(9) 281 : IPPORE=0 282 : IF(MFR.EQ.33) IPPORE=NBNN 283 : LW =200 284 : LW2 =150 285 : LHOOK=INFELE(10) 286 : * 287 : IF (MFR.EQ.3.AND.NPINT.NE.0) LHOOK=4 288 : * 289 : LHOO2=LHOOK*LHOOK 290 : * MINTE=INFELE(11) 291 : minte=infmod(7) 292 : IPMINT=MINTE 293 : 294 : IPORE=INFELE(8) 295 : NBNO=NBNNE(NUMGEO(MELE)) 296 : IF (MELE.EQ.96) NBNO = INFELE(8) 297 : IF (MFR.EQ.33) NBNO=IPORE 298 : * 299 : * remplissage des tableaux infche 300 : * 301 : INFCHE(ISOUS,1)=0 302 : INFCHE(ISOUS,2)=0 303 : INFCHE(ISOUS,3)=NHRM 304 : INFCHE(ISOUS,4)=MINTE 305 : INFCHE(ISOUS,5)=0 306 : INFCHE(ISOUS,6)=5 307 : * 308 : MCHEL1.INFCHE(ISOUS,1)=0 309 : MCHEL1.INFCHE(ISOUS,2)=0 310 : MCHEL1.INFCHE(ISOUS,3)=NHRM 311 : MCHEL1.INFCHE(ISOUS,4)=MINTE 312 : MCHEL1.INFCHE(ISOUS,5)=0 313 : MCHEL1.INFCHE(ISOUS,6)=5 314 : * 315 : MCHEL2.INFCHE(ISOUS,1)=0 316 : MCHEL2.INFCHE(ISOUS,2)=0 317 : MCHEL2.INFCHE(ISOUS,3)=NHRM 318 : MCHEL2.INFCHE(ISOUS,4)=MINTE 319 : MCHEL2.INFCHE(ISOUS,5)=0 320 : MCHEL2.INFCHE(ISOUS,6)=5 321 : c 322 : c creation du tableau infos 323 : c 323 : CALL IDENT(IPMAIL,CONM,IPCHE1,IPCHE2,INFOS,IRTD) 324 : IF (IRTD.EQ.0)THEN 325 : SEGDES IMODEL*NOMOD,MMODEL*NOMOD 326 : SEGSUP MCHELM,MCHEL1,MCHEL2 327 : * INFO=IPINF 328 : * SEGSUP INFO 329 : RETURN 330 : ENDIF 331 : * 332 : * traitement du champ de contraintes 333 : * 334 : if(lnomid(4).ne.0) then 335 : nomid=lnomid(4) 336 : segact nomid 337 : mostrs=nomid 338 : nstr=lesobl(/2) 339 : nfac=lesfac(/2) 340 : lsupco=.false. 341 : else 342 : lsupco=.true. 342 : CALL IDCONT(IMODEL,IFOUR,MOSTRS,NSTR,NFAC) 343 : endif 344 : IF (MOSTRS.EQ.0) THEN 345 : MOTERR(1:4)='CONT' 346 : MOTERR(5:8)=NOMTP(MELE) 346 : CALL ERREUR (76) 347 : SEGDES IMODEL*NOMOD,MMODEL*NOMOD 348 : SEGSUP MCHELM,MCHEL1,MCHEL2 349 : * INFO=IPINF 350 : * SEGSUP INFO 351 : RETURN 352 : ENDIF 353 : * 354 : NBTYPE=1 355 : SEGINI NOTYPE 356 : MOTYPE=NOTYPE 357 : TYPE(1)='REAL*8' 357 : CALL KOMCHA(IPCHE1,IPMAIL,CONM,MOSTRS,MOTYPE,1,INFOS,3,IVASTR) 358 : IF(IERR.NE.0)THEN 359 : SEGSUP NOTYPE 360 : KERRE=999 361 : GOTO 9990 362 : ENDIF 363 : * 364 : IF (ISUP1.EQ.1) THEN 364 : CALL VALCHE(IVASTR,NSTR,IPMINT,IPPORE) 365 : IF(IERR.NE.0)THEN 366 : SEGSUP NOTYPE 367 : KERRE=999 368 : ISUP1=0 369 : GOTO 9990 370 : ENDIF 371 : ENDIF 372 : * 373 : * traitement du champ de variables internes 374 : * 375 : MOTYVA=NOTYPE 376 : * 377 : * cas particulier poutre a fibres 378 : * 379 : IF(MFR.EQ.7.AND.CMATE.EQ.'SECTION') THEN 380 : NBTYPE=1 381 : SEGINI NOTYPE 382 : MOTYVA=NOTYPE 383 : TYPE(1)='POINTEURMCHAML ' 384 : * 385 : * cas particulier modele de maxwell 386 : * 387 : ELSE IF(INPLAS.EQ.74) THEN 388 : NBTYPE=10 389 : SEGINI NOTYPE 390 : MOTYVA=NOTYPE 391 : TYPE(1)='REAL*8' 392 : DO IC=2,10 393 : TYPE(IC)='POINTEURLISTREEL' 394 : END DO 395 : ENDIF 396 : if(lnomid(10).ne.0) then 397 : nomid=lnomid(10) 398 : segact nomid 399 : movari=nomid 400 : nvari=lesobl(/2) 401 : nvarf=lesfac(/2) 402 : lsupva=.false. 403 : else 404 : lsupva=.true. 404 : CALL IDVARI(MFR,IMODEL,MOVARI,NVARI,NVARF) 405 : endif 406 : IF (MOVARI.EQ.0) THEN 407 : MOTERR(1:4)='VARI' 408 : MOTERR(5:8)=NOMTP(MELE) 408 : CALL ERREUR (76) 409 : KERRE=999 410 : SEGSUP NOTYPE 411 : GOTO 9990 412 : ENDIF 413 : * 413 : CALL KOMCHA(IPCHE2,IPMAIL,CONM,MOVARI,MOTYVA,1,INFOS,3,IVARI) 414 : IF(IERR.NE.0)THEN 415 : NOTYPE=MOTYVA 416 : SEGSUP NOTYPE 417 : KERRE=999 418 : GOTO 9990 419 : ENDIF 420 : * 421 : NVART=NVARI+NVARF 422 : * 423 : IF (ISUP2.EQ.1) THEN 423 : CALL VALCHE(IVARI,NVART,IPMINT,IPPORE) 424 : IF(IERR.NE.0)THEN 425 : SEGSUP NOTYPE 426 : KERRE=999 427 : ISUP2=0 428 : GOTO 9990 429 : ENDIF 430 : ENDIF 431 : * 432 : * traitement du champ de deformations inelastiques 433 : * 434 : if(lnomid(5).ne.0)then 435 : nomid1=lnomid(5) 436 : segini,nomid=nomid1 437 : ndef=lesobl(/2) 438 : nfac=lesfac(/2) 439 : moepsi=nomid 440 : lsupde=.false. 441 : else 442 : lsupde=.true. 442 : CALL IDDEFO(IMODEL,IFOUR,MOEPSI,NDEF,NFAC) 443 : endif 444 : if(lnomid(13).ne.0) then 445 : nomid=lnomid(13) 446 : segact nomid 447 : modein=nomid 448 : ndein=lesobl(/2) 449 : nfac=lesfac(/2) 450 : lsupdd=.false. 451 : else 452 : lsupdd=.true. 452 : CALL IDDEIN(IMODEL,IFOUR,MODEIN,NDEIN,NFAC) 453 : endif 454 : if (NDEF.NE.NDEIN) then 455 : c.. en principe meme nombre de composantes pour deformations et def inelas 455 : call erreur(5) 456 : return 457 : endif 458 : IF (MODEIN.EQ.0) THEN 459 : MOTERR(1:4)='DEIN' 460 : MOTERR(5:8)=NOMTP(MELE) 460 : CALL ERREUR (76) 461 : KERRE=999 462 : SEGSUP NOTYPE 463 : GOTO 9990 464 : ENDIF 465 : * 466 : IF(IPCHE3.NE.0)THEN 466 : CALL KOMCHA(IPCHE3,IPMAIL,CONM,MODEIN,MOTYPE 467 : & ,1,INFOS,3,IVADEF) 468 : IF(IERR.NE.0)THEN 469 : SEGSUP NOTYPE 470 : KERRE=999 471 : GOTO 9990 472 : ENDIF 473 : * 474 : IF (ISUP3.EQ.1) THEN 474 : CALL VALCHE(IVADEF,NDEF,IPMINT,IPPORE) 475 : IF(IERR.NE.0)THEN 476 : SEGSUP NOTYPE 477 : KERRE=999 478 : ISUP3=0 479 : GOTO 9990 480 : ENDIF 481 : ENDIF 482 : ENDIF 483 : * 484 : * traitement du champ de deformations totales 485 : * 486 : IF(IPCHE6.NE.0)THEN 486 : CALL KOMCHA(IPCHE6,IPMAIL,CONM,MOEPSI,MOTYPE 487 : & ,1,INFOS,3,IVADET) 488 : IF(IERR.NE.0)THEN 489 : SEGSUP NOTYPE 490 : KERRE=999 491 : GOTO 9990 492 : ENDIF 493 : * 494 : IF (ISUP6.EQ.1) THEN 494 : CALL VALCHE(IVADET,NDEF,IPMINT,IPPORE) 495 : IF(IERR.NE.0)THEN 496 : SEGSUP NOTYPE 497 : KERRE=999 498 : ISUP6=0 499 : GOTO 9990 500 : ENDIF 501 : ENDIF 502 : ENDIF 503 : * 504 : * traitement du champ d'increments de deformations 505 : * 505 : CALL KOMCHA(IPCHE4,IPMAIL,CONM,MOEPSI, 506 : 1 MOTYPE,1,INFOS,3,IVADS) 507 : *********SEGSUP NOTYPE 508 : IF(IERR.NE.0)THEN 509 : SEGSUP NOTYPE 510 : KERRE=999 511 : GOTO 9990 512 : ENDIF 513 : * 514 : IF (ISUP4.EQ.1) THEN 514 : CALL VALCHE(IVADS,NDEF,IPMINT,IPPORE) 515 : IF(IERR.NE.0)THEN 516 : SEGSUP NOTYPE 517 : KERRE=999 518 : ISUP4=0 519 : GOTO 9990 520 : ENDIF 521 : ENDIF 522 : * 523 : * traitement du champ de caracteristiques materielles 524 : * 525 : if(lnomid(6).ne.0) then 526 : nomid=lnomid(6) 527 : segact nomid 528 : momatr=nomid 529 : nmatr=lesobl(/2) 530 : nmatf=lesfac(/2) 531 : lsupma=.false. 532 : else 533 : lsupma=.true. 533 : CALL IDMATR(MFR,IMODEL,MOMATR,NMATR,NMATF) 534 : endif 535 : IF (MOMATR.EQ.0) THEN 536 : MOTERR(1:4)='MATE' 537 : MOTERR(5:8)=NOMTP(MELE) 537 : CALL ERREUR (76) 538 : KERRE=999 539 : GOTO 9990 540 : ENDIF 541 : 542 : * 543 : IF(MATE.EQ.1.AND.(INPLAS.EQ.5.OR.INPLAS.EQ.87))THEN 544 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. 545 : + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN 546 : NBTYPE=6 547 : ELSE 548 : NBTYPE=5 549 : ENDIF 550 : SEGINI NOTYPE 551 : MOTYPE=NOTYPE 552 : TYPE(1)='REAL*8' 553 : TYPE(2)='REAL*8' 554 : TYPE(3)='POINTEUREVOLUTIO' 555 : TYPE(4)='REAL*8' 556 : TYPE(5)='REAL*8' 557 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33). 558 : + AND.IFOUR.EQ.-2) TYPE(6)='REAL*8' 559 : C 560 : ELSE IF(MATE.EQ.4.AND.INPLAS.EQ.5)THEN 561 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. 562 : + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN 563 : NBTYPE=7 564 : ELSE 565 : NBTYPE=6 566 : ENDIF 567 : SEGINI NOTYPE 568 : MOTYPE=NOTYPE 569 : TYPE(1)='REAL*8' 570 : TYPE(2)='REAL*8' 571 : TYPE(3)='REAL*8' 572 : TYPE(4)='POINTEUREVOLUTIO' 573 : TYPE(5)='REAL*8' 574 : TYPE(6)='REAL*8' 575 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33). 576 : + AND.IFOUR.EQ.-2) TYPE(7)='REAL*8' 577 : C 578 : ELSE IF(MATE.EQ.1.AND.INPLAS.EQ.51)THEN 579 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. 580 : + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN 581 : NBTYPE=8 582 : ELSE 583 : NBTYPE=7 584 : ENDIF 585 : SEGINI NOTYPE 586 : MOTYPE=NOTYPE 587 : TYPE(1)='REAL*8' 588 : TYPE(2)='REAL*8' 589 : TYPE(3)='POINTEUREVOLUTIO' 590 : TYPE(4)='POINTEUREVOLUTIO' 591 : TYPE(5)='POINTEUREVOLUTIO' 592 : TYPE(6)='REAL*8' 593 : TYPE(7)='REAL*8' 594 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33). 595 : + AND.IFOUR.EQ.-2) TYPE(8)='REAL*8' 596 : C 597 : ELSE IF(MATE.EQ.4.AND.INPLAS.EQ.51)THEN 598 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. 599 : + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN 600 : NBTYPE=9 601 : ELSE 602 : NBTYPE=8 603 : ENDIF 604 : SEGINI NOTYPE 605 : MOTYPE=NOTYPE 606 : TYPE(1)='REAL*8' 607 : TYPE(2)='REAL*8' 608 : TYPE(3)='REAL*8' 609 : TYPE(4)='POINTEUREVOLUTIO' 610 : TYPE(5)='POINTEUREVOLUTIO' 611 : TYPE(6)='POINTEUREVOLUTIO' 612 : TYPE(7)='REAL*8' 613 : TYPE(8)='REAL*8' 614 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33). 615 : + AND.IFOUR.EQ.-2) TYPE(9)='REAL*8' 616 : C 617 : ELSE IF(MATE.EQ.1.AND.INPLAS.EQ.62)THEN 618 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. 619 : + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN 620 : NBTYPE=6 621 : ELSE 622 : NBTYPE=5 623 : ENDIF 624 : SEGINI NOTYPE 625 : MOTYPE=NOTYPE 626 : TYPE(1)='REAL*8' 627 : TYPE(2)='REAL*8' 628 : TYPE(3)='POINTEUREVOLUTIO' 629 : TYPE(4)='REAL*8' 630 : TYPE(5)='REAL*8' 631 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33). 632 : + AND.IFOUR.EQ.-2) TYPE(6)='REAL*8' 633 : C 634 : ELSE IF(MATE.EQ.1.AND.INPLAS.EQ.64)THEN 635 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. 636 : + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN 637 : NBTYPE=15 638 : ELSE 639 : NBTYPE=14 640 : ENDIF 641 : SEGINI NOTYPE 642 : MOTYPE=NOTYPE 643 : TYPE(1)='REAL*8' 644 : TYPE(2)='REAL*8' 645 : TYPE(3)='POINTEUREVOLUTIO' 646 : TYPE(4)='REAL*8' 647 : TYPE(5)='REAL*8' 648 : TYPE(6)='REAL*8' 649 : TYPE(7)='REAL*8' 650 : TYPE(8)='REAL*8' 651 : TYPE(9)='REAL*8' 652 : TYPE(10)='REAL*8' 653 : TYPE(11)='REAL*8' 654 : TYPE(12)='REAL*8' 655 : TYPE(13)='REAL*8' 656 : TYPE(14)='REAL*8' 657 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33). 658 : + AND.IFOUR.EQ.-2) TYPE(15)='REAL*8' 659 : C 660 : ELSE IF (MATE.EQ.1.AND.INPLAS.EQ.14) THEN 661 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. 662 : + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN 663 : NBTYPE=10 664 : ELSE 665 : NBTYPE=9 666 : ENDIF 667 : NBTYPE=9 668 : SEGINI NOTYPE 669 : MOTYPE=NOTYPE 670 : TYPE(1)='REAL*8' 671 : TYPE(2)='REAL*8' 672 : TYPE(3)='REAL*8' 673 : TYPE(4)='REAL*8' 674 : TYPE(5)='REAL*8' 675 : TYPE(6)='POINTEUREVOLUTIO' 676 : TYPE(7)='POINTEUREVOLUTIO' 677 : TYPE(8)='REAL*8' 678 : TYPE(9)='REAL*8' 679 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33). 680 : + AND.IFOUR.EQ.-2) TYPE(10)='REAL*8' 681 : C 682 : ELSE IF (MATE.EQ.1.AND.INPLAS.EQ.26) THEN 683 : IF (ITHHER.EQ.2) THEN 684 : NBTYPE=0 685 : SEGINI NOTYPE 686 : MOTYPE=NOTYPE 687 : ELSE 688 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. 689 : + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN 690 : NBTYPE=9 691 : ELSE 692 : NBTYPE=8 693 : ENDIF 694 : SEGINI NOTYPE 695 : MOTYPE=NOTYPE 696 : TYPE(1)='REAL*8' 697 : TYPE(2)='REAL*8' 698 : TYPE(3)='POINTEUREVOLUTIO' 699 : TYPE(4)='REAL*8' 700 : TYPE(5)='REAL*8' 701 : TYPE(6)='REAL*8' 702 : TYPE(7)='REAL*8' 703 : TYPE(8)='REAL*8' 704 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33). 705 : + AND.IFOUR.EQ.-2) TYPE(9)='REAL*8' 706 : ENDIF 707 : C 708 : ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.29)THEN 709 : IF (ITHHER.EQ.2) THEN 710 : NBTYPE=0 711 : SEGINI NOTYPE 712 : MOTYPE=NOTYPE 713 : ELSE 714 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. 715 : + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN 716 : NBTYPE=14 717 : ELSE 718 : NBTYPE=13 719 : ENDIF 720 : SEGINI NOTYPE 721 : MOTYPE=NOTYPE 722 : TYPE(1)='REAL*8' 723 : TYPE(2)='REAL*8' 724 : TYPE(3)='REAL*8' 725 : TYPE(4)='REAL*8' 726 : TYPE(5)='REAL*8' 727 : TYPE(6)='REAL*8' 728 : TYPE(7)='REAL*8' 729 : TYPE(8)='REAL*8' 730 : TYPE(9)='REAL*8' 731 : TYPE(10)='POINTEUREVOLUTIO' 732 : TYPE(11)='REAL*8' 733 : TYPE(12)='REAL*8' 734 : TYPE(13)='REAL*8' 735 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33). 736 : + AND.IFOUR.EQ.-2) TYPE(14)='REAL*8' 737 : ENDIF 738 : C 739 : ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.16)THEN 740 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. 741 : + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN 742 : NBTYPE=8 743 : ELSE 744 : NBTYPE=7 745 : ENDIF 746 : SEGINI NOTYPE 747 : MOTYPE=NOTYPE 748 : TYPE(1)='REAL*8' 749 : TYPE(2)='REAL*8' 750 : TYPE(3)='POINTEUREVOLUTIO' 751 : TYPE(4)='REAL*8' 752 : TYPE(5)='REAL*8' 753 : TYPE(6)='REAL*8' 754 : TYPE(7)='REAL*8' 755 : C 756 : ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.2)THEN 757 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. 758 : + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN 759 : NBTYPE=7 760 : ELSE 761 : NBTYPE=6 762 : ENDIF 763 : SEGINI NOTYPE 764 : MOTYPE=NOTYPE 765 : TYPE(1)='REAL*8' 766 : TYPE(2)='REAL*8' 767 : TYPE(3)='REAL*8' 768 : TYPE(4)='POINTEUREVOLUTIO' 769 : TYPE(5)='REAL*8' 770 : TYPE(6)='REAL*8' 771 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33). 772 : + AND.IFOUR.EQ.-2) TYPE(7)='REAL*8' 773 : C 774 : ELSE IF(MATE.EQ.1.AND.INPLAS.EQ.32)THEN 775 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. 776 : + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN 777 : NBTYPE=10 778 : ELSE 779 : NBTYPE=19 780 : ENDIF 781 : SEGINI NOTYPE 782 : MOTYPE=NOTYPE 783 : TYPE(1)='REAL*8' 784 : TYPE(2)='REAL*8' 785 : TYPE(3)='REAL*8' 786 : TYPE(4)='REAL*8' 787 : TYPE(5)='POINTEUREVOLUTIO' 788 : TYPE(6)='POINTEUREVOLUTIO' 789 : TYPE(7)='POINTEUREVOLUTIO' 790 : TYPE(8)='POINTEUREVOLUTIO' 791 : TYPE(9)='POINTEUREVOLUTIO' 792 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33). 793 : + AND.IFOUR.EQ.-2) TYPE(10)='REAL*8' 794 : C 795 : ELSE IF(MATE.EQ.1.AND.INPLAS.EQ.44)THEN 796 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. 797 : + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN 798 : NBTYPE=21 799 : ELSE 800 : NBTYPE=20 801 : ENDIF 802 : SEGINI NOTYPE 803 : MOTYPE=NOTYPE 804 : TYPE(1)='REAL*8' 805 : TYPE(2)='REAL*8' 806 : TYPE(3)='REAL*8' 807 : TYPE(4)='REAL*8' 808 : TYPE(5)='REAL*8' 809 : TYPE(6)='REAL*8' 810 : TYPE(7)='REAL*8' 811 : TYPE(8)='REAL*8' 812 : TYPE(9)='REAL*8' 813 : TYPE(10)='REAL*8' 814 : TYPE(11)='REAL*8' 815 : TYPE(12)='REAL*8' 816 : TYPE(13)='REAL*8' 817 : TYPE(14)='REAL*8' 818 : TYPE(15)='REAL*8' 819 : TYPE(16)='REAL*8' 820 : TYPE(17)='REAL*8' 821 : TYPE(18)='REAL*8' 822 : TYPE(19)='REAL*8' 823 : TYPE(20)='REAL*8' 824 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33). 825 : + AND.IFOUR.EQ.-2) TYPE(21)='REAL*8' 826 : C 827 : ELSE IF(MATE.EQ.1.AND.INPLAS.EQ.45)THEN 828 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. 829 : + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN 830 : NBTYPE=28 831 : ELSE 832 : NBTYPE=27 833 : ENDIF 834 : SEGINI NOTYPE 835 : MOTYPE=NOTYPE 836 : TYPE(1)='REAL*8' 837 : TYPE(2)='REAL*8' 838 : TYPE(3)='REAL*8' 839 : TYPE(4)='REAL*8' 840 : TYPE(5)='REAL*8' 841 : TYPE(6)='REAL*8' 842 : TYPE(7)='REAL*8' 843 : TYPE(8)='REAL*8' 844 : TYPE(9)='REAL*8' 845 : TYPE(10)='REAL*8' 846 : TYPE(11)='REAL*8' 847 : TYPE(12)='REAL*8' 848 : TYPE(13)='REAL*8' 849 : TYPE(14)='REAL*8' 850 : TYPE(15)='REAL*8' 851 : TYPE(16)='REAL*8' 852 : TYPE(17)='REAL*8' 853 : TYPE(18)='REAL*8' 854 : TYPE(19)='REAL*8' 855 : TYPE(20)='REAL*8' 856 : TYPE(21)='REAL*8' 857 : TYPE(22)='REAL*8' 858 : TYPE(23)='REAL*8' 859 : TYPE(24)='REAL*8' 860 : TYPE(25)='REAL*8' 861 : TYPE(26)='REAL*8' 862 : TYPE(27)='REAL*8' 863 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33). 864 : + AND.IFOUR.EQ.-2) TYPE(28)='REAL*8' 865 : C 866 : ELSE IF(MFR.EQ.7.AND.CMATE.EQ.'SECTION')THEN 867 : NBTYPE=3 868 : SEGINI NOTYPE 869 : MOTYPE=NOTYPE 870 : TYPE(1)='POINTEURMMODEL ' 871 : TYPE(2)='POINTEURMCHAML ' 872 : TYPE(3)='POINTEURLISTREEL' 873 : C 874 : ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.54)THEN 875 : NBTYPE=15 876 : SEGINI NOTYPE 877 : MOTYPE=NOTYPE 878 : DO I=1,NBTYPE 879 : TYPE(I)='REAL*8' 880 : ENDDO 881 : TYPE(10)='POINTEUREVOLUTIO' 882 : TYPE(11)='POINTEUREVOLUTIO' 883 : C 884 : C JOINT_SOFT 885 : C 886 : ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.56)THEN 887 : NBTYPE=10 888 : SEGINI NOTYPE 889 : MOTYPE=NOTYPE 890 : DO I=1,NBTYPE 891 : TYPE(I)='REAL*8' 892 : ENDDO 893 : TYPE(6)='POINTEUREVOLUTIO' 894 : TYPE(7)='POINTEUREVOLUTIO' 895 : TYPE(8)='POINTEUREVOLUTIO' 896 : C 897 : C Note: Il s'agit des parametres obligatoires. 1 et 2 sont par defaut 898 : C YOUN et NU, 3, 4 et 5 (d'apres idplas.eso modele plastique 35) 899 : C PNOR, CPLG, BETA, puis viennent les 3 courbes 6, 7 et 8, c.a.d 900 : C 901 : C 902 : ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.119)THEN 903 : C 904 : C JOINT_COAT 905 : C 906 : NBTYPE=2+3 907 : SEGINI NOTYPE 908 : MOTYPE=NOTYPE 909 : DO I=1,NBTYPE 910 : TYPE(I)='REAL*8' 911 : ENDDO 912 : TYPE(2)='POINTEUREVOLUTIO' 913 : C 914 : C Note: Il s'agit des parametres obligatoires. 1 est par defaut 915 : C KS, 2 (d'apres idplas.eso modele plastique 49) la courbe SJSB 916 : C SJCB, SJSB et SJTB. 917 : C 918 : C+PPm 919 : ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.126)THEN 920 : C 921 : C MUR_SHEAR 922 : C 923 : C 2004 NBTYPE=13+4 924 : NBTYPE=14+4 925 : SEGINI NOTYPE 926 : MOTYPE=NOTYPE 927 : DO I=1,NBTYPE 928 : TYPE(I)='REAL*8' 929 : ENDDO 930 : DO I=3,8 931 : TYPE(I)='POINTEUREVOLUTIO' 932 : ENDDO 933 : 934 : C Note: Il s'agit des parametres obligatoires. 1 et 2 sont par defaut 935 : C YOUN et NU, 3 a 8 (d'apres idplas.eso modele plastique 63) les 936 : C courbes CUFP, CUKP, CULP, CUFM, CUKM, CULM 937 : C+PPm 938 : C 939 : C 940 : C ANCRAGE_ELIGEHAUSEN 941 : ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.91)THEN 942 : NBTYPE=11 943 : SEGINI NOTYPE 944 : MOTYPE=NOTYPE 945 : DO I=1,NBTYPE 946 : TYPE(I)='REAL*8' 947 : ENDDO 948 : C 949 : C PARFAIT_ANCRAGE 950 : C 951 : ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.92)THEN 952 : NBTYPE=14 953 : SEGINI NOTYPE 954 : MOTYPE=NOTYPE 955 : DO I=1,NBTYPE 956 : TYPE(I)='REAL*8' 957 : ENDDO 958 : C 959 : C ACIER_ANCRAGE 960 : C 961 : ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.93)THEN 962 : NBTYPE=24 963 : SEGINI NOTYPE 964 : MOTYPE=NOTYPE 965 : DO I=1,NBTYPE 966 : TYPE(I)='REAL*8' 967 : ENDDO 968 : C 969 : C TAKEDA 970 : C 971 : ELSEIF(MATE.EQ.1.AND.(INPLAS.EQ.59.OR.INPLAS.EQ.60))THEN 972 : NBTYPE=11 973 : SEGINI NOTYPE 974 : MOTYPE=NOTYPE 975 : DO I=1,NBTYPE 976 : TYPE(I)='REAL*8' 977 : ENDDO 978 : TYPE(3)='POINTEUREVOLUTIO' 979 : C 980 : C INFILL_UNI 981 : C 982 : ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.72)THEN 983 : NBTYPE=12 984 : SEGINI NOTYPE 985 : MOTYPE=NOTYPE 986 : DO I=1,NBTYPE 987 : TYPE(I)='REAL*8' 988 : ENDDO 989 : TYPE(10)='POINTEUREVOLUTIO' 990 : C 991 : C CISAIL_NL 992 : C 993 : ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.73)THEN 994 : NBTYPE=13 995 : SEGINI NOTYPE 996 : MOTYPE=NOTYPE 997 : DO I=1,NBTYPE 998 : TYPE(I)='REAL*8' 999 : ENDDO 1000 : TYPE(10)='POINTEUREVOLUTIO' 1001 : TYPE(11)='POINTEUREVOLUTIO' 1002 : C 1003 : ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.74)THEN 1004 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. 1005 : + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN 1006 : NBTYPE=22 1007 : SEGINI NOTYPE 1008 : MOTYPE=NOTYPE 1009 : TYPE(1)='REAL*8' 1010 : TYPE(2)='REAL*8' 1011 : TYPE(3)='POINTEUREVOLUTIO' 1012 : TYPE(4)='POINTEUREVOLUTIO' 1013 : TYPE(5)='REAL*8' 1014 : TYPE(6)='POINTEUREVOLUTIO' 1015 : TYPE(7)='REAL*8' 1016 : TYPE(8)='POINTEUREVOLUTIO' 1017 : TYPE(9)='REAL*8' 1018 : TYPE(10)='POINTEUREVOLUTIO' 1019 : TYPE(11)='REAL*8' 1020 : TYPE(12)='REAL*8' 1021 : TYPE(13)='REAL*8' 1022 : TYPE(14)='REAL*8' 1023 : TYPE(15)='POINTEUREVOLUTIO' 1024 : TYPE(16)='REAL*8' 1025 : TYPE(17)='POINTEUREVOLUTIO' 1026 : TYPE(18)='REAL*8' 1027 : TYPE(19)='POINTEUREVOLUTIO' 1028 : TYPE(20)='REAL*8' 1029 : TYPE(21)='POINTEUREVOLUTIO' 1030 : TYPE(22)='REAL*8' 1031 : ELSE 1032 : NBTYPE=21 1033 : SEGINI NOTYPE 1034 : MOTYPE=NOTYPE 1035 : TYPE(1)='REAL*8' 1036 : TYPE(2)='REAL*8' 1037 : TYPE(3)='POINTEUREVOLUTIO' 1038 : TYPE(4)='POINTEUREVOLUTIO' 1039 : TYPE(5)='REAL*8' 1040 : TYPE(6)='POINTEUREVOLUTIO' 1041 : TYPE(7)='REAL*8' 1042 : TYPE(8)='POINTEUREVOLUTIO' 1043 : TYPE(9)='REAL*8' 1044 : TYPE(10)='POINTEUREVOLUTIO' 1045 : TYPE(11)='REAL*8' 1046 : TYPE(12)='REAL*8' 1047 : TYPE(13)='REAL*8' 1048 : TYPE(14)='POINTEUREVOLUTIO' 1049 : TYPE(15)='REAL*8' 1050 : TYPE(16)='POINTEUREVOLUTIO' 1051 : TYPE(17)='REAL*8' 1052 : TYPE(18)='POINTEUREVOLUTIO' 1053 : TYPE(19)='REAL*8' 1054 : TYPE(20)='POINTEUREVOLUTIO' 1055 : TYPE(21)='REAL*8' 1056 : ENDIF 1057 : C 1058 : ELSEIF(MATE.EQ.4.AND.INPLAS.EQ.74)THEN 1059 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. 1060 : + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN 1061 : NBTYPE=23 1062 : SEGINI NOTYPE 1063 : MOTYPE=NOTYPE 1064 : TYPE(1)='REAL*8' 1065 : TYPE(2)='REAL*8' 1066 : TYPE(3)='REAL*8' 1067 : TYPE(4)='POINTEUREVOLUTIO' 1068 : TYPE(5)='POINTEUREVOLUTIO' 1069 : TYPE(6)='REAL*8' 1070 : TYPE(7)='POINTEUREVOLUTIO' 1071 : TYPE(8)='REAL*8' 1072 : TYPE(9)='POINTEUREVOLUTIO' 1073 : TYPE(10)='REAL*8' 1074 : TYPE(11)='POINTEUREVOLUTIO' 1075 : TYPE(12)='REAL*8' 1076 : TYPE(13)='REAL*8' 1077 : TYPE(14)='REAL*8' 1078 : TYPE(15)='REAL*8' 1079 : TYPE(16)='POINTEUREVOLUTIO' 1080 : TYPE(17)='REAL*8' 1081 : TYPE(18)='POINTEUREVOLUTIO' 1082 : TYPE(19)='REAL*8' 1083 : TYPE(20)='POINTEUREVOLUTIO' 1084 : TYPE(21)='REAL*8' 1085 : TYPE(22)='POINTEUREVOLUTIO' 1086 : TYPE(23)='REAL*8' 1087 : ELSE IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. 1088 : + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.2) THEN 1089 : NBTYPE=26 1090 : SEGINI NOTYPE 1091 : MOTYPE=NOTYPE 1092 : TYPE(1)='REAL*8' 1093 : TYPE(2)='REAL*8' 1094 : TYPE(3)='REAL*8' 1095 : TYPE(4)='REAL*8' 1096 : TYPE(5)='REAL*8' 1097 : TYPE(6)='REAL*8' 1098 : TYPE(7)='REAL*8' 1099 : TYPE(8)='POINTEUREVOLUTIO' 1100 : TYPE(9)='POINTEUREVOLUTIO' 1101 : TYPE(10)='REAL*8' 1102 : TYPE(11)='POINTEUREVOLUTIO' 1103 : TYPE(12)='REAL*8' 1104 : TYPE(13)='POINTEUREVOLUTIO' 1105 : TYPE(14)='REAL*8' 1106 : TYPE(15)='POINTEUREVOLUTIO' 1107 : TYPE(16)='REAL*8' 1108 : TYPE(17)='REAL*8' 1109 : TYPE(18)='REAL*8' 1110 : TYPE(19)='POINTEUREVOLUTIO' 1111 : TYPE(20)='REAL*8' 1112 : TYPE(21)='POINTEUREVOLUTIO' 1113 : TYPE(22)='REAL*8' 1114 : TYPE(23)='POINTEUREVOLUTIO' 1115 : TYPE(24)='REAL*8' 1116 : TYPE(25)='POINTEUREVOLUTIO' 1117 : TYPE(26)='REAL*8' 1118 : ELSE 1119 : NBTYPE=22 1120 : SEGINI NOTYPE 1121 : MOTYPE=NOTYPE 1122 : TYPE(1)='REAL*8' 1123 : TYPE(2)='REAL*8' 1124 : TYPE(3)='REAL*8' 1125 : TYPE(4)='POINTEUREVOLUTIO' 1126 : TYPE(5)='POINTEUREVOLUTIO' 1127 : TYPE(6)='REAL*8' 1128 : TYPE(7)='POINTEUREVOLUTIO' 1129 : TYPE(8)='REAL*8' 1130 : TYPE(9)='POINTEUREVOLUTIO' 1131 : TYPE(10)='REAL*8' 1132 : TYPE(11)='POINTEUREVOLUTIO' 1133 : TYPE(12)='REAL*8' 1134 : TYPE(13)='REAL*8' 1135 : TYPE(14)='REAL*8' 1136 : TYPE(15)='POINTEUREVOLUTIO' 1137 : TYPE(16)='REAL*8' 1138 : TYPE(17)='POINTEUREVOLUTIO' 1139 : TYPE(18)='REAL*8' 1140 : TYPE(19)='POINTEUREVOLUTIO' 1141 : TYPE(20)='REAL*8' 1142 : TYPE(21)='POINTEUREVOLUTIO' 1143 : TYPE(22)='REAL*8' 1144 : ENDIF 1145 : C 1146 : ELSEIF(INPLAS.EQ.67) THEN 1147 : NBTYPE=NMATR+NMATF 1148 : SEGINI NOTYPE 1149 : MOTYPE=NOTYPE 1150 : IM2=NMATR-2 1151 : DO IC=1,IM2 1152 : TYPE(IC)='REAL*8' 1153 : ENDDO 1154 : TYPE(NMATR-1)='POINTEUREVOLUTIO' 1155 : TYPE(NMATR) ='POINTEUREVOLUTIO' 1156 : DO IC=NMATR+1,NBTYPE 1157 : TYPE(IC)='REAL*8' 1158 : ENDDO 1159 : C 1160 : ELSEIF(MATE.EQ.4.AND.INPLAS.EQ.5)THEN 1161 : NBTYPE=6 1162 : SEGINI NOTYPE 1163 : MOTYPE=NOTYPE 1164 : TYPE(1)='REAL*8' 1165 : TYPE(2)='REAL*8' 1166 : TYPE(3)='REAL*8' 1167 : TYPE(4)='POINTEUREVOLUTIO' 1168 : TYPE(5)='REAL*8' 1169 : TYPE(6)='REAL*8' 1170 : C 1171 : c mistral : 1172 : ELSEIF (INPLAS.EQ.94) THEN 1173 : NBTYPE=NMATR+NMATF 1174 : SEGINI NOTYPE 1175 : MOTYPE=NOTYPE 1176 : DO 11 ITYP=1,NBTYPE 1177 : TYPE(ITYP)='REAL*8' 1178 : 11 CONTINUE 1179 : c pour le modèle mistral il y a 10 composantes non linéaires qui sont des listes de réels 1180 : NLDEB=NMATR-9 1181 : DO 13 ITYP=NLDEB,NMATR 1182 : TYPE(ITYP)='POINTEURLISTREEL' 1183 : 13 CONTINUE 1184 : c mistral. 1185 : C 1186 : ELSE 1187 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. 1188 : + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN 1189 : NBTYPE=2 1190 : ELSE 1191 : NBTYPE=1 1192 : ENDIF 1193 : SEGINI NOTYPE 1194 : MOTYPE=NOTYPE 1195 : TYPE(1)='REAL*8' 1196 : IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33). 1197 : + AND.IFOUR.EQ.-2) TYPE(2)='REAL*8' 1198 : C 1199 : ENDIF 1200 : 1200 : CALL KOMCHA(IPCAR,IPMAIL,CONM,MOMATR,MOTYPE,1, 1201 : & INFOS,3,IVAMAT) 1202 : 1203 : SEGSUP NOTYPE 1204 : C 1205 : IF(IERR.NE.0)THEN 1206 : KERRE=999 1207 : GOTO 9990 1208 : ENDIF 1209 : NMATT=NMATR+NMATF 1210 : * 1211 : IF (ISUP5.EQ.1) THEN 1211 : CALL VALCHE(IVAMAT,NMATT,IPMINT,IPPORE) 1212 : IF(IERR.NE.0)THEN 1213 : KERRE=999 1214 : ISUP5=0 1215 : GOTO 9990 1216 : ENDIF 1217 : ENDIF 1218 : * 1219 : * traitement du champ de caracteristiques geometriques 1220 : * 1221 : NBROBL=0 1222 : NBRFAC=0 1223 : MOCARA=0 1224 : * 1225 : * coques minces 1226 : * 1227 : IF (MFR.EQ.3.OR.MFR.EQ.9) THEN 1228 : NBROBL=1 1229 : NBRFAC=2 1230 : SEGINI NOMID 1231 : MOCARA=NOMID 1232 : LESOBL(1)='EPAI' 1233 : LESFAC(1)='CALF' 1234 : LESFAC(2)='EXCE' 1235 : * 1236 : NBTYPE=1 1237 : SEGINI NOTYPE 1238 : MOTYPE=NOTYPE 1239 : TYPE(1)='REAL*8' 1240 : ELSEIF (MFR.EQ.5) THEN 1241 : NBROBL=1 1242 : NBRFAC=1 1243 : SEGINI NOMID 1244 : MOCARA=NOMID 1245 : LESOBL(1)='EPAI' 1246 : LESFAC(1)='EXCE' 1247 : * 1248 : NBTYPE=1 1249 : SEGINI NOTYPE 1250 : MOTYPE=NOTYPE 1251 : TYPE(1)='REAL*8' 1252 : * 1253 : * section pour les barres 1254 : * 1255 : ELSE IF (MFR.EQ.27) THEN 1256 : NBROBL=1 1257 : SEGINI NOMID 1258 : MOCARA=NOMID 1259 : LESOBL(1)='SECT' 1260 : * 1261 : NBTYPE=1 1262 : SEGINI NOTYPE 1263 : MOTYPE=NOTYPE 1264 : TYPE(1)='REAL*8' 1265 : * 1266 : * section, excentrements et orientation pour les barres excentrees 1267 : * 1268 : ELSE IF (MFR.EQ.49) THEN 1269 : NBROBL=6 1270 : SEGINI NOMID 1271 : MOCARA=NOMID 1272 : LESOBL(1)='SECT' 1273 : LESOBL(2)='EXCZ' 1274 : LESOBL(3)='EXCY' 1275 : LESOBL(4)='VX ' 1276 : LESOBL(5)='VY ' 1277 : LESOBL(6)='VZ ' 1278 : * 1279 : NBTYPE=1 1280 : SEGINI NOTYPE 1281 : MOTYPE=NOTYPE 1282 : TYPE(1)='REAL*8' 1283 : * 1284 : * raideurs locales pour l'element LIA2 de liaison a 2 noeuds 1285 : * 1286 : ELSE IF (MFR.EQ.51) THEN 1287 : NBROBL=9 1288 : SEGINI NOMID 1289 : MOCARA=NOMID 1290 : LESOBL(1)='RLUX' 1291 : LESOBL(2)='RLUY' 1292 : LESOBL(3)='RLUZ' 1293 : LESOBL(4)='RLRX' 1294 : LESOBL(5)='RLRY' 1295 : LESOBL(6)='RLRZ' 1296 : LESOBL(7)='VX ' 1297 : LESOBL(8)='VY ' 1298 : LESOBL(9)='VZ ' 1299 : * 1300 : NBTYPE=1 1301 : SEGINI NOTYPE 1302 : MOTYPE=NOTYPE 1303 : TYPE(1)='REAL*8' 1304 : * 1305 : ELSE IF (MFR.EQ.7 ) THEN 1306 : * 1307 : * cas des poutres en formulation section 1308 : * 1309 : IF (CMATE.EQ.'SECTION') THEN 1310 : NBROBL=0 1311 : NBRFAC=1 1312 : SEGINI NOMID 1313 : MOCARA=NOMID 1314 : LESFAC(1)='VECT' 1315 : * 1316 : NBTYPE=1 1317 : SEGINI NOTYPE 1318 : MOTYPE=NOTYPE 1319 : TYPE(1)='POINTEURPOINT ' 1320 : * 1321 : * Cas des poutres 2D 1322 : * 1323 : ELSE IF (IFOUR.EQ.-2.OR.IFOUR.EQ.-1.OR.IFOUR.EQ.-3) THEN 1324 : NBRFAC=1 1325 : NBROBL=2 1326 : SEGINI NOMID 1327 : MOCARA=NOMID 1328 : LESOBL(1)= 'SECT' 1329 : LESOBL(2)= 'INRZ' 1330 : LESFAC(1)= 'SECY' 1331 : * 1332 : NBTYPE=1 1333 : SEGINI NOTYPE 1334 : MOTYPE=NOTYPE 1335 : TYPE(1)='REAL*8' 1336 : * 1337 : * cas des poutres 3D 1338 : * 1339 : ELSE 1340 : * 1341 : * cas des autres poutres 1342 : * 1343 : NBROBL=4 1344 : NBRFAC=6 1345 : SEGINI NOMID 1346 : MOCARA=NOMID 1347 : LESOBL(1)='TORS' 1348 : LESOBL(2)='INRY' 1349 : LESOBL(3)='INRZ' 1350 : LESOBL(4)='SECT' 1351 : LESFAC(1)='SECY' 1352 : LESFAC(2)='SECZ' 1353 : LESFAC(3)='DX ' 1354 : LESFAC(4)='DY ' 1355 : LESFAC(5)='DZ ' 1356 : LESFAC(6)='VECT' 1357 : * 1358 : NBTYPE=10 1359 : SEGINI NOTYPE 1360 : MOTYPE=NOTYPE 1361 : TYPE(1)='REAL*8' 1362 : TYPE(2)='REAL*8' 1363 : TYPE(3)='REAL*8' 1364 : TYPE(4)='REAL*8' 1365 : TYPE(5)='REAL*8' 1366 : TYPE(6)='REAL*8' 1367 : TYPE(7)='REAL*8' 1368 : TYPE(8)='REAL*8' 1369 : TYPE(9)='REAL*8' 1370 : TYPE(10)='POINTEURPOINT ' 1371 : ENDIF 1372 : * 1373 : * caracteristiques pour les tuyaux 1374 : * 1375 : ELSE IF (MFR.EQ.13) THEN 1376 : NBROBL=2 1377 : NBRFAC=9 1378 : SEGINI NOMID 1379 : MOCARA=NOMID 1380 : LESOBL(1)='EPAI' 1381 : LESOBL(2)='RAYO' 1382 : LESFAC(1)='RACO' 1383 : LESFAC(2)='PRES' 1384 : LESFAC(3)='CISA' 1385 : LESFAC(4)='CFFX' 1386 : LESFAC(5)='CFMX' 1387 : LESFAC(6)='CFMY' 1388 : LESFAC(7)='CFMZ' 1389 : LESFAC(8)='CFPR' 1390 : LESFAC(9)='VECT' 1391 : * 1392 : NBTYPE=11 1393 : SEGINI NOTYPE 1394 : MOTYPE=NOTYPE 1395 : TYPE(1)='REAL*8' 1396 : TYPE(2)='REAL*8' 1397 : TYPE(3)='REAL*8' 1398 : TYPE(4)='REAL*8' 1399 : TYPE(5)='REAL*8' 1400 : TYPE(6)='REAL*8' 1401 : TYPE(7)='REAL*8' 1402 : TYPE(8)='REAL*8' 1403 : TYPE(9)='REAL*8' 1404 : TYPE(10)='REAL*8' 1405 : TYPE(11)='POINTEURPOINT ' 1406 : * 1407 : * caracteristiques pour les linespring 1408 : * 1409 : ELSE IF (MFR.EQ.15) THEN 1410 : NBROBL=5 1411 : SEGINI NOMID 1412 : MOCARA=NOMID 1413 : LESOBL(1)='EPAI' 1414 : LESOBL(2)='FISS' 1415 : LESOBL(3)='VX ' 1416 : LESOBL(4)='VY ' 1417 : LESOBL(5)='VZ ' 1418 : * 1419 : NBTYPE=1 1420 : SEGINI NOTYPE 1421 : MOTYPE=NOTYPE 1422 : TYPE(1)='REAL*8' 1423 : * 1424 : * caracteristiques pour les tuyaux fissures 1425 : * 1426 : ELSE IF (MFR.EQ.17) THEN 1427 : NBROBL=9 1428 : SEGINI NOMID 1429 : MOCARA=NOMID 1430 : LESOBL(1)='RAYO' 1431 : LESOBL(2)='EPAI' 1432 : LESOBL(3)='VX ' 1433 : LESOBL(4)='VY ' 1434 : LESOBL(5)='VZ ' 1435 : LESOBL(6)='VXF ' 1436 : LESOBL(7)='VYF ' 1437 : LESOBL(8)='VZF ' 1438 : LESOBL(9)='ANGL' 1439 : * 1440 : NBTYPE=1 1441 : SEGINI NOTYPE 1442 : MOTYPE=NOTYPE 1443 : TYPE(1)='REAL*8' 1444 : * 1445 : * caracteristiques des elements homogeneises 1446 : * 1447 : ELSE IF (MFR.EQ.37) THEN 1448 : IF(IFOUR.EQ.1.OR.IFOUR.EQ.0) THEN 1449 : NBROBL=4 1450 : SEGINI NOMID 1451 : MOCARA=NOMID 1452 : LESOBL(1)='SCEL' 1453 : LESOBL(2)='SFLU' 1454 : LESOBL(3)='EPS ' 1455 : LESOBL(4)='XINE' 1456 : ELSE 1457 : NBROBL=3 1458 : SEGINI NOMID 1459 : MOCARA=NOMID 1460 : LESOBL(1)='SCEL' 1461 : LESOBL(2)='SFLU' 1462 : LESOBL(3)='EPS ' 1463 : ENDIF 1464 : * 1465 : NBTYPE=1 1466 : SEGINI NOTYPE 1467 : MOTYPE=NOTYPE 1468 : TYPE(1)='REAL*8' 1469 : ENDIF 1470 : * 1471 : IF(MOCARA.NE.0)THEN 1471 : CALL KOMCHA(IPCAR,IPMAIL,CONM,MOCARA,MOTYPE,1, 1472 : & INFOS,3,IVACAR) 1473 : SEGSUP NOTYPE 1474 : IF(IERR.NE.0)THEN 1475 : KERRE=999 1476 : GOTO 9990 1477 : ENDIF 1478 : ENDIF 1479 : NCARA=NBROBL 1480 : NCARF=NBRFAC 1481 : NCARR=NCARA+NCARF 1482 : * 1483 : IF (ISUP5.EQ.1.AND.MOCARA.NE.0) THEN 1483 : CALL VALCHE(IVACAR,NCARR,IPMINT,IPPORE) 1484 : IF(IERR.NE.0)THEN 1485 : KERRE=999 1486 : ISUP5=0 1487 : GOTO 9990 1488 : ENDIF 1489 : ENDIF 1490 : * 1491 : *------------------------------------------------- 1492 : * creation des mchamls de la sous zone 1493 : *------------------------------------------------- 1494 : * 1495 : NBPTEL=NBGS 1496 : NEL=NBELEM 1497 : * 1498 : N1PTEL=NBPTEL 1499 : N1EL=NEL 1500 : N2PTEL=0 1501 : N2EL=0 1502 : * 1503 : * contraintes 1504 : * 1505 : N2=NSTRS 1506 : SEGINI MCHAML 1507 : ICHAML(ISOUS)=MCHAML 1508 : NS=1 1509 : NCOSOU=NSTRS 1510 : SEGINI MPTVAL 1511 : IVASTF=MPTVAL 1512 : NOMID=MOSTRS 1513 : SEGACT NOMID 1514 : DO 1100 ICOMP=1,NSTRS 1515 : NOMCHE(ICOMP)=LESOBL(ICOMP) 1516 : TYPCHE(ICOMP)='REAL*8' 1517 : SEGINI MELVAL 1518 : IELVAL(ICOMP)=MELVAL 1519 : IVAL(ICOMP)=MELVAL 1520 : 1100 continue 1521 : SEGDES NOMID 1522 : * 1523 : * variables internes 1524 : * 1525 : IF((MFR.EQ.7.OR.MFR.EQ.13).AND.CMATE.EQ.'SECTION')THEN 1526 : N2PTEL=NBPTEL 1527 : N2EL=NEL 1528 : ENDIF 1529 : * 1530 : N2=NVART 1531 : SEGINI MCHAM1 1532 : MCHEL1.ICHAML(ISOUS)=MCHAM1 1533 : NS=1 1534 : NCOSOU=NVART 1535 : SEGINI MPTVAL 1536 : IVARIF=MPTVAL 1537 : NOMID=MOVARI 1538 : SEGACT NOMID 1539 : * 1540 : * composantes obligatoires 1541 : * 1542 : DO 1200 ICOMP=1,NVARI 1543 : MCHAM1.NOMCHE(ICOMP)=LESOBL(ICOMP) 1544 : IF(MFR.EQ.7.AND.CMATE.EQ.'SECTION')THEN 1545 : MCHAM1.TYPCHE(ICOMP)='POINTEURMCHAML ' 1546 : N1PTEL=0 1547 : N1EL=0 1548 : ELSE IF(INPLAS.EQ.74.AND.ICOMP.GT.1) THEN 1549 : MCHAM1.TYPCHE(ICOMP)='POINTEURLISTREEL' 1550 : N1PTEL=0 1551 : N1EL=0 1552 : N2PTEL=NBPTEL 1553 : N2EL=NEL 1554 : ELSE 1555 : MCHAM1.TYPCHE(ICOMP)='REAL*8' 1556 : N2PTEL=0 1557 : N2EL=0 1558 : ENDIF 1559 : SEGINI MELVAL 1560 : MCHAM1.IELVAL(ICOMP)=MELVAL 1561 : IVAL(ICOMP)=MELVAL 1562 : 1200 continue 1563 : * 1564 : * composantes facultatives 1565 : * 1566 : DO 1201 ICOMP=1,NVARF 1567 : JCOMP=ICOMP+NVARI 1568 : MCHAM1.NOMCHE(JCOMP)=LESFAC(ICOMP) 1569 : IF(INPLAS.EQ.74) THEN 1570 : MCHAM1.TYPCHE(JCOMP)='POINTEURLISTREEL' 1571 : N1PTEL=0 1572 : N1EL=0 1573 : ELSE 1574 : MCHAM1.TYPCHE(JCOMP)='REAL*8' 1575 : N2PTEL=0 1576 : N2EL=0 1577 : ENDIF 1578 : SEGINI MELVAL 1579 : MCHAM1.IELVAL(JCOMP)=MELVAL 1580 : IVAL(JCOMP)=MELVAL 1581 : 1201 continue 1582 : SEGDES NOMID 1583 : * 1584 : * deformations inelastiques 1585 : * 1586 : N1PTEL=NBPTEL 1587 : N1EL=NEL 1588 : N2=NDEF 1589 : SEGINI MCHAM2 1590 : MCHEL2.ICHAML(ISOUS)=MCHAM2 1591 : NS=1 1592 : NCOSOU=NDEF 1593 : SEGINI MPTVAL 1594 : IVADEP=MPTVAL 1595 : NOMID=MODEIN 1596 : SEGACT NOMID 1597 : DO 1300 ICOMP=1,NDEF 1598 : MCHAM2.NOMCHE(ICOMP)=LESOBL(ICOMP) 1599 : MCHAM2.TYPCHE(ICOMP)='REAL*8' 1600 : N2PTEL=0 1601 : N2EL=0 1602 : SEGINI MELVAL 1603 : MCHAM2.IELVAL(ICOMP)=MELVAL 1604 : IVAL(ICOMP)=MELVAL 1605 : 1300 continue 1606 : SEGDES NOMID 1607 : * 1608 : * traitement des champs de temperature pour les materiaux 1609 : * endommageables de lemaitre 1610 : * 1611 : IF (ITHHER.EQ.1.OR.ITHHER.EQ.2) THEN 1612 : IPH1=MCHEL3.ICHAML(ISOUS) 1613 : IPH2=MCHEL4.ICHAML(ISOUS) 1614 : IPH3=MCHEL5.ICHAML(ISOUS) 1615 : ENDIF 1616 : * 1617 : * traitement des champs de flux neutronique pour le modèle MISTRAL 1618 : c mistral : 1619 : IF (IFI.EQ.1) THEN 1620 : IPH4=MCHEL7.ICHAML(ISOUS) 1621 : IPH5=MCHEL8.ICHAML(ISOUS) 1622 : ENDIF 1623 : c mistral. 1624 : *ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 1625 : * A PROPOS DE CE QUI EST FAIT JUSTE AU DESSUS ..... 1626 : * 1627 : * MLR : DANGEREUX : ON ACCEDE DIRECTEMENT AUX SOUS-ZONES 1628 : * ALORS QU'IL CONVIENDRAIT DE PASSER PAR KOMCHA 1629 : * EN ATTENDANT LA CORRECTION, ON OBLIGE 1630 : * LA DONNEE DE CHPOINTS ( CF ECOULE) 1631 : * DANS LE CAS DE LA SUCCION 1632 : *ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 1633 : * 1634 : *********************** 1635 : * SPECIAL SUCCION 1636 : * 1637 : * traitement des champs de SUCCION 1638 : * 1639 : IF (ITHHER.EQ.3) THEN 1640 : IPH1=MCHEL3.ICHAML(ISOUS) 1641 : IPH2=MCHEL4.ICHAML(ISOUS) 1642 : ENDIF 1643 : *********************** 1644 : * 1645 : * recherche des pointeurs imat et icar 1646 : * 1647 : NUMAT=0 1648 : NUCAR=0 1649 : IRET = 1 1650 : IF (INPLAS.NE.26.AND.INPLAS.NE.29) THEN 1650 : CALL CARMAT(IMODEL,IPCAR,IPMAIL,MFR,MELE,CMATE, 1651 : 1 ISUP5,INFOS,CONM,IMAT,ICAR,NUMAT,NUCAR,IRET) 1652 : ENDIF 1653 : IF(IRET.EQ.0) THEN 1653 : CALL ERREUR(715) 1654 : GOTO 9990 1655 : ENDIF 1656 : * 1657 : * recherche des dimensions du melval de hooke 1658 : * 1659 : N2PTEL=0 1660 : N2EL=0 1661 : MPTVAL=IVAMAT 1662 : DO 40 IO=1,NMATT 1663 : IF(IVAL(IO).NE.0)THEN 1664 : MELVAL=IVAL(IO) 1665 : IF (CMATE.EQ.'SECTION') THEN 1666 : N2PTEL=MAX(N2PTEL,IELCHE(/1)) 1667 : N2EL =MAX(N2EL ,IELCHE(/2)) 1668 : ELSE 1669 : N2PTEL=MAX(N2PTEL,VELCHE(/1)) 1670 : N2EL =MAX(N2EL ,VELCHE(/2)) 1671 : ENDIF 1672 : ENDIF 1673 : 40 CONTINUE 1674 : IF (N2PTEL.EQ.1.OR.NBG.EQ.1) THEN 1675 : N2PTEL=1 1676 : ELSE 1677 : N2PTEL=NBG 1678 : ENDIF 1679 : * 1680 : ***************************************************** 1681 : * appel a l'ecoulement proprement dit 1682 : ***************************************************** 1683 : * 1684 : * On appel les modèles élastiques linéaires 1685 : * et les modèles PLASTIQUES intégrés par 1686 : * ECOINC 1687 : * 1688 : IF (INPLAS.EQ.0.OR. 1689 : 1 INPLAS.EQ.1.OR. 1690 : 2 INPLAS.EQ.3.OR. 1691 : 2 INPLAS.EQ.4.OR. 1692 : 3 INPLAS.EQ.5.OR. 1693 : 4 INPLAS.EQ.7.OR. 1694 : 5 INPLAS.EQ.11.OR. 1695 : 7 INPLAS.EQ.12.OR. 1696 : 7 INPLAS.EQ.13.OR. 1697 : 9 INPLAS.EQ.15.OR. INPLAS.EQ.87) THEN 1697 : CALL ECOU10(MATE,INPLAS,MELE,IPMAIL,NBPTEL,IMAT,ICAR, 1698 : 1 NUMAT,NUCAR,IVASTR,IVARI,IVADEF,IVADET, 1699 : 1 IVADS,IVAMAT,IVACAR, 1700 : 2 IPH1,IPH2,IPH3,ITHHER,LHOOK,NSTRS,NVART,NMATT,NCARR, 1701 : 3 CMATE,PRECIS,JECHER,IPOTAB,ISTEP,NPINT,JNOID,LOGSUC, 1702 : 4 N2EL,N2PTEL,NBNO,NBGS,LW,IVASTF,IVARIF,IVADEP,KERRE) 1703 : * 1704 : * On appelle les modèles VISCOPLASTIQUES et FLUAGE 1705 : * intégrés par le 'moule' d'intégration CONSTI 1706 : * L'intégration est effectuée suivant une méthode 1707 : * de Runge-Kutta 1708 : * 1709 : ELSE IF (INPLAS.EQ.17.OR. 1710 : 1 INPLAS.EQ.19.OR. 1711 : 2 INPLAS.EQ.20.OR. 1712 : 3 INPLAS.EQ.61.OR. 1713 : 3 INPLAS.EQ.63.OR. 1714 : 4 INPLAS.EQ.21.OR. 1715 : 5 INPLAS.EQ.22.OR. 1716 : 6 INPLAS.EQ.23.OR. 1717 : 7 INPLAS.EQ.24.OR. 1718 : 8 INPLAS.EQ.25.OR. 1719 : 9 INPLAS.EQ.53.OR. INPLAS.EQ.76.OR. 1720 : 9 INPLAS.EQ.44.OR. INPLAS.EQ.77.OR. 1721 : 1 INPLAS.EQ.45.OR. INPLAS.EQ.102.OR. 1722 : 2 INPLAS.EQ.70.OR. 1723 : 3 INPLAS.EQ.84.OR. 1724 : 5 INPLAS.EQ.85.OR. 1725 : 4 INPLAS.EQ.86) THEN 1725 : CALL ECOU20(MATE,INPLAS,MELE,IPMAIL,NBPTEL,IMAT,ICAR, 1726 : 1 NUMAT,NUCAR,IVASTR,IVARI,IVADEF,IVADET, 1727 : 1 IVADS,IVAMAT,IVACAR, 1728 : 2 IPH1,IPH2,IPH3,ITHHER,LHOOK,NSTRS,NVART,NMATT,NCARR, 1729 : 3 CMATE,PRECIS,JECHER,IPOTAB,ISTEP,NPINT,JNOID,LOGSUC, 1730 : 4 N2EL,N2PTEL,NBNO,NBGS,LW,IVASTF,IVARIF,IVADEP,KERRE) 1731 : * 1732 : * On appelle les modèles VISCOPLASTIQUES et FLUAGE 1733 : * NON INTEGRES par CONSTI 1734 : * 1735 : ELSE IF (INPLAS.EQ.43.OR.INPLAS.EQ.82.OR. 1736 : 1 INPLAS.EQ.90.OR.INPLAS.EQ.94.OR. 1737 : 1 INPLAS.EQ.95.OR.INPLAS.EQ.100) THEN 1737 : CALL ECOU25(MATE,INPLAS,MELE,IPMAIL,NBPTEL,IMAT,ICAR, 1738 : 1 NUMAT,NUCAR,IVASTR,IVARI,IVADEF,IVADET, 1739 : 1 IVADS,IVAMAT,IVACAR,IPH1,IPH2,IPH3,IPH4,IPH5, 1740 : 2 ITHHER,IFI,LHOOK,NSTRS,NVART,NMATT,NMATR,NCARR, 1741 : 3 CMATE,PRECIS,JECHER,IPOTAB,ISTEP,NPINT,JNOID,LOGSUC, 1742 : 4 N2EL,N2PTEL,NBNO,NBGS,LW,IVASTF,IVARIF,IVADEP,KERRE) 1743 : 1744 : ELSE IF (INPLAS.EQ.65.OR.INPLAS.EQ.74) THEN 1744 : CALL ECOU21(MATE,INPLAS,MELE,IPMAIL,NBPTEL,IMAT,ICAR, 1745 : 1 NUMAT,NUCAR,IVASTR,IVARI,IVADEF,IVADET, 1746 : 1 IVADS,IVAMAT,IVACAR, 1747 : 2 IPH1,IPH2,IPH3,ITHHER,LHOOK,NSTRS,NVART,NMATT,NCARR, 1748 : 3 CMATE,PRECIS,JECHER,IPOTAB,ISTEP,NPINT,JNOID,LOGSUC, 1749 : 4 N2EL,N2PTEL,NBNO,NBGS,LW,IVASTF,IVARIF,IVADEP,KERRE) 1750 : * 1751 : * On appele les modeles de materiaux endommageables de Lemaitre 1752 : * Ce sont des matériaux plastiques (26) et viscoplastiques (29) 1753 : * intégré par CONSTI 1754 : * 1755 : ELSE IF (INPLAS.EQ.26.OR. 1756 : 9 INPLAS.EQ.29) THEN 1756 : CALL ECOU29(MATE,INPLAS,MELE,IPMAIL,NBPTEL,IMAT,ICAR, 1757 : 1 NUMAT,NUCAR,IVASTR,IVARI,IVADEF,IVADET, 1758 : 1 IVADS,IVAMAT,IVACAR, 1759 : 2 IPH1,IPH2,IPH3,ITHHER,LHOOK,NSTRS,NVART,NMATT,NCARR, 1760 : 3 CMATE,PRECIS,JECHER,IPOTAB,ISTEP,NPINT,JNOID,LOGSUC, 1761 : 4 N2EL,N2PTEL,NBNO,NBGS,LW,IVASTF,IVARIF,IVADEP,KERRE) 1762 : * 1763 : * On appelle les matériaux ENDOMMAGEABLE 1764 : * 1765 : ELSE IF (INPLAS.EQ.30.OR. 1766 : 1 INPLAS.EQ.31.OR.INPLAS.EQ.37.OR. 1767 : 2 INPLAS.EQ.88.OR.INPLAS.EQ.89.OR. 1768 : 3 INPLAS.EQ.96.OR.INPLAS.EQ.97.OR. 1769 : 3 INPLAS.EQ.98.OR.INPLAS.EQ.118.OR. 1770 : 4 INPLAS.EQ.134.OR.INPLAS.EQ.135.OR.INPLAS.EQ.141) THEN 1771 : 1771 : CALL ECOU40(MATE,INPLAS,MELE,IPMAIL,NBPTEL,IMAT,ICAR, 1772 : 1 NUMAT,NUCAR,IVASTR,IVARI,IVADEF,IVADET, 1773 : 1 IVADS,IVAMAT,IVACAR, 1774 : 2 IPH1,IPH2,IPH3,ITHHER,LHOOK,NSTRS,NVART,NMATT,NCARR, 1775 : 3 CMATE,PRECIS,JECHER,IPOTAB,ISTEP,NPINT,JNOID,LOGSUC, 1776 : 4 N2EL,N2PTEL,NBNO,NBGS,LW,IVASTF,IVARIF,IVADEP,KERRE) 1777 : * 1778 : * On appelle les matériaux PLASTIQUE_ENDOM(MAGEABLE) 1779 : * 1780 : ELSE IF (INPLAS.EQ.51.OR. 1781 : 1 INPLAS.EQ.62.OR. 1782 : 2 INPLAS.EQ.64.OR. 1783 : 3 INPLAS.EQ.75) THEN 1783 : CALL ECOU50(MATE,INPLAS,MELE,IPMAIL,NBPTEL,IMAT,ICAR, 1784 : 1 NUMAT,NUCAR,IVASTR,IVARI,IVADEF,IVADET, 1785 : 1 IVADS,IVAMAT,IVACAR, 1786 : 2 IPH1,IPH2,IPH3,ITHHER,LHOOK,NSTRS,NVART,NMATT,NCARR, 1787 : 3 CMATE,PRECIS,JECHER,IPOTAB,ISTEP,NPINT,JNOID,LOGSUC, 1788 : 4 N2EL,N2PTEL,NBNO,NBGS,LW,IVASTF,IVARIF,IVADEP,KERRE) 1789 : * 1790 : * On appelle les matériaux PLASTIQUES qui ne sont pas 1791 : * intégrés dans ECOINC 1792 : * 1793 : * 1794 : ELSE IF (INPLAS.EQ.2.OR.INPLAS.EQ.27.OR. 1795 : 3 INPLAS.EQ.9.OR.INPLAS.EQ.14.OR. 1796 : 6 INPLAS.EQ.18.OR.INPLAS.EQ.16.OR. 1797 : 8 INPLAS.EQ.28.OR.INPLAS.EQ.32.OR. 1798 : 8 INPLAS.EQ.33.OR.INPLAS.EQ.38.OR. 1799 : 8 INPLAS.EQ.34.OR.INPLAS.EQ.35.OR. 1800 : 8 INPLAS.EQ.36.OR.INPLAS.EQ.39.OR. 1801 : 8 INPLAS.EQ.40.OR.INPLAS.EQ.41.OR. 1802 : 8 INPLAS.EQ.50.OR.INPLAS.EQ.49.OR. 1803 : 8 INPLAS.EQ.48.OR.INPLAS.EQ.42.OR. 1804 : 8 INPLAS.EQ.47.OR.INPLAS.EQ.52.OR. 1805 : 8 INPLAS.EQ.54.OR.INPLAS.EQ.55.OR. 1806 : 8 INPLAS.EQ.56.OR.INPLAS.EQ.57.OR. 1807 : 8 INPLAS.EQ.58.OR.INPLAS.EQ.59.OR. 1808 : 9 INPLAS.EQ.60.OR.INPLAS.EQ.78.OR. 1809 : 9 INPLAS.EQ.79.OR.INPLAS.EQ.80.OR. 1810 : 9 INPLAS.EQ.91.OR.INPLAS.EQ.92.OR. 1811 : 9 INPLAS.EQ.93.OR.INPLAS.EQ.119.OR.INPLAS.EQ.126) THEN 1811 : CALL ECOU60(MATE,INPLAS,MELE,IPMAIL,NBPTEL,IMAT,ICAR, 1812 : 1 NUMAT,NUCAR,IVASTR,IVARI,IVADEF,IVADET, 1813 : 1 IVADS,IVAMAT,IVACAR, 1814 : 2 IPH1,IPH2,IPH3,ITHHER,LHOOK,NSTRS,NVART,NMATT,NCARR, 1815 : 3 CMATE,PRECIS,JECHER,IPOTAB,ISTEP,NPINT,JNOID,LOGSUC, 1816 : 4 N2EL,N2PTEL,NBNO,NBGS,LW,IVASTF,IVARIF,IVADEP,KERRE) 1817 : * 1818 : * 1819 : * On appelle les matériaux PLASTIQUES qui ne sont pas 1820 : * integres dans ECOINC - SUITE de ECOU60 1821 : * 1822 : ELSE IF (INPLAS.EQ.66.OR.INPLAS.EQ.67.OR. 1823 : 1 INPLAS.EQ.68.OR.INPLAS.EQ.69.OR. 1824 : 2 INPLAS.EQ.71.OR.INPLAS.EQ.72.OR. 1825 : 2 INPLAS.EQ.73.OR.INPLAS.EQ.99.OR. 1826 : 3 INPLAS.EQ.101) THEN 1826 : CALL ECOU70(MATE,INPLAS,MELE,IPMAIL,NBPTEL,IMAT,ICAR, 1827 : 1 NUMAT,NUCAR,IVASTR,IVARI,IVADEF,IVADET, 1828 : 1 IVADS,IVAMAT,IVACAR, 1829 : 2 IPH1,IPH2,IPH3,ITHHER,LHOOK,NSTRS,NVART,NMATT,NMATR,NCARR, 1830 : 3 CMATE,PRECIS,JECHER,IPOTAB,ISTEP,NPINT,JNOID,LOGSUC, 1831 : 4 N2EL,N2PTEL,NBNO,NBGS,LW,IVASTF,IVARIF,IVADEP,KERRE) 1832 : * 1833 : ELSE 1834 : KERRE=99 1835 : ENDIF 1836 : * 1837 : *************************************************** 1838 : * Fin de l'appel aux modeles d'ecoulement 1839 : *************************************************** 1840 : 9990 CONTINUE 1841 : * 1842 : * desactivation des segments 1843 : * 1844 : SEGDES MELEME*NOMOD,IMODEL*NOMOD 1845 : SEGDES,MINTE 1846 : * 1847 : IF(ISUP1.EQ.1)THEN 1847 : CALL DTMVAL (IVASTR,3) 1848 : ELSE 1848 : CALL DTMVAL (IVASTR,1) 1849 : ENDIF 1850 : IF(ISUP2.EQ.1)THEN 1850 : CALL DTMVAL (IVARI,3) 1851 : ELSE 1851 : CALL DTMVAL (IVARI,1) 1852 : ENDIF 1853 : IF(ISUP3.EQ.1)THEN 1853 : CALL DTMVAL (IVADEF,3) 1854 : ELSE 1854 : CALL DTMVAL (IVADEF,1) 1855 : ENDIF 1856 : IF(ISUP4.EQ.1)THEN 1856 : CALL DTMVAL (IVADS,3) 1857 : ELSE 1857 : CALL DTMVAL (IVADS,1) 1858 : ENDIF 1859 : IF(ISUP5.EQ.1)THEN 1859 : CALL DTMVAL (IVAMAT,3) 1860 : ELSE 1860 : CALL DTMVAL (IVAMAT,1) 1861 : ENDIF 1862 : IF(ISUP5.EQ.1)THEN 1862 : CALL DTMVAL (IVACAR,3) 1863 : ELSE 1863 : CALL DTMVAL (IVACAR,1) 1864 : ENDIF 1865 : IF(ISUP6.EQ.1)THEN 1865 : CALL DTMVAL (IVADET,3) 1866 : ELSE IF(IPCHE6.NE.0) THEN 1866 : CALL DTMVAL (IVADET,1) 1867 : ENDIF 1868 : IF (KERRE.EQ.0) THEN 1868 : CALL DTMVAL (IVASTF,1) 1868 : CALL DTMVAL (IVARIF,1) 1868 : CALL DTMVAL (IVADEP,1) 1869 : SEGDES MCHAML,MCHAM1,MCHAM2 1870 : ELSE 1870 : CALL DTMVAL (IVASTF,3) 1870 : CALL DTMVAL (IVARIF,3) 1870 : CALL DTMVAL (IVADEP,3) 1871 : IF (MCHAML.NE.0) SEGSUP MCHAML 1872 : IF (MCHAM1.NE.0) SEGSUP MCHAM1 1873 : IF (MCHAM2.NE.0) SEGSUP MCHAM2 1874 : END IF 1875 : * 1876 : IF (MOCARA.NE.0) THEN 1877 : NOMID=MOCARA 1878 : SEGSUP NOMID 1879 : END IF 1880 : * 1881 : IF (MOMATR.NE.0) THEN 1882 : NOMID=MOMATR 1883 : if(lsupma)SEGSUP NOMID 1884 : END IF 1885 : * 1886 : IF (MOVARI.NE.0) THEN 1887 : NOMID=MOVARI 1888 : if(lsupva)SEGSUP NOMID 1889 : END IF 1890 : * 1891 : IF (MOSTRS.NE.0) THEN 1892 : NOMID=MOSTRS 1893 : if(lsupco)SEGSUP NOMID 1894 : END IF 1895 : * 1896 : IF (MOEPSI.NE.0) THEN 1897 : NOMID=MOEPSI 1898 : if(lsupde)SEGSUP NOMID 1899 : END IF 1900 : IF (MODEIN.NE.0) THEN 1901 : NOMID=MODEIN 1902 : if(lsupdd)SEGSUP NOMID 1903 : END IF 1904 : * 1905 : * IF (IPINF .NE.0) THEN 1906 : * INFO=IPINF 1907 : * SEGSUP INFO 1908 : * END IF 1909 : * 1910 : IF(KERRE.NE.0)GO TO 888 1911 : 1000 continue 1912 : * 1913 : 888 CONTINUE 1914 : * 1915 : * traitement des champs de temperature pour les materiaux 1916 : * endommageables de lemaitre 1917 : * 1918 : IF (ITHHER.EQ.1.OR.ITHHER.EQ.2) THEN 1919 : SEGDES MCHEL3,MCHEL4,MCHEL5 1920 : ENDIF 1921 : c mistral : 1922 : IF (IFI.EQ.1) THEN 1923 : SEGDES MCHEL7,MCHEL8 1924 : ENDIF 1925 : c mistral. 1926 : *********************** 1927 : * SPECIAL SUCCION 1928 : * 1929 : IF (ITHHER.EQ.3) THEN 1930 : SEGDES MCHEL3,MCHEL4 1931 : ENDIF 1932 : *********************** 1933 : * 1934 : IF(IPCHE6.NE.0) THEN 1935 : SEGDES MCHEL6 1936 : ENDIF 1937 : * 1938 : SEGDES MMODEL*NOMOD 1939 : IF(KERRE.EQ.0)THEN 1940 : SEGDES MCHELM,MCHEL1,MCHEL2 1941 : ELSE 1942 : SEGSUP MCHELM,MCHEL1,MCHEL2 1943 : ENDIF 1944 : * 1945 : RETURN 1946 : END 1947 : 1948 : 1949 : 1950 :
© Cast3M 2003 - All rights reserved.
Disclaimer