Abaqus混凝土徐变收缩子程序2.1
经经经经经经经经经经经经经经经经经经经经一的完善后,子程序的算果跟一般程序的算果吻合得步
比好。目前在三体元中用效果良好。注意:外部经经经经经经经经经经经经经经经经经经经经经经经经
数据文件的数据由其它合件得。经经经经经经经
SUBROUTINE USDFLD(FIELD,STATEV,PNEWDT,DIRECT,T,CELENT,
1 TIME,DTIME,CMNAME,ORNAME,NFIELD,NSTATV,NOEL,NPT,LAYER,
2 KSPT,KSTEP,KINC,NDI,NSHR,COORD,JMAC,JMATYP,MATLAYO,
3 LACCFLA) C
INCLUDE 'ABA_PARAM.INC' C
CHARACTER*80 CMNAME,ORNAME
CHARACTER*3 FLGRAY(15)
DIMENSION FIELD(NFIELD),STATEV(NSTATV),DIRECT(3,3),
1 T(3,3),TIME(2)
DIMENSION ARRAY(15),JARRAY(15),JMAC(*),JMATYP(*),
1 COORD(*)
C
C Reading instantaneous thermal strain in direction 11(x axial)C Storing the thermal strain in state variable
C
CALL GETVRM('THE',ARRAY,JARRAY,FLGRAY,JRCD,JMAC,JMATYP,
1 MATLAYO,LACCFLA)
STATEV(1)= ARRAY(1)
C
C Reading instantaneous elastic x axial strain
C Storing the thermal strain in state variable
C NOTE: ARRAY(1)--X AXIAL
C ARRAY(2)--Y AXIAL
C ARRAY(3)--Z AXIAL
C
CALL GETVRM('EE',ARRAY,JARRAY,FLGRAY,JRCD,JMAC,JMATYP,
1 MATLAYO,LACCFLA)
STATEV(2)= ARRAY(1)
C
CALL GETVRM('SDV',ARRAY,JARRAY,FLGRAY,JRCD,JMAC,JMATYP,
1 MATLAYO,LACCFLA)
STATEV(3)= ARRAY(3)
STATEV(4)= ARRAY(4)
C
C Modifying Field variables to model development of Young’s C modulus with age.
C
IF(TIME(2).GT.1) THEN
FIELD(1)=TIME(2)
ELSE
FIELD(1)=0
END IF
RETURN
END
C
C
SUBROUTINE UEXTERNALDB(LOP,LRESTART,TIME,DTIME,KSTEP,KINC)C
INCLUDE 'ABA_PARAM.INC'
C
DIMENSION TIME(2)
CHARACTER*80 TITLE
C
COMMON/MYGIRD/GIRD_INI(4,10),GIRD_LAMDA(4)
COMMON/MYSLAB/SLAB_INI(4,10),SLAB_LAMDA(4) C
C Abaqus uses the FORTRAN unit numbers outlined in the table below. Unless noted
otherwise,
C you should not try to write to these FORTRAN units from user subroutines.
C For Abaqus/Standard, you should specify unit numbers 15–18 or unit numbers
greater than 100
C
C Read the creep coefficients from external dababase at the beginning of computing.
C
IF(LOP.EQ.0) THEN
OPEN(106,STATUS='OLD',FILE='D:\ABAQUSWORK\creep.in')
READ(106, *)TITLE
READ(106, *)(GIRD_LAMDA(I),I=1,4)
DO J=1,10
READ(106, *)(GIRD_INI(I,J),I=1,4)
END DO
C
READ(106, *)TITLE
READ(106, *)(SLAB_LAMDA(I),I=1,4)
DO J=1,10
READ(106, *)(SLAB_INI(I,J),I=1,4)
END DO
CLOSE(106)
C
c OPEN(107,FILE='D:\ABAQUSWORK\CREEP.OUP')c Write(107, 100)(SLAB_LAMDA(I),I=1,4)c DO J=1,10
c write(107, 100)(SLAB_INI(I,J),I=1,4)c END DO
c CLOSE(107)
c100 FORMAT(1X,4E16.7)
END IF
RETURN
END
C
SUBROUTINE UEXPAN(EXPAN,DEXPANDT,TEMP,TIME,DTIME,PREDEF,
1 DPRED,STATEV,CMNAME,NSTATV,NOEL)
C
INCLUDE 'ABA_PARAM.INC'
C
CHARACTER*80 CMNAME
C
DIMENSION EXPAN(*),DEXPANDT(*),TEMP(2),TIME(2),PREDEF(*),
1 DPRED(*),STATEV(NSTATV),ARRAY(15)
REAL CINI(4,10),T0(10),CLAMDA(4),AN(4)
REAL CLOAD(4),EMOD(10)
c
COMMON/MYGIRD/GIRD_INI(4,10),GIRD_LAMDA(4)
COMMON/MYSLAB/SLAB_INI(4,10),SLAB_LAMDA(4)C
C SWITCH, II=1, CREEP; II=2, SHRINKAGE, II=3, CREEP+SHRANKAGE
C
KK=3
TGSH=7.0
TDSH=41.0
C
C===================== INTIAL VALUES =========================C ******* FOR CREEP (USING 1STOPT) *********
C
C INITIAL FUNCTION IS Y=1.9*T0^(-0.118)*(T-T0)/(61-0.51*FC+T-T0)C
C EQUIVALENT FUNCTION (SOFTWARE OF 1STOPT) IS
C Y=C1*(1-EXP(-LAMDA1*(X-T)))+C2*(1-EXP(-LAMDA2*(X-T)))+C C3*(1-EXP(-LAMDA3*(X-T)))+C4*(1-EXP(-LAMDA4*(X-T))); C
C WHERE T IS THE CALCULATING TIME, T0 IS THE LOADING TIMEC THE FACTORS ARE LISTED AS FOLLOWING
C NOTE: FOR THE CREEP COMPLIANCE IS RELATIVE TO MODULUS OF ELASTIC, ALL THE
C COEFFICIENT OF KABIR WILL BE DIFFERENT ACCORDING TO VARYING MODULUS.
C LOADING TIME ARE 7,14,28,60,90,180,365,600,1000,3000(DAYS)C ------------------------------------------------------------------------------
C | A | 7 | 14 | 28 | 60 | 90 | 180 | 365 | 600 | 1000 | 3000 |C | C1 |C(1,1)|C(1,2)|C(1,3)|C(1,4)|C(1,5)|C(1,6)|C(1,7)|C(1,8)|C(1,9)|C(1,10)|
C | C2 |C(2,1)|C(2,2)|C(2,3)|C(2,4)|C(2,5)|C(2,6)|C(2,7)|C(2,8)|C(2,0)|C(2,10)|
C | C3 |C(3,1)|C(3,2)|C(3,3)|C(3,4)|C(3,5)|C(3,6)|C(3,7)|C(3,8)|C(3,9)|C(3,10)|
C | C4 |C(4,1)|C(4,2)|C(4,3)|C(4,4)|C(4,5)|C(4,6)|C(4,7)|C(4,8)|C(4,9)|C(4,10)|
C -----------------------------------------------------------------------------
C CREEP ONLY FOR CONCRETE MATERIAL
C
C LOADING AGE(DAYS)
T0=(/7,14,28,60,90,180,365,600,1000,3000/)
C
IF(CMNAME.EQ."MAT-GIRDER") THEN
DO I=1,4
CLAMDA(I)=GIRD_LAMDA(I)
END DO
C
DO J=1,10
DO I=1,4
CINI(I,J)=GIRD_INI(I,J)
END DO
END DO C MODULUS OF ELASTIC AT T0'S AGE
EMOD=(/25463, 28486, 30467, 31708, 32099,
* 32506, 32717, 32799, 32851, 32902/)
END IF
C
IF(CMNAME.EQ."MAT-SLAB") THEN
DO I=1,4
CLAMDA(I)=SLAB_LAMDA(I)
END DO
C
DO J=1,10
DO I=1,4
CINI(I,J)=SLAB_INI(I,J)
END DO
END DO
C MODULUS OF ELASTIC AT T0'S AGE
EMOD=(/23818, 26647, 28499, 29660, 30026,
* 30406, 30604, 30681, 30729, 30777/)
END IF
C
C ======== FOR SHRINKAGE =======
C TGSH-- TIME OF SHRINKAGE CALCULATION FOR "GIRDER" (DAYS)C TDSH-- TIME OF SHRINKAGE CALCULATION FOR "DECK" (DAYS)C 480E-6-- ULTIMATE SHRINKAGE STRAIN IN AASHRO 2007(SI)C FC --SPECIFIED COMPREI\SSIVE STRENGTH OF CONCRETE AT TIME OF
C PRESTRESSING FOR PRESTRESSIONED MEMBERS AND AT TIME OF
C INITIAL LOADING FOR NONPRESTRESSIONED MEMBERS, fci'IN
AASHTO(2007)
C STANDARD VALUE IS 28MPa
C CKF --FACTOR FOR THE EFFECT OF CONCRETE STRENGTHC CKTD--TIME DEPENDENT(DEVELOPMENT) FACTOR (THE FIRST TWO TURMS)
C RHSH--AMBIENT RELERTIVE HUMIDITY CORRECION FACTOR FOR SHRINKAGE
SHU=480E-6
RH=70.0
FC_GIRD=40.0
T_PRESTRESS=7.0
FC=FC_GIRD*T_PRESTRESS/(4+0.85*T_PRESTRESS)
IF (CMNAME.EQ."MAT-SLAB") THEN
RH=90
FC=0.8*FC
END IF
CKF=35.0/(7.0+FC)
CKTD=61.0-0.58*FC
RHSH=2.0-0.014*RH
C
C=================INTERPOSITION=====================C ****COMPUTING THE COEFFICIENTS OF KABIR SERIES****C
C STATEV(1)--THERMAL STRAIN
C STATEV(2)--ELASTIC STRAIN OF CURRENT INCREMENTC STATEV(3)--ELASTIC STRAIN OF PREVIOUS INCREAMENTC STATEV(4)--DTIME OF PREVIOUS INCREAMENTC DELTEE --INCREMENT OF ELASIC STRAIN
TCUR=TIME(2)
THE=STATEV(1)
EECUR=STATEV(2)
EEPRE=STATEV(3)
DTPRE=STATEV(4)
C
DO 4 IT=1,9
IF((TCUR.GE.T0(IT)).AND.(TCUR.LT.T0(IT+1)))THEN
JJ=IT
END IF
4 CONTINUE
TA=T0(JJ)
TB=T0(JJ+1)
EMA=EMOD(JJ)
EMB=EMOD(JJ+1)
C
C COMPUTNG REAL COEFFICIENT OF C, STORING IN CLOAD(I)C
IF(TCUR.LT.T0(1))THEN
DO 5 I=1,4
CLOAD(I)=CINI(I,1)
5 CONTINUE
ELSE IF((TCUR.GE.T0(1)).AND.(TCUR.LT.T0(8)))THEN
DELTAT=TB-TA
C VARING MODULUS OF ELASTIC
EMODL=(TCUR-TA)/DELTAT*(EMB-EMA)+EMA C EMODL=EMA
C COMPUTING COEFFICIENT OF C
DO 10 I=1,4
CA=CINI(I,JJ)
CB=CINI(I,JJ+1)
C INTERPOSITION FOR ANY LOADING TIME
CLOAD(I)=(TCUR-TA)/DELTAT*(CB-CA)+CA
10 CONTINUE
ELSE
DO 20 I=1,4
CLOAD(I)=CINI(I,8)
20 CONTINUE
END IF
C
DELTEE=EECUR-EEPRE
DELTSTR=DELTEE*EMODL
C
IF((TCUR-T0(1)).LT.1E-5)THEN
DO 30 I=1,4
STATEV(I+4)=0.0
30 CONTINUE
ELSE
DO 40 I=1,4
AN(I)=STATEV(I+4)*EXP(-CLAMDA(I)*DTPRE)+
* DELTSTR*CLOAD(I)
STATEV(I+4)=AN(I)
40 CONTINUE
END IF
C
EXPANCR=STATEV(5)*(1-EXP(-CLAMDA(1)*DTIME))+ STATEV(6)*
* (1-EXP(-CLAMDA(2)*DTIME))+STATEV(7)*(1-EXP(-CLAMDA(3)*
* DTIME))+STATEV(8)*(1-EXP(-CLAMDA(4)*DTIME))
C
IF(TCUR.LT.T0(1))THEN
EXPANCR=0.0
END IF
STATEV(10)=EXPANCR
C
C ======================SHRINKAGE=========================
C
C COMPUTING SHRINKAGE (FORMULA 5.4.2.3.3-1 IN AASHTO(2007))
C
IF (CMNAME.EQ."MAT-GIRDER") THEN
IF (TIME(2).GT.TGSH)THEN
TSH=TIME(2)-TGSH
TPSH=TSH-DTIME
IF(TPSH.LT.0) THEN
TPSH=0.0
END IF
EXPANSH=SHU*RHSH*CKF*(-TSH/(CKTD+TSH)+TPSH/(CKTD+TPSH))
ELSE
EXPANSH=0.0
END IF
STATEV(11)=EXPANSH
END IF
C
IF (CMNAME.EQ."MAT-SLAB") THEN
IF (TIME(2).GT.TDSH)THEN
TSH=TIME(2)-TDSH
TPSH=TSH-DTIME
IF(TPSH.LT.0) THEN
TPSH=0.0
END IF
EXPANSH=SHU*RHSH*CKF*(-TSH/(CKTD+TSH)+TPSH/(CKTD+TPSH))
ELSE
EXPANSH=0.0
END IF
STATEV(11)=EXPANSH
END IF
C
C FOR OUTPUT, KK=1 FOR CREEP ONLY
C KK=2 FOR SHRINKAGE ONLYC KK=3 FOR SUM OF CREEP AND SHRINKAGE
IF((KK-1).LT.1E-6) THEN
EXPAN(1)=EXPANCR
ELSE IF((KK-2).LT.1E-6)THEN
EXPAN(1)=EXPANSH
ELSE
EXPAN(1)=EXPANCR+EXPANSH
END IF
C
C STORING CURRENT STRAIN INTO STATEV(3)C STORING CURRENT DTIME INTO STATEV(4)C
STATEV(3)=EECUR
STATEV(4)=DTIME
RETURN
END
C
c 外部据文件~据单准单 数数独creep.in
c 第一行单文字单明~第二行单Kabir‘s公式中的lamda~其余行单kabir’s公式中的系数A~每
一行单单相单的加单单期。
*2009.10*FOR VARYING MODULUS*CREEP COEFFICIENTS FOR "MAT-GIRDER" **
0.020097539 0.001126756 0.061720055 0.0056553983.198793E-05 7.108837E-06 1.425333E-05 2.013975E-052.237047E-05 4.972322E-06 9.971452E-06 1.408240E-051.854555E-05 4.122967E-06 8.285373E-06 1.169368E-051.603102E-05 3.556803E-06 7.149851E-06 1.011927E-051.503312E-05 3.332869E-06 6.705964E-06 9.485050E-061.363170E-05 3.018741E-06 6.073185E-06 8.589683E-061.246732E-05 2.749243E-06 5.519788E-06 7.821465E-061.169726E-05 2.579682E-06 5.200560E-06 7.362794E-06
1.096448E-05 2.408366E-06 4.896739E-06 6.944929E-069.820035E-06 2.193812E-06 4.148105E-06 5.977530E-06*2009.10**CREEP COEFFICIENTS FOR "MAT-SLAB" ****0.001104811 0.059427871 0.005510569 0.01946376 7.23804E-06 1.39894E-05 2.02925E-05 3.17882E-055.06217E-06 9.78774E-06 1.41908E-05 2.22287E-054.19748E-06 8.13038E-06 1.17833E-05 1.84308E-053.62171E-06 7.01451E-06 1.01943E-05 1.59352E-053.39417E-06 6.58011E-06 9.55456E-06 1.49428E-053.07387E-06 5.96081E-06 8.65557E-06 1.35456E-052.80141E-06 5.41592E-06 7.87781E-06 1.23924E-052.62613E-06 5.10482E-06 7.42096E-06 1.16222E-052.45367E-06 4.80627E-06 6.99733E-06 1.08954E-052.22476E-06 4.11174E-06 6.04019E-06 9.70505E-06