📄 apd_2.for
字号:
******************** APD_2.FOR *******************************
* Design and Calculation of Highway Asphalt Pavement *
**************************************************************
COMMON /CCC2/E(24),PR(24),HD(23),ZD(23),FR(23)
COMMON /CCC5/CR(2),CQ(2),CZ(2),TR(2),TQ(2),TZ(2)
COMMON /CCC6/ER(2),EQ(2),EZ(2),UV(2),VV(2),WV(2)
COMMON /CCC9/CRQ,CQZ,CZR,TRQ,TQZ,TZR,US,VS,WS
COMMON /CCC10/C1,C2,C3,EE1,EE2,EE3,ERQ,EQZ,EZR
DIMENSION RRR(2),LS(10),SP(10),T(10),SM(4)
DIMENSION E1(24),E2(24),HH(23)
REAL NF
OPEN(1,FILE='APD_2.IN')
OPEN(2,FILE='APD_2.OUT',status='unknown',mode='write')
READ(1,*)NL
READ(1,*)(HH(I),I=1,NL-1)
READ(1,*)(E1(I),I=1,NL)
READ(1,*)(E2(I),I=1,NL)
READ(1,*)AC,AS,AB,NT
READ(1,*)(LS(I),I=1,NT)
READ(1,*)(SP(I),I=1,NT)
READ(1,*)(T(I),I=1,NT)
CLOSE(1)
DO 005 I=1,NL-1
FR(I)=1
005 PR(I)=.25
PR(NL)=.35
WRITE(2,*)
WRITE(2,*)
CTA=1.5*3.1415926
R1=1.5
Z=0
II=1
DO 008 I=1,NL
008 E(I)=E1(I)
010 DO 011 I=1,NL-1
011 HD(I)=HH(I)/106.5
ZD(1)=HD(1)
DO 012 I=2,NL-1
012 ZD(I)=ZD(I-1)+HD(I)
PO=PR(II)
RRR(1)=R1
S1=R1*SIN(CTA)
RRR(2)=SQRT(R1*R1+6*S1+9)
CALL GAUSIN(NL,1.0,0.0,RRR,Z,II)
CALL DOUBLE(1.0,0.0,0.0,R1,CTA,3.0)
DS=32412.974*(WS/E1(1))**1.612903*E1(NL)**0.580645
NF=(600*AC*AS*AB/DS)**5.0
WRITE(2,903) DS
WRITE(2,904) NF
DO 020 I=1,NL
020 E(I)=E2(I)
SWITH=1
030 DO 031 I=1,NL-1
031 HD(I)=HH(I)/106.5
ZD(1)=HD(1)
DO 032 I=2,NL-1
032 ZD(I)=ZD(I-1)+HD(I)
!至步骤050计算所有求应力的层次的应力,疲劳寿命
DO 050 IP=SWITH,NT
Z=LS(IP)
II=Z
DO 040 IM=1,4
IF(IM.EQ.1) R1=0
IF(IM.EQ.2) R1=0.5
IF(IM.EQ.3) R1=1
IF(IM.EQ.4) R1=1.5
PO=PR(II)
RRR(1)=R1
S1=R1*SIN(CTA)
RRR(2)=SQRT(R1*R1+6*S1+9)
CALL GAUSIN(NL,1.0,0.0,RRR,Z,II)
CALL DOUBLE(1.0,0.0,0.0,R1,CTA,3.0)
CALL PRTRES(PO)
040 SM(IM)=C1*0.7
SMAX=MAX(SM(1),SM(2),SM(3),SM(4))
WRITE(2,905)II,SMAX
IF(SMAX.GT.0)THEN
IF(T(IP).EQ.1) NF=(SP(IP)*AC/0.09/SMAX)**4.54545
IF(T(IP).EQ.2) NF=(SP(IP)*AC/0.35/SMAX)**9.09091
IF(T(IP).EQ.3) NF=(SP(IP)*AC/0.45/SMAX)**9.09091
WRITE(2,904)NF
ELSE
WRITE(2,906)
ENDIF
050 CONTINUE
!*********************************************
WRITE(2,910)
WRITE(2,911)
DO 060 I=1,NL-1
TH=TH+HH(I)
WRITE(2,912)I,HH(I)
060 WRITE(2,911)
WRITE(2,913)TH
WRITE(2,*)
WRITE(2,*)
903 FORMAT(1X,'**** 路面弯沉值: ',F7.2,'(0.01mm)')
904 FORMAT(1X,'**** 疲劳寿命: ',E12.3,'(次)')
905 FORMAT(1X,'**** 第',I1,'层底拉应力最大值:',F7.3,'(MPa)')
906 FORMAT(1X,'**** 疲劳寿命: 无穷大')
910 FORMAT(/' 路面结构示意图')
911 FORMAT(' ───────────')
912 FORMAT(' h(',I1,')=',F5.0,'mm')
913 FORMAT(' 路面总厚度=',F5.0,'mm')
999 CLOSE(2)
END
**********************************************************************
SUBROUTINE ABCDEF(N,V,H,X)
COMMON /CCC2/E(24),PR(24),HD(23),ZD(23),FR(23)
COMMON /CCC3/F1(24),F2(24),F3(24),F4(24)
COMMON /CCC4/FA(24),FB(24),FC(24),FD(24),FE(24),FF(24)
DOUBLE PRECISION S(144,12),Q(144)
DOUBLE PRECISION R,R1,R2,R3,R4,R5,R6,R7,R8,P,PP,EM,P1,P2,PO,POO
IF(V.EQ.1)THEN
M=4*N
DO 002 I=1,M
DO 001 J=1,8
001 S(I,J)=0
002 Q(I)=0
R=2*PR(1)
S(1,5)=1
S(1,6)=R-1
S(1,7)=-1
S(1,8)=R-1
S(2,5)=1
S(2,6)=R
S(2,7)=1
S(2,8)=-R
Q(1)=1
DO 100 I=1,N-1
FK=FR(I)
P=ZD(I)*X
PP=HD(I)*X
P1=EXP( PP)
P2=EXP(-PP)
PO=PR(I)
POO=PR(I+1)
EM=E(I+1)/E(I)*(1+PO)/(1+POO)
R1=1-2*PO
R2=2*PO+P
R3=2*PO-P
R4=1+P
R5=1-P
R6=1-2*POO
R7=2*POO+P
R8=2*POO-P
J=4*I
S(J-1,1)=P1
S(J-1,2)=P1*(P-R1)
S(J-1,3)=-P2
S(J-1,4)=-P2*(R1+P)
S(J-1,5)=-1
S(J-1,6)=R6-P
S(J-1,7)=1
S(J-1,8)=R6+P
S(J,1)=EM*P1
S(J,2)=EM*P1*(P-2*R1)
S(J,3)=EM*P2
S(J,4)=EM*P2*(P+2*R1)
S(J,5)=-1
S(J,6)=2*R6-P
S(J,7)=-1
S(J,8)=-2*R6-P
S(J+1,1)=P1
S(J+1,2)=P1*R2
S(J+1,3)=P2
S(J+1,4)=-P2*R3
IF(FK.EQ.1)THEN
S(J+1,5)=-1
S(J+1,6)=-R7
S(J+1,7)=-1
S(J+1,8)=R8
S(J+2,1)=P1*EM
S(J+2,2)=P1*EM*R4
S(J+2,3)=-P2*EM
S(J+2,4)= P2*EM*R5
S(J+2,5)=-1
S(J+2,6)=-R4
S(J+2,7)= 1
S(J+2,8)=-R5
ENDIF
IF(FK.EQ.0)THEN
S(J+2,5)=1
S(J+2,6)=R7
S(J+2,7)=1
S(J+2,8)=-R8
ENDIF
100 CONTINUE
S(M-1,1)=1
S(M ,2)=1
CALL SOEQ(4,N,S,Q)
ENDIF
IF(H.EQ.1)THEN
M=6*N
DO 006 I=1,M
DO 005 J=1,12
005 S(I,J)=0
006 Q(I)=0
R=2*PR(1)
S(1,7)=1
S(1,8)=R-1
S(1,10)=-1
S(1,11)=R-1
S(2,7)=1
S(2,8)=R
S(2,10)=1
S(2,11)=-R
S(3,9)= 1
S(3,12)=-1
Q(2)=-1
Q(3)= 1
DO 200 I=1,N-1
FK=FR(I)
P=ZD(I)*X
PP=HD(I)*X
P1=EXP(PP)
P2=EXP(-PP)
PO=PR(I)
POO=PR(I+1)
EM=E(I+1)/E(I)*(1+PO)/(1+POO)
R1=1-2*PO
R2=2*PO+P
R3=2*PO-P
R4=1+P
R5=1-P
R6=1-2*POO
R7=2*POO+P
R8=2*POO-P
J=6*I
S(J-2, 1)=P1
S(J-2, 2)=P1*(P-R1)
S(J-2, 4)=-P2
S(J-2, 5)=-P2*(R1+P)
S(J-2, 7)=-1
S(J-2, 8)=R6-P
S(J-2,10)= 1
S(J-2,11)=R6+P
S(J-1,1)=EM*P1
S(J-1,2)=-EM*(2*R1-P)*P1
S(J-1,4)= EM*P2
S(J-1,5)= EM*(2*R1+P)*P2
S(J-1,7)=-1
S(J-1,8)=2*R6-P
S(J-1,10)=-1
S(J-1,11)=-2*R6-P
S(J, 1)=P1
S(J, 2)=P1*R2
S(J, 4)=P2
S(J, 5)=P2*(-R3)
IF(FK.EQ.1)THEN
S(J, 7)=-1
S(J, 8)=-R7
S(J,10)=-1
S(J,11)=R8
S(J+1, 3)= P1
S(J+1, 6)=-P2
S(J+1, 9)=-1
S(J+1,12)= 1
S(J+2, 1)=EM*P1
S(J+2, 2)=EM*P1*R4
S(J+2, 4)=-EM*P2
S(J+2, 5)= EM*P2*R5
S(J+2, 7)=-1
S(J+2, 8)=-R4
S(J+2,10)= 1
S(J+2,11)=-R5
S(J+3, 3)=EM*P1
S(J+3, 6)=EM*P2
S(J+3, 9)=-1
S(J+3,12)=-1
ENDIF
IF(FK.EQ.0)THEN
S(J+1, 3)=P1
S(J+1, 6)=-P2
S(J+2, 7)=1
S(J+2, 8)=R7
S(J+2,10)=1
S(J+2,11)=-R8
S(J+3, 9)=1
S(J+3,12)=-1
ENDIF
200 CONTINUE
S(M-2,1)=1
S(M-1,2)=1
S(M ,3)=1
CALL SOEQ(6,N,S,Q)
ENDIF
END
**********************************************************
SUBROUTINE GAUSIN(N,V,H,RR,Z,II)
DIMENSION U(34),W(34)
COMMON /CCC2/E(24),PR(24),HD(23),ZD(23),FR(23)
COMMON /CCC3/F1(24),F2(24),F3(24),F4(24)
COMMON /CCC4/FA(24),FB(24),FC(24),FD(24),FE(24),FF(24)
COMMON /CCC5/CR(2),CQ(2),CZ(2),TR(2),TQ(2),TZ(2)
COMMON /CCC6/ER(2),EQ(2),EZ(2),UV(2),VV(2),WV(2)
COMMON /CCC7/CA(2),CB(2),CD(2),TD(2),TE(2),TF(2)
COMMON /CCC8/EG(2),EH(2),EI(2),UH(2),VH(2),WH(2)
DIMENSION RR(2),YV(2,7),YW(2,4),YH(2,10),YI(2,3)
DIMENSION FV(7),FH(10),SV(4),SH(3),SSU(5),SSV(8)
DATA U/ -.99757175,-.98722782,-.96870826,-.94216240,
* -.90780968,-.86593464,-.81688423,-.76106488,-.69893911,
* -.63102173,-.55787550,-.48010655,-.39835928,-.31331108,
* -.22566669,-.13615236,-.04550982, .99757175, .98722782,
* .96870826, .94216240, .90780968, .86593464, .81688423,
* .76106488, .69893911, .63102173, .55787550, .48010655,
* .39835928, .31331108, .22566669, .13615236, .04550982/
DATA W/ .00622914,.01445016,.02256372,.03049138,
* .03816659,.04552561,.05250741,.05905414,.06511152,
* .07062938,.07556197,.07986844,.08351310,.08646574,
* .08870190,.09020304,.09095674,.00622914,.01445016,
* .02256372,.03049138,.03816659,.04552561,.05250741,
* .05905414,.06511152,.07062938,.07556197,.07986844,
* .08351310,.08646574,.08870190,.09020304,.09095674/
IF(Z.LE.1) THEN
ZZ=Z*HD(1)
ZZD=ZZ
ENDIF
DO 001 I=1,N-2
IF(Z.GT.I.AND.Z.LE.I+1) THEN
ZZ=(Z-I)*HD(I+1)
ZZD=ZZ+ZD(I)
ENDIF
001 CONTINUE
IF(Z.GT.N-1) THEN
ZZ=(Z-N+1)*HD(N-1)
ZZD=ZZ+ZD(N-1)
ENDIF
IF(Z.EQ.0) XS=10/HD(1)
IF(Z.GE.1) XS=15/ZZD
IF(Z.GT.0.AND.Z.LT.1) XS=(20-5*Z)/(2*HD(1)-ZZD)
IF(HD(1)*XS.GT.45) XS=45/HD(1)
DS=XS/3
PO=PR(II)
R1=2*PO
R2=1-R1
R3=1+R1
R4=2*R2
R5=1+PO
C=.5*DS
DO 60 I=1,2
DO 60 J=1,10
YH(I,J)=0
IF(J.LE.4) YW(I,J)=0
IF(J.LE.3) YI(I,J)=0
60 IF(J.LE.7) YV(I,J)=0
DO 30 I=1,3
DO 30 J=1,34
X=DS*(I-.5)+C*U(J)
WR=W(J)
CALL ABCDEF(N,V,H,X)
ZZX=ZZ*X
IF((II-Z).EQ.1) ZZX=0
VM=EXP(ZZX)
VN=EXP(-ZZX)
ZX=ZZD*X
IF(V.EQ.1) THEN
P1=(F3(II)+(R3+ZX)*F1(II))*VM-(F4(II)-(R3-ZX)*F2(II))*VN
P2=F1(II)*VM+F2(II)*VN
P3=(F3(II)-(R2-ZX)*F1(II))*VM-(F4(II)+(R2+ZX)*F2(II))*VN
P4=(F3(II)+(R1+ZX)*F1(II))*VM+(F4(II)-(R1-ZX)*F2(II))*VN
UU=(F3(II)+( 1+ZX)*F1(II))*VM-(F4(II)-( 1-ZX)*F2(II))*VN
WW=(F3(II)-(R4-ZX)*F1(II))*VM+(F4(II)+(R4+ZX)*F2(II))*VN
ENDIF
IF(H.EQ.1) THEN
PPR=(FC(II)+(R3+ZX)*FA(II))*VM-(FD(II)-(R3-ZX)*FB(II))*VN
PQ=FA(II)*VM+FB(II)*VN
PZ= (FC(II)-(R2-ZX)*FA(II))*VM-(FD(II)+(R2+ZX)*FB(II))*VN
PT=FF(II)*VM+FE(II)*VN
PW= (FC(II)-(R4-ZX)*FA(II))*VM+(FD(II)+(R4+ZX)*FB(II))*VN
U2=(FC(II)+(1+ZX)*FA(II)+2*FF(II))*VM-(FD(II)-(1-ZX)*FB(II)-2*F
1 E(II))*VN
U0=(FC(II)+(1+ZX)*FA(II)-2*FF(II))*VM-(FD(II)-(1-ZX)*FB(II)+2*F
1 E(II))*VN
H2=(FC(II)+(R1+ZX)*FA(II)+FF(II))*VM+(FD(II)-(R1-ZX)*FB(II)-FE(
1 II))*VN
H0=(FC(II)+(R1+ZX)*FA(II)-FF(II))*VM+(FD(II)-(R1-ZX)*FB(II)+FE(
1 II))*VN
ENDIF
CALL BESSEL(1,X,FJB)
DO 30 ISW=1,2
RD=RR(ISW)
Q=RD*X
CALL BESSEL(0,Q,V0)
CALL BESSEL(1,Q,V1)
V4=V1*FJB
V6=V0*FJB
V8=V6/X
V9=V4/X
IF(RD.EQ.0) THEN
V2=0
V7=.5*FJB
ELSE
V2=2*V1/Q-V0
V7=V4/Q
ENDIF
V5=V2*FJB
V3=V5/X
IF(Z.EQ.0) THEN
SV(1)=V6
SV(3)=V8
SV(4)=V9
DO 70 K=3,4
70 YW(ISW,K)=YW(ISW,K)+SV(K)*WR
YW(ISW,1)=YW(ISW,1)+SV(1)*WR
ENDIF
IF(V.EQ.1) THEN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -