📄 xbxs
字号:
WRITE(*,*)'*********************************************************************'
WRITE(*,*)'*********************************************************************'
WRITE(*,*)'******************* 中 交 85 规 范 ***************************'
WRITE(*,*)'***************** 徐 变 系 数 *************************'
WRITE(*,*)'*************** 计 算 程 序 **********************'
WRITE(*,*)'*********************************************************************'
WRITE(*,*)'*********************************************************************'
!!!!!!!!!!程序说明
!!! AM为混凝土构件的截面面积,S为空气相对湿度,U为混凝土截面与大气接触周边长度.
!!! T1为计算徐变系数时的混凝土龄期,T2为混凝土加载龄期.
read(*,*) AM,S,U,T1,T2
WRITE(*,*)AM,S,U,T1,T2
!!!!!!!!!!!!!!以下计算BAT
BAT=0.9648*T2**(-0.264)-0.1472
print*,bat
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
W=T1-T2
IF(w<100.0)then
BB=0.08*W**0.395+0.193
else
BB=-4.173*W**(-0.482)+1.137
ENDIF
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
IF(S<=0.4)THEN
F1=3.0
AK=1.0
ELSE
IF(S<=0.7)THEN
F1=2.0
AK=1.5
ELSE
IF(S<=0.9) THEN
F1=1.0
AK=5.0
ELSE
F1=0.8
AK=30.0
ENDIF
ENDIF
ENDIF
!!!!!!!!!!!!!!!!!!!!!!!!!!!
H=1000.0*AK*2.0*AM/U
IF(H>=200)GOTO 50
A=1.0E-5
B=-4.5E-3
c=2.05
goto 500
50 IF(H>=900)GOTO 60
A=6.25E-7
B=-1.125E-3
C=1.75
GOTO 500
60 IF(H>=1300)GOTO 70
A=-2.03125E-7
B=1.875E-7
C=1.23953
GOTO 500
70 F2=1.12
GOTO 600
500 F2=A*H**2+B*H+C
600 F=F1*F2
CALL BFS2(H,T1,B1)
CALL BFS2(H,T2,B2)
Q=BAT+0.4*BB+F*(B1-B2)
WRITE(*,*)'理论厚度H=',H,'徐变系数Q=',Q
END
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION BFT(A,B,C,T)
BFT=A*LOG10(T)**2+B*LOG10(T)+C
RETURN
END
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
SUBROUTINE BFS(H,T,BF)
IF(H==50)THEN
IF(T>2.5)GOTO 20
BF=0.1
GOTO 1000
20 IF(T>50)GOTO 30
BF=BFT(0.0571,0.1931,0.0141,T)
GOTO 1000
30 IF(T>1000)GOTO 40
BF=BFT(-0.1136,0.8497,-0.6087,T)
GOTO 1000
40 BF=BFT(-0.0938,0.7555,-0.5042,T)
1000 ENDIF
IF(H==100)THEN
IF(T>2.5)GOTO 50
BF=0.1
GOTO 2000
50 IF(T>100)GOTO 60
BF=BFT(0.0681,0.1456,0.03130,T)
GOTO 2000
60 IF(T>1000)GOTO 70
BF=BFT(-0.1483,1.0363,-0.8846,T)
GOTO 2000
70 BF=BFT(-0.0692,0.6107,-0.319,T)
2000 ENDIF
IF(H==200)THEN
IF(T>2.5)GOTO 80
BF=0.1
GOTO 3000
80 IF(T>100)GOTO 90
BF=BFT(0.0568,0.1381,0.036,T)
GOTO 3000
90 IF(T>1000)GOTO 100
BF=BFT(-0.1401,1.0137,-0.9273,T)
GOTO 3000
100 BF=BFT(-0.0787,0.6981,-0.534,T)
3000 ENDIF
IF(H==400)THEN
IF(T>2.5)GOTO 110
BF=0.1
GOTO 4000
110 IF(T>300)GOTO 120
BF=BFT(0.0451,0.1192,0.0454,T)
GOTO 4000
120 BF=BFT(-0.0835,0.7921,-0.8322,T)
4000 ENDIF
IF(H==800)THEN
IF(T>2.5)GOTO 130
BF=0.1
GOTO 5000
130 IF(T>20)GOTO 140
BF=BFT(0.0458,0.2539,0.0062,T)
GOTO 5000
140 IF(T>1000)GOTO 150
BF=BFT(-0.0653,-0.0115,-0.1633,T)
GOTO 5000
150 BF=BFT(-0.0751,0.799,-1.0037,T)
5000 ENDIF
IF(H==1600)THEN
IF(T>2.5)GOTO 160
BF=0.1
GOTO 6000
160 IF(T>30)GOTO 170
BF=BFT(0.0251,0.1879,0.0292,T)
GOTO 6000
170 IF(T>1000)GOTO 180
BF=BFT(-0.0972,-0.2034,0.3404,T)
GOTO 6000
180 BF=BFT(-0.1351,1.3254,-2.1557,T)
6000 ENDIF
RETURN
END
!!!!!!!!!!!!!!!!!!!!!!!!
SUBROUTINE BFS2(H,T,B)
DIMENSION AH(6)
DATA (AH(I),I=1,6)/50.0,100.0,200.0,400.0,800.0,1600.0/
IF(H<=50)THEN
CALL BFS(50,T,B)
ELSE
DO 500 J1=2,6
IF(H>AH(J1))GOTO 500
N1=J1-1
GOTO 600
500 CONTINUE
600 IF (H<1600)THEN
CALL BFS(AH(N1),T,B1)
CALL BFS(AH(N1+1),T,B2)
B=B1+(B2-B1)/(AH(N1+1)-AH(N1))*(H-AH(N1))
ELSE
CALL BFS(1600,T,B)
ENDIF
ENDIF
RETURN
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -