1 : C DECHIN SOURCE CHAT 05/01/12 22:39:09 5004 2 : C DECHIN SOURCE INSL 24/10/96 3 : SUBROUTINE DECHIN(SIGRX,EPSRX,ETS,EDC,EPST,IFISU,JFISU,RTM, 4 : 1 EPSC,DEFR,TANG,IPLA,EQSTR,EPSEQ,EX,RB,ALPHA,EPO1,EMAX,ICAL, 5 : 2 IBB1,IGAU1,IDIR) 6 : C 7 : IMPLICIT INTEGER(I-N) 8 : IMPLICIT REAL*8(A-H,O-Z) 9 : C 10 : C CE SOUS-PROGRAMME CALCULE LA CONTRAINTE REELLE S1X ET INITIALISE 11 : C LES VARIABLES INTERNES LORSQU'IL Y A DECHARGE A PARTIR D'UN 12 : C POINT INTEGRE. ON SE BRANCHE ALORS SUR LA COURBE 1-D CORRESPONDANT 13 : C A ICU=3 (PARABOLE-SOFTENING LINEAIRE) 14 : C 15 : C PF : POINT FOCAL 16 : C EPST : DEFORMATION EN COMPRESSION CORRESPONDANT A -RBT 17 : C APRES DECHARGE 18 : C EPSC : DEFORMATION EN COMPRESSION A L'INSTANT DE LA DECHARGE 19 : C RTMC : RESISTANCE EN TRACTION MODIFIEE si decharge en compression 20 : C RTM : RESISTANCE EN TRACTION ACTUELLE 21 : C EDC : PENTE DECHARGE EN COMPRESSION 22 : C DEFR : DEFORMATION RESIDUELLE APRES DECHARGE EN COMPRESSION 23 : C ETS : PENTE EN TENSION-SOFTENING 24 : C TANG : PENTE ACTUELLE 25 : C IPLA : INDICATEUR DE PLASTICITE/ =0 comportement pre-pic en compression 26 : C =2 softening en compression 27 : C =4 rupture en compression (epsi>emax) 28 : C 29 : C------------------------------------------------------------------ 30 : ZERO=0.D0 31 : UN=1.D0 32 : RBT=ALPHA*RB 33 : PF=RB/EX 34 : EPOC=-1.D0*EPO1 35 : IF(EPSRX.LT.(-1.D0*EMAX)) THEN 36 : C 37 : C ON SUPPOSE QUE LE POINT EST ROMPU EN COMPRESSION 38 : C 39 : IPLA=4 40 : SIGRX =ZERO 41 : RTM =ZERO 42 : TANG=ZERO 43 : ETS =ZERO 44 : EQSTR=ZERO 45 : RETURN 46 : ENDIF 47 : C 48 : IF(EPSRX .LE. EPOC) THEN 49 : C********************************************************************** 50 : C POINT EN REGIME POST-PIC (COMPRESSION) 51 : C********************************************************************** 52 : IPLA=2 53 : AA=-1.D0*RB/(EMAX-EPO1) 54 : BB=AA*EMAX 55 : DELTA=SIGRX-(AA*EPSRX+BB) 56 : IF(DELTA .GT. ZERO) THEN 57 : C 58 : C POINT EN DECHARGE A PARTIR DE LA COURBE DE COMPRESSION 59 : C 59 : CALL PARDEC(EPSRX,SIGRX,EPSC,EQSTR,EDC,IPLA,DEFR,RB,ALPHA,EPO1, 60 : & EX,EMAX,ICAL) 61 : EPSEQ=DABS(EPSC) 62 : GOTO 100 63 : ELSE 64 : C 65 : C POINT EN CHARGE (SOFTENING) 66 : C COURBE DE COMPRESSION TRANSLATEE 67 : C 68 : SEQ=DABS(SIGRX) 69 : IPLA=2 69 : CALL EPSEQU(EPEQTR,SEQ,IPLA,ICAL,1,EX,RB,EPO1,EPO1,EMAX) 70 : SIGRX=-1.D0*SEQ 71 : EPSRX=-1.D0*EPEQTR 72 : EQSTR=SEQ 73 : EPSEQ=EPEQTR 74 : ENDIF 75 : RETURN 76 : ENDIF 77 : C********************************************************************** 78 : C POINT EN REGIME PRE-PIC (COMPRESSION) 79 : C*********************************************************************** 80 : DELTA=1.D0 81 : DEFRLI = EPSRX-SIGRX/EX 82 : IF(DABS(DEFRLI).LE.1.D-9) DEFRLI=0.D0 83 : IF(EPSRX.LE.ZERO) THEN 84 : EPEQ=DABS(EPSRX) 84 : CALL CDCY(EPEQ,SEQ2,IPL,TAN,EX,RB,EMAX,EPO1,ICAL) 85 : DELTA=-1.D0*SEQ2-SIGRX 86 : ENDIF 87 : IF(DELTA.LT.ZERO.OR.(DEFRLI.LT.ZERO.AND.EPSRX.GE.ZERO)) THEN 88 : C 89 : C POINT EN DECHARGE A PARTIR DE LA COURBE DE COMPRESSION 90 : C 90 : CALL PARDEC(EPSRX,SIGRX,EPSC,EQSTR,EDC,IPLA,DEFR,RB,ALPHA,EPO1, 91 : & EX,EMAX,ICAL) 92 : EPSEQ=DABS(EPSC) 93 : GOTO 100 94 : ENDIF 95 : C-------------------------------------------------------------- 96 : C POINT CONSIDERE INITIALLEMENT TENDU 97 : C-------------------------------------------------------------- 98 : EPSF0=RTM/EX 99 : IF(EPSRX.GE.ZERO .AND. SIGRX.GE.ZERO) THEN 100 : IF(SIGRX.GE.RTM) THEN 101 : SIGRX=RTM 102 : IFISU=1 103 : JFISU=1 104 : ENDIF 105 : IF(EPSRX.GE.EPSF0) THEN 106 : EPSRX=EPSF0+(RTM-SIGRX)/ETS 107 : IFISU=1 108 : JFISU=1 109 : ELSE 110 : EPSRX=SIGRX/EX 111 : ENDIF 112 : RETURN 113 : ENDIF 114 : C============================================================== 115 : C POINT INITIALLEMENT COMPRIME 116 : C COURBE DE COMPRESSION TRANSLATEE 117 : C 118 : SEQ=DABS(SIGRX) 119 : IPLA=0 119 : CALL EPSEQU(EPEQTR,SEQ,IPLA,ICAL,1,EX,RB,EPO1,EPO1,EMAX) 120 : SIGRX=-1.D0*SEQ 121 : EPSRX=-1.D0*EPEQTR 122 : EQSTR=SEQ 123 : EPSEQ=EPEQTR 124 : RETURN 125 : C============================================================== 126 : 100 CONTINUE 127 : C 128 : C RESISTANCE EN TRACTION MODIFIEE 129 : C 130 : EPOC=-1.D0*EPO1 131 : IF(DABS(DEFR).LT.1.D-10) DEFR=0.D0 132 : IF(DEFR.LT.EPOC) THEN 133 : RTMC=0.D0 134 : ELSE 135 : AS2 = RBT/(EPO1+RBT/EX) 136 : IF(DABS(EDC-AS2).GT.1.D-5) THEN 137 : EPS1 = (EDC*DEFR-AS2*EPOC)/(EDC-AS2) 138 : RTMC = EDC*(EPS1-DEFR) 139 : ELSE 140 : RTMC = 0.D0 141 : ENDIF 142 : C 143 : IF(RTMC.GT.RBT.AND.RTMC.LT.(1.00001D0*RBT)) RTMC = RBT 144 : IF(RTMC.GT.RBT.OR.RTMC.LT.0.D0) THEN 145 : WRITE(*,94) IBB1,IGAU1,IDIR 146 : WRITE(*,*) 'RTMC = ',RTMC, 'RBT = ',RBT 147 : WRITE(*,*) 'DEFR = ',DEFR,'EPO1 = ',EPO1 148 : WRITE(*,*) 'EPSRX= ',EPSRX,' SIGRX= ',SIGRX 149 : WRITE(*,*) 'EDC = ',EDC,' AS2 = ',AS2,' EPS1 = ',EPS1 150 : WRITE(*,*) 'ARRET ---> RTMC ?? !!! (SUBR DECHINT2) ' 151 : RTMC=RBT 152 : STOP 153 : ENDIF 154 : ENDIF 155 : IF(RTMC .LT. ZERO) RTMC=ZERO 156 : IF(RTMC.LT.RTM) RTM=RTMC 157 : C 158 : C CALCUL DE LA DEFORMATION CORRESPONDANT A -RBT 159 : C 160 : IF(DABS(EDC).LT.1.D-5) EDC=EX 161 : EPST=DEFR-RBT/EDC 162 : C 163 : IF(EDC.LT.0.D0) THEN 164 : WRITE(*,94) IBB1,IGAU1,IDIR 165 : WRITE(*,*) 'RTMC = ',RTMC, 'RBT = ',RBT 166 : WRITE(*,*) 'DEFR = ',DEFR,'EPO1 = ',EPO1 167 : WRITE(*,*) 'EPSRX= ',EPSRX,' SIGRX= ',SIGRX 168 : WRITE(*,*) 'EDC = ',EDC,' AS2 = ',AS2,' EPS1 = ',EPS1 169 : WRITE(*,*) 'ARRET ---> EDC<0 ?? !!! (SUBR DECHINT2) ' 170 : STOP 171 : ENDIF 172 : C 173 : C Dans le cas ou la decharge s'effectue dans la branche descendante 174 : C en-dessous du niveau |RBT| on m‚morise EPSC 175 : C 176 : IF(IPLA .EQ. 2 .AND. EQSTR .LE. RBT) EPST=EPSC 177 : C 178 : 94 FORMAT(' ELEME=',I3,'POINT=',I2,' IDIR=',I2) 179 : RETURN 180 : END 181 : 182 :
© Cast3M 2003 - All rights reserved.
Disclaimer