newbet
C NEWBET SOURCE CHAT 12/04/06 21:15:22 7348 SUBROUTINE NEWBET . ( FC___, EZERO, FLT__, ZETA_, IFLAG, EPSON, . EPSO1, EPMAX, EPLAS, EPS85, SLOPE, TANGE, . STRES, STRE1, TRAFA ) * *--------------------------------------------------------------------- * * CONCRETE BEHAVIOUR MODEL * (WITH TENSION ALLOWED AND COMPRESSION PLATEAU AFTER SOFTENING) * *--------------------------------------------------------------------- * * INPUT : * ----- * FC___ : MAXIMUM COMPRESSION STRESS * EZERO : STRAIN OF THE MAXIMUM COMPRESSION STRESS * FLT__ : MAXIMUM TENSION STRESS * ZETA_ : SLOPE OF THE DESCENDING PART OF THE CURVE * IFLAG : FLAG DEFINING THE CONCRETE STAGE * EPSON : ACTUAL STRAIN VALUE * EPSO1 : LAST STRAIN VALUE * EPMAX : GRATEST COMPRES. STRAIN VALUE EVER REACHED * EPLAS : PLASTIC STRAIN * EPS85 : PLATEAU STRAIN AFTER SOFTENING * STRE1 : LAST STRESS VALUE * TRAFA : DESCENDING PART OF THE TRACTION CURVE FACTOR * * OUTPUT : * ------ * SLOPE : TANGENT MODULUS OF THE UNLOADING CURVE * TANGE : ACTUAL TANGENT MODULUS * STRES : ACTUAL STRESS VALUE * * NOTE : POSITIVE STRESSES = TENSION STRESSES * NEGATIVE STRESSES = COMPRESSION STRESSES * * POSITIVE STRAIN = TENSION STRAIN * NEGATIVE STRAIN = COMPRESSION STRAIN * *--------------------------------------------------------------------- * * DIFERENT POSSIBLE STAGES OF THE CONCRETE * * *********************************************************** * IFLAG = 1 .... CONCRETE IS CRUSHED * IFLAG = 2 .... LOADING ON THE ENVELOPE CURVE * IFLAG = 3 .... LOADING OR UNLOADING IN TENSION * IFLAG = 4 .... LOADING OR UNLOADING IN COMPRESSION UNDER * THE ENVELOPE CURVE * IFLAG = 5 .... MAXIMUM TENSION STRESS ALREADY REACHED * IFLAG = 6 .... ZERO STRESS PATH AFTER CRACKING * * NOTE : ONCE REACHED THE TENSION ENVELOPE CURVE, NO MORE * TENSION STRESSES ARE ALLOWED IN THE MODEL AFTER * THE TOTAL DISCHARGE. * THIS SITUATION IS DETECTED BY THE NEGATIVE SIGN * OF THE "IFLAG" POINTER. * *--------------------------------------------------------------------- * Joao Guedes (ISPRA) Juillet/Decembre 1993 *--------------------------------------------------------------------- * C IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) C IF (IFLAG .EQ. 0) THEN IFLAG = 2 IF (FLT__ .LE. 0.0d0) IFLAG = -2 ENDIF C IF (IFLAG .GT. 0) THEN C------------------------------------------------------------- C TENSION PARAMETERS C------------------------------------------------------------- SLOPI = 2.0D0*FC___/EZERO ET___ = FLT__/SLOPI/EZERO ENDIF C IF (EPSON .GT. EPLAS) THEN C------------------------------------------------------------- C LOADING OR UNLOADING IN TENSION C (LINEAR BEHAVIOUR WITH RIGITY DEGRADATION) C------------------------------------------------------------- IF (EPLAS .GT. -1.0D0 .AND. IFLAG .GT. 0) THEN IF (EPSON .LT. (EPLAS+ET___)) THEN C------------------------------------------------------------- C ASCENDING PART OF THE CURVE C------------------------------------------------------------- STRES = (1.0D0+EPLAS)*SLOPI/ . FC___*(EPSON-EPLAS)*EZERO TANGE = (1.0D0+EPLAS)*SLOPI IF (IFLAG .NE. 5) IFLAG = 3 ELSE IF (EPSON .LT. (EPLAS+TRAFA*ET___)) THEN C------------------------------------------------------------- C DESCENDING PART OF THE CURVE C------------------------------------------------------------- STRES = (1.0D0+EPLAS)*SLOPI/ . FC___*ET___*EZERO + . (1.0D0+EPLAS)*SLOPI/(1.0D0-TRAFA)/ . FC___*(EPSON-EPLAS-ET___)*EZERO TANGE = (1.0D0+EPLAS)*SLOPI/(1.0D0-TRAFA) C IFLAG = 5 ELSE C------------------------------------------------------------- C CALCULUS OF THE CORRECTED "SLOPE" VALUE C------------------------------------------------------------- EPLAS = EPLAS+ET___ IF (EPMAX .GE. -1.0D0) THEN C------------------------------------------------------------- C ASCENDING COMPRESSION CURVE C------------------------------------------------------------- STRES = EPMAX*(2.0D0+EPMAX) ELSE C------------------------------------------------------------- C DESCENDING COMPRESSION CURVE C------------------------------------------------------------- STRES = -1.0D0-ZETA_*EZERO*(EPMAX+1.0D0) ENDIF SLOPE = STRES/(EPMAX-EPLAS)*FC___/EZERO GOTO 1000 ENDIF IF (EPSO1 .GT. EPLAS .AND. IFLAG .EQ. 5) THEN STRE2 = (EPSON-EPLAS)/(EPSO1-EPLAS) * STRE1 IF (STRE2 .LT. STRES) THEN STRES = STRE2 TANGE = STRE1/(EPSO1-EPLAS)*FC___/EZERO ENDIF ENDIF C GOTO 2000 ENDIF C------------------------------------------------------------- C THE CONCRETE HAS NO TENSILE STRENGTH LEFT C------------------------------------------------------------- 1000 STRES = 0.0D0 TANGE = 0.0D0 IFLAG = -6 GO TO 2000 ENDIF C IF (EPSON .LT. EPLAS .AND. IFLAG .EQ. 5) IFLAG = -5 C------------------------------------------------------------- C LOADING OR UNLOADING IN COMPRESSION C------------------------------------------------------------- IF (EPSON .LE. EPSO1) THEN IF (EPSON .LT. EPMAX) THEN C------------------------------------------------------------- C LOADING ON THE ENVELOPE C------------------------------------------------------------- IFLAG = IFLAG/IABS(IFLAG)*2 GO TO 100 ELSE C------------------------------------------------------------- C LOADING UNDER THE ENVELOPE C------------------------------------------------------------- IFLAG = IFLAG/IABS(IFLAG)*4 GO TO 200 ENDIF ELSE C------------------------------------------------------------- C UNLOADING COMPRESSION C------------------------------------------------------------- IFLAG = IFLAG/IABS(IFLAG)*4 GO TO 200 ENDIF C C C #################################################### C C ...... LOADING IN COMPRESSION ON ENVELOPE ...... C C #################################################### C 100 EPMAX = EPSON C IF (EPMAX .GE. -1.0D0) THEN C------------------------------------------------------------- C ASCENDING PART OF THE ENVELOPE C------------------------------------------------------------- STRES = EPMAX*(2.0D0+EPMAX) TANGE = 2.0D0*(FC___/EZERO)*(1.0D0+EPMAX) ELSE IF (EPMAX .LE. EPS85) THEN C------------------------------------------------------------- C PLATEAU IN COMPRESSION C------------------------------------------------------------- STRES = -1.0D0-ZETA_*EZERO*(EPS85+1.0D0) TANGE = 0.0D0 ELSE C------------------------------------------------------------- C DESCENDING PART OF THE ENVELOPE C------------------------------------------------------------- STRES = -1.0D0-ZETA_*EZERO*(EPMAX+1.0D0) TANGE = -ZETA_*FC___ ENDIF C------------------------------------------------------------- C UNLOADING TANGENT MODULUS C------------------------------------------------------------- SLOPI = 2.0D0*FC___/EZERO SLOPE = SLOPI*(1.0D0-EPMAX**2/(1.0D0-EPMAX+EPMAX**2)) C------------------------------------------------------------- C PLASTIC STRAIN C------------------------------------------------------------- EPLAS = EPMAX-FC___*STRES/(SLOPE*EZERO) IF (EPLAS .GT. 0.0D0) THEN EPLAS = 0.0D0 SLOPE = STRES/EPMAX*FC___/EZERO ENDIF C GO TO 2000 C C ######################################################### C C ...... UNLOADING OR LOADING UNDER THE ENVELOPE ...... C C ######################################################### C 200 STRES = SLOPE*(EPSON-EPLAS)*EZERO/FC___ TANGE = SLOPE C 2000 CONTINUE C RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales