2024年4月26日发(作者:冠巍然)
楔体试算法土压力计算XTTYL程序
楔体试算法实际上是根据库尔曼土压力图解法原理,利用计算
机进行数值计算的一种方法,它可灵活地处理不规则填土等复杂问
题,其计算方法详见6—4节内容。下列XTTYL程序可用于计算填
土不规则、具有若干集中或线荷载下的粘性土、无粘性土的主、被
动土压力的计算。其中参数采用DATA语句输入,其参数意义及输
入顺序依次如下:
N——挡墙后填土面的线段根数,当填土面为平面时N=1;
S——作用在填土面上集中或线荷载的个数;
T——判断主、被动土压力参数,计算主动土压力时T=-1,
计算被动土压力时T=1;
P——挡墙背填土的内摩擦角(°);
D——墙背与填土间的外摩擦角(°);
C——墙背填土的粘聚力(kPa),砂性土时c=0;
R——墙背填土的重度(kN/m³);
F——墙背与填土间的粘聚力c′(kPa);
X,Y——挡墙墙踵的水平、竖向坐标值(m),一般可取为(0,
0),其它坐标均以此为基准;
XT,YT——挡墙墙顶内侧的水平、竖向坐标值(m);
XY
i
,
i
——墙后填土表面每一直线段的末端的水平、竖向坐
标值(m);
L
i
——作用在填土面上第i个集中或线荷载的值(kN/m);
AB
i
,
i
——第i个集中或线荷载作用点的横、纵坐标值(m)。
为了便于掌握,程序中给出例题6—3作为示例,680数据语句为主
动土压力计算,690为被动土压力计算。其源程序如下:
10 DIM X(9,1),Y(9,1),P(101),L(9),A(9),B(9),Z(9,1): PI=3.1415926
#/180
20 READ N,S,T,P,D,C,R,F,X,Y,XT,YT
30 X(0,0)=XT: Y(0,0)=YT: W=0: L=ATN((X-XT)/(YT-Y))/PI
40 FOR I=0 TO N-1:READ
X(I,1),Y(I,1):X(I+1,0)=X(I,1):Y(I+1,0)=Y(I,1);NEXT I
50 IF S>0 THEN FOR J=0 TO S-1:READ L(J),A(J),B(J):NEXT J
60 PRINT TAB(25);″-----原始计算数据-----″: PRINT
70 PRINT USING″内摩擦角=﹟﹟﹟.﹟﹟° 墙背倾角=﹟﹟
﹟.﹟﹟° 墙土外摩擦角=﹟﹟﹟.﹟﹟°″;P;L;D
80 PRINT USING″粘聚力c=﹟﹟﹟.﹟﹟kPa 重度=﹟﹟﹟.﹟﹟
kN/m³ 墙土间粘结力c′=﹟﹟﹟.﹟﹟kPa″;C;R;F
XY
90 PRINT: PRINT″墙踵坐标(m)
0
=″X; TAB(24);
0
=″; Y;
Y
X
100 PRINT TAB(35); ″墙顶坐标(m)
t
=″;XT; TAB(58); ″
t
=″;
YT: PRINT
X
110 PRINT″填土面形状:″;TAB(16);″№″;TAB(35);
i
(m)″;
TAB(54);″
Y
i
(m)″
120 FOR I=0 TO N-1
130 PRINT TAB(16);I+1;TAB(35);X(I,1);TAB(54);Y(I,1): NEXT I
140 IF S<=0 THEN 190
150 PRINT: PRINT″荷载布置″
P
160 PRINT TAB(16); ″№″;TAB(30);″
j
( kN/m)″;TAB(46)″;
X
i
Y
(m)″;TAB(60);″
i
(m)″
170 FOR I=0 TO S-1
180 PRINT
TAB(16);I+1;TAB(31);L(I);TAB(46);A(I);TAB(60);B(I):NEXT I
190 L=90-L: IF T=1 THEN PM=100000!
200 IF S>0 THEN G=1
210 Z=2﹡C/(R﹡TAN((45-P/2)﹡PI)):IF T=1 THEN Z=0
220 YT=YT-Z: CW=(YT-Y)﹡F
230 FOR I=0 TO N-1: FOR J=0 TO 1
240 Z(I,J)=Y(I,J)-Z: NEXT J: NEXT I
250 X3=XT: Y3=YT: I=0: J=0: H=86: IF L>90 THEN H=182-L
260 IF T=1 THEN H=75
270 PRINT: PRINT TAB(25); ″-----计算结果-----″: PRINT
h
280 PRINT USING″ 地表裂缝深度
0
=﹟﹟﹟﹟.﹟﹟
m″;Z
290 FOR II=1 TO 100: H=H-1: E=G-1
300 IF(H<P-2)﹡(T<1)OR(H<0)﹡(T=1)THEN 640
310 B=TAN(H﹡PI): A=(Z(J,1)-Z(J,0)/(X(J,1)-X(J,0))
320 M=(Y-Z(J,0)-B﹡X+A﹡X(J,0)/(A-B)
330 IF ABS(M-X(J,1))<=.1 OR ABS(X(J,1)-X3)<=M-X3 THEN
M=X(J,1)
340 IF G=0 OR G>S THEN 360
350 IF ABS(M-A(E))<.1 OR A(E)-X3<=M-X3 THEN M=A(E)
360 IF ABS(M-X(J,1))<=.1 AND J+1<N THEN J=J+1
370 IF J+1<=N THEN U=A﹡M-A﹡X(J,0)+Z(J,0)
380 IF M=X(J,1) THEN U=Z(J,1)
390 IF G=0 OR G>S THEN 410
400 IF ABS(M-A(E))<=.0001 THEN U=B(E)-Z
410 H=ATN(U-Y)/(M-X)/PI:D1=ABS(M﹡(Y-Y3)+X3﹡(U-Y)+X﹡
(Y3-U))/2
420 IF C>0 THEN DA=(M-X3)﹡Z﹡R
430 W=D1﹡R+W+DA
440 IF Q=2 THEN W=W+L(E)
450 BB=TAN((90-H-T﹡P)﹡PI):DD=BB﹡SIN((L+T﹡D)﹡
PI)+COS((L+T﹡D)﹡PI
460 IF C=0 THEN P(I)=W/DD: GOTO 490
470 AA=COS(H﹡PI): CS=(M-X)﹡C/AA
480 P(I)=(W+T﹡CW﹡(SIN(L﹡PI)-BB﹡COS(L﹡PI)+T﹡CS﹡(AA
2024年4月26日发(作者:冠巍然)
楔体试算法土压力计算XTTYL程序
楔体试算法实际上是根据库尔曼土压力图解法原理,利用计算
机进行数值计算的一种方法,它可灵活地处理不规则填土等复杂问
题,其计算方法详见6—4节内容。下列XTTYL程序可用于计算填
土不规则、具有若干集中或线荷载下的粘性土、无粘性土的主、被
动土压力的计算。其中参数采用DATA语句输入,其参数意义及输
入顺序依次如下:
N——挡墙后填土面的线段根数,当填土面为平面时N=1;
S——作用在填土面上集中或线荷载的个数;
T——判断主、被动土压力参数,计算主动土压力时T=-1,
计算被动土压力时T=1;
P——挡墙背填土的内摩擦角(°);
D——墙背与填土间的外摩擦角(°);
C——墙背填土的粘聚力(kPa),砂性土时c=0;
R——墙背填土的重度(kN/m³);
F——墙背与填土间的粘聚力c′(kPa);
X,Y——挡墙墙踵的水平、竖向坐标值(m),一般可取为(0,
0),其它坐标均以此为基准;
XT,YT——挡墙墙顶内侧的水平、竖向坐标值(m);
XY
i
,
i
——墙后填土表面每一直线段的末端的水平、竖向坐
标值(m);
L
i
——作用在填土面上第i个集中或线荷载的值(kN/m);
AB
i
,
i
——第i个集中或线荷载作用点的横、纵坐标值(m)。
为了便于掌握,程序中给出例题6—3作为示例,680数据语句为主
动土压力计算,690为被动土压力计算。其源程序如下:
10 DIM X(9,1),Y(9,1),P(101),L(9),A(9),B(9),Z(9,1): PI=3.1415926
#/180
20 READ N,S,T,P,D,C,R,F,X,Y,XT,YT
30 X(0,0)=XT: Y(0,0)=YT: W=0: L=ATN((X-XT)/(YT-Y))/PI
40 FOR I=0 TO N-1:READ
X(I,1),Y(I,1):X(I+1,0)=X(I,1):Y(I+1,0)=Y(I,1);NEXT I
50 IF S>0 THEN FOR J=0 TO S-1:READ L(J),A(J),B(J):NEXT J
60 PRINT TAB(25);″-----原始计算数据-----″: PRINT
70 PRINT USING″内摩擦角=﹟﹟﹟.﹟﹟° 墙背倾角=﹟﹟
﹟.﹟﹟° 墙土外摩擦角=﹟﹟﹟.﹟﹟°″;P;L;D
80 PRINT USING″粘聚力c=﹟﹟﹟.﹟﹟kPa 重度=﹟﹟﹟.﹟﹟
kN/m³ 墙土间粘结力c′=﹟﹟﹟.﹟﹟kPa″;C;R;F
XY
90 PRINT: PRINT″墙踵坐标(m)
0
=″X; TAB(24);
0
=″; Y;
Y
X
100 PRINT TAB(35); ″墙顶坐标(m)
t
=″;XT; TAB(58); ″
t
=″;
YT: PRINT
X
110 PRINT″填土面形状:″;TAB(16);″№″;TAB(35);
i
(m)″;
TAB(54);″
Y
i
(m)″
120 FOR I=0 TO N-1
130 PRINT TAB(16);I+1;TAB(35);X(I,1);TAB(54);Y(I,1): NEXT I
140 IF S<=0 THEN 190
150 PRINT: PRINT″荷载布置″
P
160 PRINT TAB(16); ″№″;TAB(30);″
j
( kN/m)″;TAB(46)″;
X
i
Y
(m)″;TAB(60);″
i
(m)″
170 FOR I=0 TO S-1
180 PRINT
TAB(16);I+1;TAB(31);L(I);TAB(46);A(I);TAB(60);B(I):NEXT I
190 L=90-L: IF T=1 THEN PM=100000!
200 IF S>0 THEN G=1
210 Z=2﹡C/(R﹡TAN((45-P/2)﹡PI)):IF T=1 THEN Z=0
220 YT=YT-Z: CW=(YT-Y)﹡F
230 FOR I=0 TO N-1: FOR J=0 TO 1
240 Z(I,J)=Y(I,J)-Z: NEXT J: NEXT I
250 X3=XT: Y3=YT: I=0: J=0: H=86: IF L>90 THEN H=182-L
260 IF T=1 THEN H=75
270 PRINT: PRINT TAB(25); ″-----计算结果-----″: PRINT
h
280 PRINT USING″ 地表裂缝深度
0
=﹟﹟﹟﹟.﹟﹟
m″;Z
290 FOR II=1 TO 100: H=H-1: E=G-1
300 IF(H<P-2)﹡(T<1)OR(H<0)﹡(T=1)THEN 640
310 B=TAN(H﹡PI): A=(Z(J,1)-Z(J,0)/(X(J,1)-X(J,0))
320 M=(Y-Z(J,0)-B﹡X+A﹡X(J,0)/(A-B)
330 IF ABS(M-X(J,1))<=.1 OR ABS(X(J,1)-X3)<=M-X3 THEN
M=X(J,1)
340 IF G=0 OR G>S THEN 360
350 IF ABS(M-A(E))<.1 OR A(E)-X3<=M-X3 THEN M=A(E)
360 IF ABS(M-X(J,1))<=.1 AND J+1<N THEN J=J+1
370 IF J+1<=N THEN U=A﹡M-A﹡X(J,0)+Z(J,0)
380 IF M=X(J,1) THEN U=Z(J,1)
390 IF G=0 OR G>S THEN 410
400 IF ABS(M-A(E))<=.0001 THEN U=B(E)-Z
410 H=ATN(U-Y)/(M-X)/PI:D1=ABS(M﹡(Y-Y3)+X3﹡(U-Y)+X﹡
(Y3-U))/2
420 IF C>0 THEN DA=(M-X3)﹡Z﹡R
430 W=D1﹡R+W+DA
440 IF Q=2 THEN W=W+L(E)
450 BB=TAN((90-H-T﹡P)﹡PI):DD=BB﹡SIN((L+T﹡D)﹡
PI)+COS((L+T﹡D)﹡PI
460 IF C=0 THEN P(I)=W/DD: GOTO 490
470 AA=COS(H﹡PI): CS=(M-X)﹡C/AA
480 P(I)=(W+T﹡CW﹡(SIN(L﹡PI)-BB﹡COS(L﹡PI)+T﹡CS﹡(AA