{Rm}合成起来,可以用一个2n×m的矩阵{RR}来表示杆件内力的变化情况。
则在这个总体内力矩阵中,第i行第j列的元素表示当移动荷载作用在路径上第j个节点时,编号为i的杆件内力。以此若要绘制任意杆件的影响线,从该矩阵中提取出对应行的内力之,并以直线连接起来即可。
- 5 -
第三章 程序设计框图
开始 静定桁架节点坐标、单元节点编号、约束信息 单元矩阵 节点坐标矩阵 计算处理 约束矩阵 单位荷载路径矩阵 循环 系数矩阵 各杆件沿荷载路径内力 桁架影响线 绘图 结束
- 6 -
第四章 程序编制
4.1编制说明
(1)程序使用MAPLE语言在maple7.0中编写
(2)本程序适用于平面静定桁架影响线的绘制,不适用于超静定桁架的计算。
(3)计算时,由于单位荷载的移动路径不唯一,应通过路径矩阵确定,路径矩阵中元素表示单位荷载依次通过的结点编号。
(4)符号说明: 参数:
XY:结点坐标矩阵; NE:杆件单元矩阵; NC:支座约束矩阵; P:荷载路径矩阵;
n1,n2:输出影响线杆件起止编号,输出编号n1到n2的杆件的影响线,当n1=n2=a时,输出第a根杆件的内力影响线。
局部变量:
ne:循环变量; kk:杆件cosα、sinα的值; te:外力矩阵{P}; st:系数矩阵[K];
np:内力矩阵{R}; NP:各荷载作用点下{R}的合成;
4.2程序代码
>work:=proc(XY,NE,NC,P,n1,n2) local ne,kk,te,st,np,NP,x,pp:
st:=Matrix(2*rowdim(XY),2*rowdim(XY),0): np:=Matrix(1,2*rowdim(XY),0): for ne to rowdim(NE) do:
- 7 -
kk:=normalize([XY[NE[ne,2],1]-XY[NE[ne,1],1],XY[NE[ne,2],2]-XY[NE[ne,1],2]]): #kk=[cosa,sina]
st[2*NE[ne,1]-1,ne]:=-kk[1]: st[2*NE[ne,2]-1,ne]:=+kk[1]: st[2*NE[ne,1],ne]:=-kk[2]: st[2*NE[ne,2],ne]:=+kk[2]; end do;
for ne to rowdim(NC) do:
st[2*NC[ne,1]+NC[ne,2]-2,rowdim(NE)+ne]:=-1: end do;
NP:=matrix(rowdim(P),2*rowdim(XY),0): for ne to rowdim(P) do:
te:=Vector(2*rowdim(XY),0): x[ne]:=XY[P[ne,1],1]: te[2*P[ne,1]]:=-1:
np:=matrix([linsolve(evalm(st*1.0),te)]): copyinto(np,NP,ne,1): end do:
NP:=transpose(NP): print(NP):
pp:=matrix(n2-n1+1,1,0): for ne from 1 to n2-n1+1 do: pp[ne,1]:=display(
plot([[XY[P[1,1],1],0],[XY[P[rowdim(P),1],1],0]],style=line,thickness=1,color=black,axes=none),
plot([[XY[P[1,1],1],0],[x[1],NP[n1-1+ne,1]]],style=line,thickness=2,color=blue),
plot([[x[coldim(NP)],NP[n1-1+ne,coldim(NP)]],[XY[P[rowdim(P),1],1],0]],style=line,thickness=2,color=blue),
plot([seq([[x[i],NP[n1-1+ne,i]],[x[i+1],NP[n1-1+ne,i+1]]],i=1..coldim(NP)-1)],style=line,thickness=2,color=blue),
textplot([seq([x[i],NP[n1-1+ne,i],NP[n1-1+ne,i]],i=1..coldim(NP))],color=red),
textplot([seq([XY[P[1,1],1]-1,0,i],i=cat(No ,n1-1+ne))],color=black,thickness=2)): od:
display(pp);
end proc:
- 8 -
第五章 计算实例
实例一
图示静定桁架,共18个结点,33根杆,3个支座反力。单位荷载分别沿上弦(2、5、8、10、13、16、18各点)和下弦(1、3、6、9、11、14、17各点)移动, 各杆件的内力影响线。
程序数据输入见附录1,计算结果见附录2。
从计算得到的影响线中提出任一杆件的影响线如移动荷载沿桁架下弦移动时编号为14的杆件的内力影响线。
再采用传统方法做该杆的影响线,结果如图。
(—)
5 3
可以看到程序计算结果与传统方式计算得到的结果一致,可知程序计算结果是正确的。
- 9 -