newbe2
C NEWBE2 SOURCE PV 14/03/18 21:15:01 8001 C NEWBE2 SOURCE AM 94/02/28 21:33:04 SUBROUTINE NEWBE2 . ( FC___, EZERO, EPS85, ZETA_, FLT__, FTPL_, . TRAFA, EPSON, EPSO1, EPMAX, EPMIN, STRES, . STRE1, STMIN, TANGE, TANGD, FACT1, FACT2, . FACX2, FACLO, EPLA1, ET___ ) * *--------------------------------------------------------------------- * * CONCRETE BEHAVIOUR MODEL - THE BEST !!! * ------------ * (WITH TENSION ALLOWED AND COMPRESSION PLATEAU AFTER SOFTENING) ***** CLEANED ***** * (CRACK CLOSING MODEL CONSIDERED) 22/08/94 * (LINEAR BEHAVIOUR CURVE FOR SOFTENING IN TENSION) * *--------------------------------------------------------------------- * * INPUT : * ----- * FC___ : MAXIMUM COMPRESSION STRESS * EZERO : STRAIN OF THE MAXIMUM COMPRESSION STRESS * FLT__ : MAXIMUM TENSILE STRESS * ZETA_ : SLOPE OF THE DESCENDING PART OF THE CURVE * EPSON : ACTUAL STRAIN VALUE * EPSO1 : LAST STRAIN VALUE * EPMAX : GRATEST COMPRES. STRAIN VALUE EVER REACHED *-JP- * EPS85 : PLATEAU STRAIN AFTER SOFTENING *-JP- *-JP2- * STRE1 : LAST STRESS VALUE * TRAFA : DESCENDING PART OF THE TRACTION CURVE FACTOR *-JP2- * * OUTPUT : * ------ * EPMIN : GRATEST TENSILE STRAIN VALUE EVER REACHED * TANGE : ACTUAL TANGENT MODULUS * STRES : ACTUAL STRESS VALUE * * NOTE : POSITIVE STRESSES = TENSILE STRESSES * NEGATIVE STRESSES = COMPRESSION STRESSES * * POSITIVE STRAIN = TENSILE STRAIN * NEGATIVE STRAIN = COMPRESSION STRAIN * *--------------------------------------------------------------------- C IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) -INC CCREEL C C**************----------------------------------------------- C SLOPI -> ELASTIC YOUNG MODULUS C ET___ -> STRAIN AT THE PICK C**************----------------------------------------------- SLOPI = 2.D0*FC___/EZERO C EPTRA = ET___/EZERO STRET = FLT__/FC___ STREL = FTPL_/FC___ C SCALE = EZERO/FC___ C IF (EPMAX .GE. 0.D0 .AND. EPMIN .LE. 0.D0) THEN EPMIN = EPTRA STMIN = STRET ENDIF C**************----------------------------------------------- C SLOPE -> DISCHARGE YOUNG MODULUS C STMAX -> LAST COMPRESSION STRESS ON THE ENVELOPE C EPLA1 -> PLASTIC STRAIN FOR THE FIRST DISCHARGE C**************----------------------------------------------- SLOPE = SLOPI*(1.D0-EPMAX**2/(1.D0-EPMAX+EPMAX**2))*SCALE C IF (EPMAX .GE. -1.D0) THEN STMAX = EPMAX*(2.D0+EPMAX) STRX2 = 0.92D0*STMAX ELSE IF (EPMAX .LE. EPS85) THEN STMAX = -1.D0-ZETA_*EZERO*(EPS85+1.D0) STRX2 = STMAX+0.08D0 ELSE STMAX = -1.D0-ZETA_*EZERO*(EPMAX+1.D0) STRX2 = STMAX+0.08D0 ENDIF C IF (FACX2 .GT. 0.D0) STRX2 = STMAX/FACX2 EPLA1 = EPMAX-STMAX/SLOPE C IF (STRX2 .GT. 0.D0) STRX2 = 0.D0 EPSX2 = EPMAX-(STMAX-STRX2)/SLOPE C TANGD = SLOPE C IF (EPSON .LE. EPMAX) THEN GOTO 100 ELSEIF (EPSON .GE. EPMIN) THEN IF (STMIN .GT. 1.D0) GOTO 300 C GOTO 200 ELSE GOTO 300 ENDIF C C ####################################################### C C ...... LOADING IN COMPRESSION ALONG THE ENVELOPE ...... C C ####################################################### C 100 EPMAX = EPSON C IF (EPMAX .GE. -1.D0) THEN C**************----------------------------------------------- C ASCENDING CURVE C**************----------------------------------------------- STRES = EPMAX*(2.D0+EPMAX) TANGE = 2.D0*(FC___/EZERO)*(1.D0+EPMAX) C STRX3 = 0.92D0*STRES ELSE IF (EPMAX .LE. EPS85) THEN C**************----------------------------------------------- C PLATEAU IN COMPRESSION C**************----------------------------------------------- STRES = -1.D0-ZETA_*EZERO*(EPS85+1.D0) TANGE = 0.D0 C STRX3 = STRES+0.08D0 ELSE C**************----------------------------------------------- C DESCENDING CURVE C**************----------------------------------------------- STRES = -1.D0-ZETA_*EZERO*(EPMAX+1.D0) TANGE = -ZETA_*FC___ C STRX3 = STRES+0.08D0 ENDIF C STMAX = STRES IF (FACX2 .GT. 0.D0) STRX3 = STMAX/FACX2 C SLOPE = SLOPI*(1.D0-EPMAX**2/(1.D0-EPMAX+EPMAX**2))*SCALE EPLA2 = EPMAX-STMAX/SLOPE C IF (STMIN .GT. 0.D0) THEN C**************----------------------------------------------- C DAMAGE IN TENSION C**************----------------------------------------------- IF (EPLA2 .GT. -1.D0) THEN STMI1 = (1.D0+EPLA2)/(1.D0+EPLA1)*STMIN ELSE STMI1 = 0.D0 ENDIF C IF (STRX3 .GT. 0.D0) STRX2 = 0.D0 EPSX3 = EPMAX-(STMAX-STRX3)/SLOPE C EPMI1 = STMI1/STMIN*(EPMIN-EPLA1)+EPLA2 EPMIN = (STMI1-STRX3)/(STMIN-STRX2)*(EPMIN-EPSX2)+EPSX3 C IF (EPMI1 .LT. EPMIN) EPMIN = EPMI1 C STMIN = STMI1 C SLOPX = STMIN/(EPMIN-EPLA2) IF (SLOPX .GT. SLOPE) EPMIN = STMIN/SLOPE+EPLA2 ELSE EPMIN = EPLA2 ENDIF C GO TO 2000 C C ####################################################### C C ........ LOADING IN TENSION ALONG THE ENVELOPE ........ C C ####################################################### C 200 TANGE = SLOPI/(1.D0-TRAFA) STRES = (TANGE*SCALE)*(EPSON-EPMIN)+STMIN C IF (EPLA1 .LE. -1.D0) THEN C**************----------------------------------------------- C NO MORE TENSILE FORCES ALLOWED C**************----------------------------------------------- STRES = 0.D0 TANGE = 0.D0 ELSEIF (STRES .LT. STREL) THEN C**************----------------------------------------------- C PLATEAU FOR TENSILE FORCES C**************----------------------------------------------- IF (STMIN .LT. STREL) THEN STRES = STMIN ELSE STRES = STREL ENDIF C TANGE = 0.D0 ENDIF C STMIN = STRES EPMIN = EPSON C GOTO 2000 C C ####################################################### C C ....... LOADING OR UNLOADING UNDER THE ENVELOPE ....... C C ####################################################### C 300 RFACT = 0.1D0+0.9D0/(1.D0+(EPMIN-EPLA1)) IF (FACLO .GT. 0.D0) RFACT = FACLO C-JP- IF (STMIN .GT. 1.D0) THEN STRES = SLOPE*(EPSON-EPSO1)+STRE1 TANGE = SLOPE/SCALE C-JP- IF ((STRET .LT. 1.D0) .AND. (STRES .GT. 0.D0)) THEN C-JP- EPMIN = EPTRA C-JP- STMIN = SLOPE*(EPMIN-EPSO1)+STRE1 STMIN = STRET EPMIN = (STMIN-STRE1)/SLOPE+EPSO1 C IF (EPSON .LT. EPMIN) THEN EPMIN = EPSON STMIN = SLOPE*(EPMIN-EPSO1)+STRE1 ENDIF C GOTO 200 ENDIF C-JP- GOTO 2000 ENDIF C-JP- IF (EPSON .LE. EPSX2) THEN STRES = SLOPE*(EPSON-EPSX2)+STRX2 TANGE = SLOPE/SCALE C GOTO 2000 ELSEIF (EPSON .GT. EPSO1) THEN RFACT = RFACT/2.D0 ENDIF C IF (STMIN .LE. 0.D0) THEN EPMI1 = EPLA1+RFACT*(EPMIN-EPLA1) ELSE EPMI1 = EPMIN ENDIF C STRES = TANGD*(EPSON-EPSO1)+STRE1 TANGE = TANGD/SCALE C IF (EPSON .GT. EPMI1) THEN IF (EPSON .GT. EPSO1) THEN IF (STRES .GT. STMIN) THEN IF (STMIN .GT. 0.D0) THEN EPMIN = (STMIN-STRE1)/TANGD+EPSO1 C GOTO 200 ELSE STRES = 0.D0 TANGE = 0.D0 ENDIF ENDIF ELSE STRES = 0.D0 TANGE = 0.D0 ENDIF C GOTO 2000 ENDIF C**************----------------------------------------------- C TANGENT MODULUS AT "EPSON=EPMI1" EQUAL TO "SLOP2" C WHEN "FACT1 -> +00", "SLOP2 -> 0" C WHEN "FACT1 -> 1+", THE CURVED LINE BECOMES C A STRAIGHT LINE C TANGENT MODULUS AT "EPSON=EPSX2" EQUAL TO "SLOP3" C WHEN "FACT2 -> +00", "SLOP2 -> SLOPE" C WHEN "FACT2 -> 1+", THE CURVED LINE BECOMES C A STRAIGHT LINE C NOTE: "FACT1" AND "FACT2" MUST BE ALWAYS ">1" C**************----------------------------------------------- C TANGENT MODULUS FOR THE CHARGE CURVE: C SLOP2 -> AT THE POINT EPSON = EPMI1 C SLOP3 -> AT THE POINT EPSON = EPSX2 C**************----------------------------------------------- SLOP1 = (STRX2-STMIN)/(EPSX2-EPMI1) C IF (EPMI1 .GT. EPLA1) THEN SLOP2 = STMIN/(0.90D0*(EPMI1-EPLA1)) ELSE SLOP2 = SLOPE ENDIF C SLOP3 = -1.D0*STRX2/(0.10D0*(EPMI1-EPLA1)+(EPLA1-EPSX2)) C SLOP4 = STRX2/FACT1/(EPSX2-EPMI1) SLOP5 = STRX2*FACT2/(EPSX2-EPMI1) C IF (SLOP2 .LT. SLOP4) SLOP2 = SLOP4 IF (SLOP3 .GT. SLOP5) SLOP3 = SLOP5 C IF (SLOP2 .GE. SLOP1*(1.d0 - xzprec)) THEN STRES = SLOP1*(EPSON-EPSO1)+STRE1 TANGE = SLOP1/SCALE C GOTO 2000 ENDIF C STRX4 = (STRX2-STMIN)-SLOP2*(EPSX2-EPMI1) C FACTT = (SLOP3-SLOP2)*(EPSX2-EPMI1)/STRX4 STREE = STRX4*(((EPSON-EPMI1)/(EPSX2-EPMI1))**FACTT)+ . SLOP2*(EPSON-EPMI1)+STMIN TANGG = (SLOP3-SLOP2)*(((EPSON-EPMI1)/ . (EPSX2-EPMI1))**(FACTT-1.D0))+SLOP2 C C**************----------------------------------------------- C CHECK THE ACTIVE CURVE C**************----------------------------------------------- IF (EPSON .GT. EPSO1) THEN IF (STREE .LT. STRES) THEN C**************----------------------------------------------- C PARABOLIC CURVE C**************----------------------------------------------- STRES = STREE TANGE = TANGG/SCALE ENDIF ELSE IF (STREE .GT. STRES) THEN C**************----------------------------------------------- C PARABOLIC CURVE C**************----------------------------------------------- STRES = STREE TANGE = TANGG/SCALE ENDIF ENDIF C 2000 RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales