cotype
C COTYPE SOURCE OF166741 24/11/14 21:15:08 12078 *-------------------------- * specifie le type des composantes *-------------------------- IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) -INC PPARAM -INC CCOPTIO -INC SMMODEL -INC DECHE imodel = iqmod wrk53 = iwrk53 notype = 0 * * AIGUILLAGE SUIVANT MOT CLE * GOTO ( 1, 2, 1, 1, 1, 6, 7,99,99,10,11,12,13,14,15,16,17,18, 1 99,20,21,99,23,24,25) ino * 99 CONTINUE c pas de composantes pour ce champ GOTO 120 * 1 NBTYPE=1 SEGINI NOTYPE TYPE(1)='REAL*8' GOTO 120 * 2 NBTYPE=1 SEGINI NOTYPE TYPE(1)='REAL*8' GOTO 120 * 6 NBTYPE=1 SEGINI NOTYPE TYPE(1)='REAL*8' GOTO 120 * 7 NBTYPE=1 SEGINI NOTYPE TYPE(1)='REAL*8' GOTO 120 * 10 NBTYPE=1 SEGINI NOTYPE TYPE(1)='REAL*8' GOTO 120 * 11 CONTINUE IF (CMATE.EQ.'MODAL'.OR.CMATE.EQ.'STATIQUE') THEN c MODAL / STATIQUE NBTYPE = 3 SEGINI NOTYPE TYPE(1)='REAL*8' TYPE(2)='POINTEURCHPOINT' TYPE(3)='REAL*8' ELSE NBTYPE=1 SEGINI NOTYPE TYPE(1)='REAL*8' ENDIF GOTO 120 * 12 NBTYPE=1 SEGINI NOTYPE TYPE(1)='REAL*8' GOTO 120 * 13 nmatr = nobl nmatf = nfac if(formod(1).eq.'DIFFUSION') then NBTYPE = 1 SEGINI,NOTYPE TYPE( 1) = 'REAL*8' GOTO 120 endif if (formod(1).eq.'MELANGE') then * CEREM IF (CMATE.eq.'CEREM') THEN NBTYPE = 22 SEGINI,NOTYPE TYPE( 1) = 'REAL*8' TYPE( 2) = 'REAL*8' TYPE( 3) = 'REAL*8' TYPE( 4) = 'REAL*8' TYPE( 5) = 'REAL*8' TYPE( 6) = 'REAL*8' TYPE( 7) = 'REAL*8' TYPE( 8) = 'REAL*8' TYPE( 9) = 'REAL*8' TYPE(10) = 'REAL*8' TYPE(11) = 'REAL*8' TYPE(12) = 'REAL*8' TYPE(13) = 'REAL*8' TYPE(13) = 'REAL*8' TYPE(14) = 'REAL*8' TYPE(15) = 'REAL*8' TYPE(16) = 'POINTEURNUAGE' TYPE(17) = 'POINTEURNUAGE' TYPE(18) = 'REAL*8' TYPE(19) = 'REAL*8' TYPE(20) = 'REAL*8' TYPE(21) = 'REAL*8' TYPE(22) = 'REAL*8' * ZTMAX ELSE IF (CMATE.eq.'ZTMAX') THEN NBTYPE = 1 SEGINI,NOTYPE TYPE(1) = 'REAL*8' * TMM_LMT2 ELSE IF (CMATE.eq.'TMM_LMT2') THEN NBTYPE = 1 SEGINI,NOTYPE TYPE(1) = 'REAL*8' * PARALLELE ELSE IF (CMATE.eq.'PARALLELE') THEN NBTYPE = 1 SEGINI,NOTYPE TYPE(1) = 'REAL*8' * SERIE ELSE IF (CMATE.eq.'SERIE') THEN NBTYPE = 1 SEGINI,NOTYPE TYPE(1) = 'REAL*8' * MARTINEZ GRAIN ELSE IF (CMATE.eq.'MGRAIN') THEN NBTYPE = 1 SEGINI,NOTYPE TYPE(1) = 'REAL*8' ELSE * write(ioimp,*) 'non prevu --' NBTYPE = 0 SEGINI,NOTYPE ENDIF GOTO 120 endif * if (formod(1).eq.'LIAISON') then IF (CMATE.eq.'PO_PL_FL') THEN NBTYPE = 7 + 1 SEGINI,NOTYPE TYPE( 1) = 'POINTEURPOINT' TYPE( 2) = 'REAL*8' TYPE( 3) = 'REAL*8' TYPE( 4) = 'REAL*8' TYPE( 5) = 'REAL*8' TYPE( 6) = 'REAL*8' TYPE( 7) = 'REAL*8' ELSEIF (CMATE.eq.'PO_PL_FR') THEN NBTYPE = 9 + 1 SEGINI,NOTYPE TYPE( 1) = 'POINTEURPOINT' TYPE( 2) = 'REAL*8' TYPE( 3) = 'REAL*8' TYPE( 4) = 'REAL*8' TYPE( 5) = 'REAL*8' TYPE( 6) = 'REAL*8' TYPE( 7) = 'REAL*8' TYPE( 8) = 'REAL*8' TYPE( 9) = 'POINTEUREVOLUTIO' ELSEIF (CMATE.eq.'PO_PL') THEN NBTYPE = 7 + 1 SEGINI,NOTYPE TYPE( 1) = 'POINTEURPOINT' TYPE( 2) = 'REAL*8' TYPE( 3) = 'REAL*8' TYPE( 4) = 'POINTEUREVOLUTIO' TYPE( 5) = 'REAL*8' TYPE( 6) = 'REAL*8' TYPE( 7) = 'REAL*8' ELSEIF (CMATE.eq.'PO_PO_FR') THEN NBTYPE = 11 + 1 SEGINI,NOTYPE TYPE( 1) = 'POINTEURPOINT' TYPE( 2) = 'REAL*8' TYPE( 3) = 'REAL*8' TYPE( 4) = 'POINTEURPOINT' TYPE( 5) = 'REAL*8' TYPE( 6) = 'REAL*8' TYPE( 7) = 'REAL*8' TYPE( 8) = 'REAL*8' TYPE( 9) = 'REAL*8' TYPE(10) = 'POINTEUREVOLUTIO' TYPE(11) = 'REAL*8' ELSEIF (CMATE.eq.'PO_PO_DP') THEN NBTYPE = 7 + 1 SEGINI,NOTYPE TYPE( 1) = 'POINTEURPOINT' TYPE( 2) = 'REAL*8' TYPE( 3) = 'REAL*8' TYPE( 4) = 'POINTEURPOINT' TYPE( 5) = 'REAL*8' TYPE( 6) = 'POINTEUREVOLUTIO' TYPE( 7) = 'REAL*8' ELSEIF (CMATE.eq.'PO_PO_RP') THEN NBTYPE = 8 + 1 SEGINI,NOTYPE TYPE( 1) = 'POINTEURPOINT' TYPE( 2) = 'REAL*8' TYPE( 3) = 'REAL*8' TYPE( 4) = 'POINTEURPOINT' TYPE( 5) = 'REAL*8' TYPE( 6) = 'POINTEUREVOLUTIO' TYPE( 7) = 'REAL*8' TYPE( 8) = 'REAL*8' ELSEIF (CMATE.eq.'PO_PO') THEN NBTYPE = 7 + 1 SEGINI,NOTYPE TYPE( 1) = 'POINTEURPOINT' TYPE( 2) = 'REAL*8' TYPE( 3) = 'REAL*8' TYPE( 4) = 'POINTEURPOINT' TYPE( 5) = 'REAL*8' TYPE( 6) = 'REAL*8' TYPE( 7) = 'POINTEUREVOLUTIO' ELSEIF (CMATE.eq.'PO_CE_MO') THEN NBTYPE = 10 + 1 SEGINI,NOTYPE TYPE( 1) = 'POINTEURPOINT' TYPE( 2) = 'REAL*8' TYPE( 3) = 'POINTEURPOINT' TYPE( 4) = 'REAL*8' TYPE( 5) = 'REAL*8' TYPE( 6) = 'REAL*8' TYPE( 7) = 'REAL*8' TYPE( 8) = 'REAL*8' TYPE( 9) = 'REAL*8' TYPE(10) = 'REAL*8' ELSEIF (CMATE.eq.'PO_CE_FR') THEN NBTYPE = 10 + 1 SEGINI,NOTYPE TYPE( 1) = 'POINTEURPOINT' TYPE( 2) = 'REAL*8' TYPE( 3) = 'REAL*8' TYPE( 4) = 'REAL*8' TYPE( 5) = 'REAL*8' TYPE( 6) = 'REAL*8' TYPE( 7) = 'REAL*8' TYPE( 8) = 'REAL*8' TYPE( 9) = 'REAL*8' TYPE(10) = 'REAL*8' ELSEIF (CMATE.eq.'PO_CE') THEN NBTYPE = 5 + 1 SEGINI,NOTYPE TYPE( 1) = 'POINTEURPOINT' TYPE( 2) = 'REAL*8' TYPE( 3) = 'REAL*8' TYPE( 4) = 'REAL*8' TYPE( 5) = 'REAL*8' ELSEIF (CMATE.eq.'CE_PL_FR') THEN NBTYPE = 9 + 1 SEGINI,NOTYPE TYPE( 1) = 'POINTEURPOINT' TYPE( 2) = 'REAL*8' TYPE( 3) = 'REAL*8' TYPE( 4) = 'REAL*8' TYPE( 5) = 'REAL*8' TYPE( 6) = 'REAL*8' TYPE( 7) = 'REAL*8' TYPE( 8) = 'REAL*8' TYPE( 9) = 'REAL*8' ELSEIF (CMATE.eq.'CE_CE_FR') THEN NBTYPE = 11 + 1 SEGINI,NOTYPE TYPE( 1) = 'POINTEURPOINT' TYPE( 2) = 'REAL*8' TYPE( 3) = 'REAL*8' TYPE( 4) = 'REAL*8' TYPE( 5) = 'REAL*8' TYPE( 6) = 'REAL*8' TYPE( 7) = 'REAL*8' TYPE( 8) = 'REAL*8' TYPE( 9) = 'REAL*8' TYPE(10) = 'REAL*8' TYPE(11) = 'REAL*8' ELSEIF (CMATE.eq.'PR_PR_IN'.or.CMATE.eq.'PR_PR_EX') THEN NBTYPE = 5 + 1 SEGINI,NOTYPE TYPE( 1) = 'POINTEURPOINT' TYPE( 2) = 'REAL*8' TYPE( 3) = 'POINTEURMAILLAGE' TYPE( 4) = 'POINTEURMAILLAGE' TYPE( 5) = 'REAL*8' ELSEIF (CMATE.eq.'LI_LI_FR') THEN NBTYPE = 12 + 1 SEGINI,NOTYPE TYPE( 1) = 'POINTEURPOINT' TYPE( 2) = 'POINTEURMAILLAGE' TYPE( 3) = 'POINTEURMAILLAGE' TYPE( 4) = 'POINTEURCHPOINT' TYPE( 5) = 'REAL*8' TYPE( 6) = 'REAL*8' TYPE( 7) = 'REAL*8' TYPE( 8) = 'REAL*8' TYPE( 9) = 'REAL*8' TYPE(10) = 'POINTEURCHPOINT' TYPE(11) = 'REAL*8' TYPE(12) = 'REAL*8' ELSEIF (CMATE.eq.'LI_CE_FR') THEN NBTYPE = 13 + 1 SEGINI,NOTYPE TYPE( 1) = 'POINTEURPOINT' TYPE( 2) = 'POINTEURMAILLAGE' TYPE( 3) = 'POINTEURMAILLAGE' TYPE( 4) = 'POINTEURCHPOINT' TYPE( 5) = 'REAL*8' TYPE( 6) = 'REAL*8' TYPE( 7) = 'REAL*8' TYPE( 8) = 'REAL*8' TYPE( 9) = 'REAL*8' TYPE(10) = 'REAL*8' TYPE(11) = 'REAL*8' TYPE(12) = 'REAL*8' TYPE(13) = 'REAL*8' ELSEIF (CMATE.eq.'PA_FL_RO') THEN NBTYPE = 11 + 1 SEGINI,NOTYPE TYPE( 1) = 'REAL*8' TYPE( 2) = 'REAL*8' TYPE( 3) = 'REAL*8' TYPE( 4) = 'REAL*8' TYPE( 5) = 'REAL*8' TYPE( 6) = 'REAL*8' TYPE( 7) = 'REAL*8' TYPE( 8) = 'REAL*8' TYPE( 9) = 'REAL*8' TYPE(10) = 'POINTEURTABLE' TYPE(11) = 'REAL*8' ELSEIF (CMATE.eq.'NEWMOD') THEN NBTYPE = 6 + 1 SEGINI,NOTYPE TYPE(1) = 'REAL*8' TYPE(2) = 'REAL*8' TYPE(3) = 'REAL*8' TYPE(4) = 'REAL*8' TYPE(5) = 'REAL*8' TYPE(6) = 'POINTEURMMODEL' ELSE * NBTYPE = 0 + 1 SEGINI NOTYPE ENDIF * composante table de sortie (composante 'SORT') TYPE(NBTYPE) = 'POINTEURTABLE' GOTO 120 endif * mecanique IF(MATE.EQ.1.AND.(INPLAS.EQ.5.OR.INPLAS.EQ.87))THEN IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN NBTYPE=6 ELSE NBTYPE=5 ENDIF SEGINI NOTYPE TYPE(1)='REAL*8' TYPE(2)='REAL*8' TYPE(3)='POINTEUREVOLUTIO' TYPE(4)='REAL*8' TYPE(5)='REAL*8' IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33). + AND.IFOUR.EQ.-2) TYPE(6)='REAL*8' C ELSE IF (CMATE.EQ.'MODAL') THEN c MODAL NBTYPE = 12 SEGINI NOTYPE TYPE(1)='REAL*8' TYPE(2)='REAL*8' TYPE(3)='POINTEURCHPOINT' TYPE(4)='REAL*8' TYPE(5)='POINTEURPOINT' TYPE(6)='POINTEURCHPOINT' TYPE(7)='POINTEURLISTREEL' TYPE(8)='POINTEURMAILLAGE' TYPE(9)='POINTEURLISTREEL' TYPE(10)='POINTEURLISTREEL' TYPE(11)='REAL*8' TYPE(12)='REAL*8' C ELSE IF (CMATE.EQ.'STATIQUE') THEN c STATIQUE NBTYPE = 11 SEGINI NOTYPE TYPE(1)='POINTEURCHPOINT' TYPE(2)='POINTEURCHPOINT' TYPE(3)='POINTEURCHPOINT' TYPE(4)='REAL*8' TYPE(5)='POINTEURLISTREEL' TYPE(6)='POINTEURMAILLAGE' TYPE(7)='POINTEURMAILLAGE' TYPE(8)='POINTEURLISTREEL' TYPE(9)='POINTEURLISTREEL' TYPE(10)='REAL*8' TYPE(11)='REAL*8' C ELSE IF(MATE.EQ.4.AND.INPLAS.EQ.5)THEN IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN NBTYPE=7 ELSE NBTYPE=6 ENDIF SEGINI NOTYPE TYPE(1)='REAL*8' TYPE(2)='REAL*8' TYPE(3)='REAL*8' TYPE(4)='POINTEUREVOLUTIO' TYPE(5)='REAL*8' TYPE(6)='REAL*8' IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33). + AND.IFOUR.EQ.-2) TYPE(7)='REAL*8' C ELSE IF(MATE.EQ.1.AND.INPLAS.EQ.51)THEN IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN NBTYPE=8 ELSE NBTYPE=7 ENDIF SEGINI NOTYPE TYPE(1)='REAL*8' TYPE(2)='REAL*8' TYPE(3)='POINTEUREVOLUTIO' TYPE(4)='POINTEUREVOLUTIO' TYPE(5)='POINTEUREVOLUTIO' TYPE(6)='REAL*8' TYPE(7)='REAL*8' IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33). + AND.IFOUR.EQ.-2) TYPE(8)='REAL*8' C ELSE IF(MATE.EQ.4.AND.INPLAS.EQ.51)THEN IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN NBTYPE=9 ELSE NBTYPE=8 ENDIF SEGINI NOTYPE TYPE(1)='REAL*8' TYPE(2)='REAL*8' TYPE(3)='REAL*8' TYPE(4)='POINTEUREVOLUTIO' TYPE(5)='POINTEUREVOLUTIO' TYPE(6)='POINTEUREVOLUTIO' TYPE(7)='REAL*8' TYPE(8)='REAL*8' IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33). + AND.IFOUR.EQ.-2) TYPE(9)='REAL*8' C ELSE IF(MATE.EQ.1.AND.INPLAS.EQ.62)THEN IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN NBTYPE=6 ELSE NBTYPE=5 ENDIF SEGINI NOTYPE TYPE(1)='REAL*8' TYPE(2)='REAL*8' TYPE(3)='POINTEUREVOLUTIO' TYPE(4)='REAL*8' TYPE(5)='REAL*8' IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33). + AND.IFOUR.EQ.-2) TYPE(6)='REAL*8' C ELSE IF(MATE.EQ.1.AND.INPLAS.EQ.64)THEN IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN NBTYPE=15 ELSE NBTYPE=14 ENDIF SEGINI NOTYPE TYPE(1)='REAL*8' TYPE(2)='REAL*8' TYPE(3)='POINTEUREVOLUTIO' TYPE(4)='REAL*8' TYPE(5)='REAL*8' TYPE(6)='REAL*8' TYPE(7)='REAL*8' TYPE(8)='REAL*8' TYPE(9)='REAL*8' TYPE(10)='REAL*8' TYPE(11)='REAL*8' TYPE(12)='REAL*8' TYPE(13)='REAL*8' TYPE(14)='REAL*8' IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33). + AND.IFOUR.EQ.-2) TYPE(15)='REAL*8' C ELSE IF (MATE.EQ.1.AND.INPLAS.EQ.14) THEN IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN NBTYPE=10 ELSE NBTYPE=9 ENDIF NBTYPE=9 SEGINI NOTYPE TYPE(1)='REAL*8' TYPE(2)='REAL*8' TYPE(3)='REAL*8' TYPE(4)='REAL*8' TYPE(5)='REAL*8' TYPE(6)='POINTEUREVOLUTIO' TYPE(7)='POINTEUREVOLUTIO' TYPE(8)='REAL*8' TYPE(9)='REAL*8' IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33). + AND.IFOUR.EQ.-2) TYPE(10)='REAL*8' C ELSE IF (MATE.EQ.1.AND.INPLAS.EQ.26) THEN NBTYPE=0 SEGINI NOTYPE C ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.29)THEN NBTYPE=0 SEGINI NOTYPE C ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.16)THEN IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN NBTYPE=8 ELSE NBTYPE=7 ENDIF SEGINI NOTYPE TYPE(1)='REAL*8' TYPE(2)='REAL*8' TYPE(3)='POINTEUREVOLUTIO' TYPE(4)='REAL*8' TYPE(5)='REAL*8' TYPE(6)='REAL*8' TYPE(7)='REAL*8' C ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.2)THEN IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN NBTYPE=7 ELSE NBTYPE=6 ENDIF SEGINI NOTYPE TYPE(1)='REAL*8' TYPE(2)='REAL*8' TYPE(3)='REAL*8' TYPE(4)='POINTEUREVOLUTIO' TYPE(5)='REAL*8' TYPE(6)='REAL*8' IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33). + AND.IFOUR.EQ.-2) TYPE(7)='REAL*8' C ELSE IF(MATE.EQ.1.AND.INPLAS.EQ.32)THEN IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN NBTYPE=10 ELSE NBTYPE=19 ENDIF SEGINI NOTYPE TYPE(1)='REAL*8' TYPE(2)='REAL*8' TYPE(3)='REAL*8' TYPE(4)='REAL*8' TYPE(5)='POINTEUREVOLUTIO' TYPE(6)='POINTEUREVOLUTIO' TYPE(7)='POINTEUREVOLUTIO' TYPE(8)='POINTEUREVOLUTIO' TYPE(9)='POINTEUREVOLUTIO' IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.33). + AND.IFOUR.EQ.-2) TYPE(10)='REAL*8' C ELSE IF(MATE.EQ.1.AND.INPLAS.EQ.44)THEN C* Toutes les composantes sont de type REAL*8 NBTYPE=1 SEGINI NOTYPE TYPE(1)='REAL*8' C ELSE IF(MATE.EQ.1.AND.INPLAS.EQ.45)THEN C* Toutes les composantes sont de type REAL*8 NBTYPE=1 SEGINI NOTYPE TYPE(1)='REAL*8' C ELSE IF(MFR.EQ.7.AND.CMATE.EQ.'SECTION')THEN NBTYPE=3 SEGINI NOTYPE TYPE(1)='POINTEURMMODEL ' TYPE(2)='POINTEURMCHAML ' TYPE(3)='POINTEURLISTREEL' C ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.54)THEN NBTYPE=15 SEGINI NOTYPE DO I=1,NBTYPE TYPE(I)='REAL*8' ENDDO TYPE(10)='POINTEUREVOLUTIO' TYPE(11)='POINTEUREVOLUTIO' C ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.56)THEN NBTYPE=10 SEGINI NOTYPE DO I=1,NBTYPE TYPE(I)='REAL*8' ENDDO TYPE(6)='POINTEUREVOLUTIO' TYPE(7)='POINTEUREVOLUTIO' TYPE(8)='POINTEUREVOLUTIO' C C Note: Il s'agit des parametres obligatoires. 1 et 2 sont par defaut C YOUN et NU, 3, 4 et 5 (d'apres idplas.eso modele plastique 35) C PNOR, CPLG, BETA, puis viennent les 3 courbes 6, 7 et 8, c.a.d C ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.119)THEN C C JOINT_COAT C NBTYPE=2+3 SEGINI NOTYPE DO I=1,NBTYPE TYPE(I)='REAL*8' ENDDO TYPE(2)='POINTEUREVOLUTIO' C C Note: Il s'agit des parametres obligatoires. 1 est par defaut C KS, 2 (d'apres idplas.eso modele plastique 49) la courbe SJSB C+PPm ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.126)THEN C C MUR_SHEAR C NBTYPE=16+4 SEGINI NOTYPE DO I=1,NBTYPE TYPE(I)='REAL*8' ENDDO DO I=3,8 TYPE(I)='POINTEUREVOLUTIO' ENDDO C Note: Il s'agit des parametres obligatoires. 1 et 2 sont par defaut C YOUN et NU, 3 a 8 (d'apres idplas.eso modele plastique 63) les C courbes CUFP, CUKP, CULP, CUFM, CUKM, CULM C ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.125)THEN C C DAMAGE_TC C NBTYPE=1 SEGINI NOTYPE TYPE(1)='REAL*8' C C TAKEDA C ELSEIF(MATE.EQ.1.AND.(INPLAS.EQ.59.OR.INPLAS.EQ.60))THEN NBTYPE=11 SEGINI NOTYPE DO I=1,NBTYPE TYPE(I)='REAL*8' ENDDO TYPE(3)='POINTEUREVOLUTIO' C C INFILL_UNI C ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.72)THEN NBTYPE=12 SEGINI NOTYPE DO I=1,NBTYPE TYPE(I)='REAL*8' ENDDO TYPE(10)='POINTEUREVOLUTIO' C C CISAIL_NL C ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.73)THEN NBTYPE=13 SEGINI NOTYPE DO I=1,NBTYPE TYPE(I)='REAL*8' ENDDO TYPE(10)='POINTEUREVOLUTIO' TYPE(11)='POINTEUREVOLUTIO' C ELSEIF(MATE.EQ.1.AND.INPLAS.EQ.74)THEN IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN NBTYPE=23 SEGINI NOTYPE TYPE(1)='REAL*8' TYPE(2)='REAL*8' TYPE(3)='POINTEUREVOLUTIO' TYPE(4)='POINTEUREVOLUTIO' TYPE(5)='REAL*8' TYPE(6)='POINTEUREVOLUTIO' TYPE(7)='REAL*8' TYPE(8)='POINTEUREVOLUTIO' TYPE(9)='REAL*8' TYPE(10)='POINTEUREVOLUTIO' TYPE(11)='REAL*8' TYPE(12)='REAL*8' TYPE(13)='REAL*8' TYPE(14)='REAL*8' TYPE(15)='REAL*8' TYPE(16)='POINTEUREVOLUTIO' TYPE(17)='REAL*8' TYPE(18)='POINTEUREVOLUTIO' TYPE(19)='REAL*8' TYPE(20)='POINTEUREVOLUTIO' TYPE(21)='REAL*8' TYPE(22)='POINTEUREVOLUTIO' TYPE(23)='REAL*8' ELSE NBTYPE=22 SEGINI NOTYPE TYPE(1)='REAL*8' TYPE(2)='REAL*8' TYPE(3)='POINTEUREVOLUTIO' TYPE(4)='POINTEUREVOLUTIO' TYPE(5)='REAL*8' TYPE(6)='POINTEUREVOLUTIO' TYPE(7)='REAL*8' TYPE(8)='POINTEUREVOLUTIO' TYPE(9)='REAL*8' TYPE(10)='POINTEUREVOLUTIO' TYPE(11)='REAL*8' TYPE(12)='REAL*8' TYPE(13)='REAL*8' TYPE(14)='REAL*8' TYPE(15)='POINTEUREVOLUTIO' TYPE(16)='REAL*8' TYPE(17)='POINTEUREVOLUTIO' TYPE(18)='REAL*8' TYPE(19)='POINTEUREVOLUTIO' TYPE(20)='REAL*8' TYPE(21)='POINTEUREVOLUTIO' TYPE(22)='REAL*8' ENDIF C ELSEIF(MATE.EQ.4.AND.INPLAS.EQ.74)THEN IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.-2) THEN NBTYPE=23 SEGINI NOTYPE TYPE(1)='REAL*8' TYPE(2)='REAL*8' TYPE(3)='REAL*8' TYPE(4)='POINTEUREVOLUTIO' TYPE(5)='POINTEUREVOLUTIO' TYPE(6)='REAL*8' TYPE(7)='POINTEUREVOLUTIO' TYPE(8)='REAL*8' TYPE(9)='POINTEUREVOLUTIO' TYPE(10)='REAL*8' TYPE(11)='POINTEUREVOLUTIO' TYPE(12)='REAL*8' TYPE(13)='REAL*8' TYPE(14)='REAL*8' TYPE(15)='REAL*8' TYPE(16)='POINTEUREVOLUTIO' TYPE(17)='REAL*8' TYPE(18)='POINTEUREVOLUTIO' TYPE(19)='REAL*8' TYPE(20)='POINTEUREVOLUTIO' TYPE(21)='REAL*8' TYPE(22)='POINTEUREVOLUTIO' TYPE(23)='REAL*8' ELSE IF ((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR. + EQ.31.OR.MFR.EQ.33).AND.IFOUR.EQ.2) THEN NBTYPE=26 SEGINI NOTYPE TYPE(1)='REAL*8' TYPE(2)='REAL*8' TYPE(3)='REAL*8' TYPE(4)='REAL*8' TYPE(5)='REAL*8' TYPE(6)='REAL*8' TYPE(7)='REAL*8' TYPE(8)='POINTEUREVOLUTIO' TYPE(9)='POINTEUREVOLUTIO' TYPE(10)='REAL*8' TYPE(11)='POINTEUREVOLUTIO' TYPE(12)='REAL*8' TYPE(13)='POINTEUREVOLUTIO' TYPE(14)='REAL*8' TYPE(15)='POINTEUREVOLUTIO' TYPE(16)='REAL*8' TYPE(17)='REAL*8' TYPE(18)='REAL*8' TYPE(19)='POINTEUREVOLUTIO' TYPE(20)='REAL*8' TYPE(21)='POINTEUREVOLUTIO' TYPE(22)='REAL*8' TYPE(23)='POINTEUREVOLUTIO' TYPE(24)='REAL*8' TYPE(25)='POINTEUREVOLUTIO' TYPE(26)='REAL*8' ELSE NBTYPE=22 SEGINI NOTYPE TYPE(1)='REAL*8' TYPE(2)='REAL*8' TYPE(3)='REAL*8' TYPE(4)='POINTEUREVOLUTIO' TYPE(5)='POINTEUREVOLUTIO' TYPE(6)='REAL*8' TYPE(7)='POINTEUREVOLUTIO' TYPE(8)='REAL*8' TYPE(9)='POINTEUREVOLUTIO' TYPE(10)='REAL*8' TYPE(11)='POINTEUREVOLUTIO' TYPE(12)='REAL*8' TYPE(13)='REAL*8' TYPE(14)='REAL*8' TYPE(15)='POINTEUREVOLUTIO' TYPE(16)='REAL*8' TYPE(17)='POINTEUREVOLUTIO' TYPE(18)='REAL*8' TYPE(19)='POINTEUREVOLUTIO' TYPE(20)='REAL*8' TYPE(21)='POINTEUREVOLUTIO' TYPE(22)='REAL*8' ENDIF * * modele maxott * ELSE IF(INPLAS.EQ.106) THEN * formulation defo planes / axisymetrique IF((IFOMOD.EQ.-1.AND.IFOUR.NE.-2) .OR. & (IFOMOD.EQ.0.OR.IFOMOD.EQ.1)) THEN NBTYPE=58 SEGINI NOTYPE DO IT=1,9 TYPE(IT)='REAL*8' END DO TYPE(10)='POINTEUREVOLUTIO' TYPE(11)='POINTEUREVOLUTIO' TYPE(12)='REAL*8' TYPE(13)='POINTEUREVOLUTIO' TYPE(14)='REAL*8' TYPE(15)='POINTEUREVOLUTIO' TYPE(16)='REAL*8' TYPE(17)='POINTEUREVOLUTIO' TYPE(18)='REAL*8' DO IT=19,50 TYPE(IT)='REAL*8' END DO TYPE(51)='POINTEUREVOLUTIO' TYPE(52)='REAL*8' TYPE(53)='POINTEUREVOLUTIO' TYPE(54)='REAL*8' TYPE(55)='POINTEUREVOLUTIO' TYPE(56)='REAL*8' TYPE(57)='POINTEUREVOLUTIO' TYPE(58)='REAL*8' * formulation contraintes planes / 3D coques minces ELSE IF((IFOMOD.EQ.-1.AND.IFOUR.EQ.-2).OR. & (IFOMOD.EQ.2.AND.(MFR.EQ.3.OR.MFR.EQ.9))) THEN NBTYPE=54 SEGINI NOTYPE DO IT=1,9 TYPE(IT)='REAL*8' END DO TYPE(10)='POINTEUREVOLUTIO' TYPE(11)='POINTEUREVOLUTIO' TYPE(12)='REAL*8' TYPE(13)='POINTEUREVOLUTIO' TYPE(14)='REAL*8' TYPE(15)='POINTEUREVOLUTIO' TYPE(16)='REAL*8' TYPE(17)='POINTEUREVOLUTIO' TYPE(18)='REAL*8' DO IT=19,46 TYPE(IT)='REAL*8' END DO TYPE(47)='POINTEUREVOLUTIO' TYPE(48)='REAL*8' TYPE(49)='POINTEUREVOLUTIO' TYPE(50)='REAL*8' TYPE(51)='POINTEUREVOLUTIO' TYPE(52)='REAL*8' TYPE(53)='POINTEUREVOLUTIO' TYPE(54)='REAL*8' * formulation tridimensionnelle massive ELSE IF(IFOMOD.EQ.2.AND.MFR.EQ.1) THEN NBTYPE=64 SEGINI NOTYPE DO IT=1,14 TYPE(IT)='REAL*8' END DO TYPE(15)='POINTEUREVOLUTIO' TYPE(16)='POINTEUREVOLUTIO' TYPE(17)='REAL*8' TYPE(18)='POINTEUREVOLUTIO' TYPE(19)='REAL*8' TYPE(20)='POINTEUREVOLUTIO' TYPE(21)='REAL*8' TYPE(22)='POINTEUREVOLUTIO' TYPE(23)='REAL*8' DO IT=24,55 TYPE(IT)='REAL*8' END DO TYPE(57)='POINTEUREVOLUTIO' TYPE(58)='REAL*8' TYPE(59)='POINTEUREVOLUTIO' TYPE(60)='REAL*8' TYPE(61)='POINTEUREVOLUTIO' TYPE(62)='REAL*8' TYPE(63)='POINTEUREVOLUTIO' TYPE(64)='REAL*8' ENDIF * ELSEIF(INPLAS.EQ.67) THEN c NBTYPE=NMATR+NMATF NBTYPE = nmatt SEGINI NOTYPE IM2=NMATR-2 DO IC=1,IM2 TYPE(IC)='REAL*8' ENDDO TYPE(NMATR-1)='POINTEUREVOLUTIO' TYPE(NMATR) ='POINTEUREVOLUTIO' DO IC=NMATR+1,NBTYPE TYPE(IC)='REAL*8' ENDDO C ELSEIF(MATE.EQ.4.AND.INPLAS.EQ.5)THEN NBTYPE=6 SEGINI NOTYPE TYPE(1)='REAL*8' TYPE(2)='REAL*8' TYPE(3)='REAL*8' TYPE(4)='POINTEUREVOLUTIO' TYPE(5)='REAL*8' TYPE(6)='REAL*8' c mistral : ELSEIF (INPLAS.EQ.94) THEN NBTYPE=nmatt SEGINI NOTYPE DO 1311 ITYP=1,NBTYPE TYPE(ITYP)='REAL*8' 1311 CONTINUE c pour le modele mistral il y a 10 composantes non lineaires qui * sont des listes de reels NLDEB=NMATR-9 DO 1313 ITYP=NLDEB,NMATR TYPE(ITYP)='POINTEURLISTREEL' 1313 CONTINUE c mistral. * ELSEIF(INPLAS.EQ.105) THEN NBTYPE = 9 SEGINI NOTYPE DO ITYP = 1,9 TYPE(ITYP) = 'REAL*8' ENDDO TYPE(7)='POINTEUREVOLUTIO' TYPE(8)='POINTEUREVOLUTIO' * * syco1 * ELSEIF(INPLAS.EQ.153) THEN nbtype=8 segini notype do i = 1,8 TYPE(i)='REAL*8' enddo TYPE(3)='POINTEUREVOLUTIO' * * syco2 * ELSEIF(INPLAS.EQ.154) THEN nbtype=10 segini notype do i = 1,10 TYPE(i)='REAL*8' enddo TYPE(3)='POINTEUREVOLUTIO' c c loi de liaison acier-beton (liaison_acbe) c ELSEif(INPLAS.EQ.171) then nbtype=4 segini notype TYPE(1)='REAL*8' TYPE(2)='REAL*8' TYPE(3)='POINTEUREVOLUTIO' TYPE(4)='REAL*8' C C Loi non lineaire externe C ELSEIF (INPLAS.LT.0) THEN NBTYPE=1 SEGINI NOTYPE TYPE(1)='REAL*8' C C Par defaut, toutes les composantes sont de type 'REAL*8' C ELSE NBTYPE=1 SEGINI NOTYPE TYPE(1)='REAL*8' C ENDIF GOTO 120 * 14 continue * * coques minces * IF (MFR.EQ.3.OR.MFR.EQ.9) THEN NBTYPE=1 SEGINI NOTYPE TYPE(1)='REAL*8' ELSEIF (MFR.EQ.5) THEN NBTYPE=1 SEGINI NOTYPE TYPE(1)='REAL*8' * * section pour les barres * ELSE IF (MFR.EQ.27) THEN NBTYPE=1 SEGINI NOTYPE TYPE(1)='REAL*8' * * section, excentrements et orientation pour les barres excentrees * ELSE IF (MFR.EQ.49) THEN NBTYPE=1 SEGINI NOTYPE TYPE(1)='REAL*8' * * raideurs locales pour l'element LIA2 de liaison a 2 noeuds * ELSE IF (MFR.EQ.51) THEN NBTYPE=1 SEGINI NOTYPE TYPE(1)='REAL*8' * ELSE IF (MFR.EQ.7 ) THEN * * cas des poutres en formulation section ou 3D * IF (CMATE.EQ.'SECTION'.OR.IFOUR.EQ.2) THEN NBTYPE=14 SEGINI NOTYPE do ic1 = 1,14 type(ic1) = 'REAL*8' enddo * surcharge composante facultative VECT TYPE(11)='POINTEURPOINT ' * * Cas des poutres 2D * ELSE IF (IFOUR.EQ.-2.OR.IFOUR.EQ.-1.OR.IFOUR.EQ.-3) THEN NBTYPE=1 SEGINI NOTYPE TYPE(1)='REAL*8' ENDIF * * caracteristiques pour les tuyaux * ELSE IF (MFR.EQ.13) THEN NBTYPE=15 SEGINI NOTYPE TYPE(1)='REAL*8' TYPE(2)='REAL*8' TYPE(3)='REAL*8' TYPE(4)='REAL*8' TYPE(5)='REAL*8' TYPE(6)='REAL*8' TYPE(7)='REAL*8' TYPE(8)='REAL*8' TYPE(9)='REAL*8' TYPE(10)='REAL*8' TYPE(11)='REAL*8' TYPE(12)='POINTEURPOINT ' TYPE(13)='REAL*8' TYPE(14)='REAL*8' TYPE(15)='REAL*8' * * caracteristiques pour les linespring * ELSE IF (MFR.EQ.15) THEN * NBTYPE=1 SEGINI NOTYPE TYPE(1)='REAL*8' * * caracteristiques pour les tuyaux fissures * ELSE IF (MFR.EQ.17) THEN NBTYPE=1 SEGINI NOTYPE TYPE(1)='REAL*8' * * caracteristiques des elements homogeneises * ELSE IF (MFR.EQ.37) THEN NBTYPE=1 SEGINI NOTYPE TYPE(1)='REAL*8' ELSE NBTYPE=1 SEGINI NOTYPE TYPE(1)='REAL*8' ENDIF GOTO 120 * 15 NBTYPE=1 SEGINI NOTYPE TYPE(1)='REAL*8' GOTO 120 * 16 NBTYPE=1 SEGINI NOTYPE TYPE(1)='REAL*8' GOTO 120 * 17 continue GOTO 120 * 18 continue GOTO 120 * * variables internes * 20 IF(MFR.EQ.7.AND.CMATE.EQ.'SECTION') THEN NBTYPE=1 SEGINI NOTYPE TYPE(1)='POINTEURMCHAML ' ELSE IF (CMATE.EQ.'MODAL'.OR.CMATE.EQ.'STATIQUE') THEN c MODAL / STATIQUE if (inatuu.eq.3) then NBTYPE = 3 else NBTYPE = 1 endif SEGINI NOTYPE TYPE(1)='REAL*8' if (inatuu.eq.3) then TYPE(2)='REAL*8' TYPE(3)='POINTEURLISTREEL' endif * * cas particulier modele de maxwell * ELSE IF(INPLAS.EQ.74) THEN NBTYPE=10 SEGINI NOTYPE TYPE(1)='REAL*8' DO IC=2,10 TYPE(IC)='POINTEURLISTREEL' END DO * * cas particulier modele maxott * ELSE IF(INPLAS.EQ.106) THEN * *------ cas tridimensionnel massif * IF(IFOUR.EQ.2.AND.MFR.EQ.1) THEN NBTYPE=31 SEGINI NOTYPE DO IC=1,21 TYPE(IC)='REAL*8' END DO DO IC=22,31 TYPE(IC)='POINTEURLISTREEL' END DO * *------ cas defo planes/axisymetrique * ELSE IF(IFOUR.EQ.-1.OR.IFOUR.EQ.-3.OR. & IFOUR.EQ.0.OR.IFOUR.EQ.1) THEN NBTYPE=26 SEGINI NOTYPE DO IC=1,16 TYPE(IC)='REAL*8' END DO DO IC=17,26 TYPE(IC)='POINTEURLISTREEL' END DO * *------ cas cont planes ou tridimensionnel coques * ELSE IF(IFOUR.EQ.-2.OR. & (IFOUR.EQ.2.AND.(MFR.EQ.3.OR.MFR.EQ.9))) THEN NBTYPE=23 SEGINI NOTYPE DO IC=1,13 TYPE(IC)='REAL*8' END DO DO IC=14,23 TYPE(IC)='POINTEURLISTREEL' END DO ENDIF ELSEIF (formod(1).eq.'LIAISON') then NBTYPE = 5 SEGINI NOTYPE TYPE(1)='POINTEURCHPOINT' TYPE(2)='POINTEURTABLE' TYPE(3) ='POINTEURLISTENTI' TYPE(4) ='POINTEURLISTREEL' TYPE(5) ='POINTEURMAILLAGE' ELSE NBTYPE=1 SEGINI NOTYPE TYPE(1)='REAL*8' ENDIF GOTO 120 * 21 NBTYPE=1 SEGINI NOTYPE TYPE(1)='REAL*8' GOTO 120 * 23 NBTYPE=1 SEGINI NOTYPE TYPE(1)='REAL*8' GOTO 120 * 24 NBTYPE=1 SEGINI NOTYPE TYPE(1)='REAL*8' GOTO 120 * 25 NBTYPE=1 SEGINI NOTYPE TYPE(1)='REAL*8' GOTO 120 * 120 CONTINUE MOTYPE=NOTYPE RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales