火车过桥动态加载实例(部分)

发布日期:[08-12-04 14:51:08] 浏览人次:[]

e = time+1
!/uis,msgpop,3 ! 不显示数组被重新定义的警告
!/uis,msgpop,2
/solu ! 进入求解器
antype,static
esel,all
sfedele,all,1,pres, !先删除上一次加上的所有单元荷载
! 计算列车各部分在桥上的单元号
tpos1 = kk ! 火车头所在的位置
*if,tpos1,lt,(qth+L1+L2), then !火车进桥情况
xlth1 = 0
*do,i,1,eldknum
ii = eldk
ndi = nelem(ii,1)
ndj = nelem(ii,2)
elth1 = abs(nx(ndi)-nx(ndj))
xlth1 = xlth1 + elth1
*if,xlth1,ge,tpos1,then
*exit
*endif
*enddo
tele1 = i ! 火车头所在的单元
*if,tpos1,gt,L1,then
tpos2 =tpos1 -L1 !煤水车头所在的位置
xlth2 = 0
*do,i,1,eldknum
ii = eldk
ndi = nelem(ii,1)
ndj = nelem(ii,2)
elth2 = abs(nx(ndi)-nx(ndj))
xlth2 = xlth2 + elth2
*if,xlth2,ge,tpos2,then
*exit
*endif
*enddo
tele2 = i !旅客列车头所在的单元
*if,tpos1,gt,(L1+L2),then
tpos3 =tpos1 -(L1+L2) !旅客车头所在的位置
xlth3 = 0
*do,i,1,eldknum
ii = eldk
ndi = nelem(ii,1)
ndj = nelem(ii,2)
elth3 = abs(nx(ndi)-nx(ndj))
xlth3 = xlth3 + elth3
*if,xlth3,ge,tpos3,then
*exit
*endif
*enddo
tele3 = i !旅客列车头所在的单元
*endif
*endif
*endif
*if,tpos1,gt,(qth+L1+L2+182.5),then ! 火车过桥情况(182.5为任意取的一个常数)

*if,tpos1,lt,lth1, then
tpos4 = tpos1-(qth+L1+L2+182.5) !旅客列车尾部所在的位置
xlth4 = 0
*do,i,1,eldknum
ii = eldk
ndi = nelem(ii,1)
ndj = nelem(ii,2)
elth4 = abs(nx(ndi)-nx(ndj))
xlth4 = xlth4 + elth4
*if,xlth4,ge,tpos4,then
*exit
*endif
*enddo
tele4 = i !旅客列车尾部在的单元
*endif
*endif
! 加荷载于相应的单元
! SFBEAM, ELEM, LKEY, Lab, VALI, VALJ, VAL2I, VAL2J, IOFFST, JOFFST
*if,tpos1,le,L1, then ! 火车头进桥
c1 = xlth1 -tpos1
c2 = elth1 - c1
*if,tele1,eq,1,then
qq = q1*c2/elth1
sfbeam,eldk(tele1),1,pres,qq,qq,,,,,
*else
*do,j,1,tele1-1
sfbeam,eldk(j),1,pres,q1,q1,,,,,
*enddo
qq = q1*c2/elth1
sfbeam,eldk(tele1),1,pres,qq,qq,,,,,
*endif
*elseif,tpos1,le,(L1+L2),then ! 煤水车进桥
c1 = xlth1 - tpos1
*if,tele1,eq,tele2,then !火车头在同一个单元上
c2 = xlth2 - tpos2
c3 = elth2 - c2
qq = (q1*L1+q2*c3)/elth1
sfbeam,eldk(tele1),1,pres,qq,qq,,,,,
*do,j,1,tele1-1
sfbeam,eldk(j),1,pres,q2,q2,,,,,
*enddo
*else
dtele = tele1 - tele2
*if,dtele,eq,1, then
c2 = xlth2 - tpos2
c3 = elth2 - c2
qq0 = q1*(elth1-c1)/elth1
qq = (q1*c2+q2*c3)/elth2
sfbeam,eldk(tele1),1,pres,qq0,qq0,,,,,
sfbeam,eldk(tele2),1,pres,qq,qq,,,,,
*do,j,1,tele2-1
sfbeam,eldk(j),1,pres,q2,q2,,,,,
*enddo
*else
c2 = xlth2 - tpos2
c3 = elth2 - c2
qq0 = q1*(elth1-c1)/elth1
sfbeam,eldk(tele1),1,pres,qq0,qq0,,,,,
*do,j,tele2+1,tele1-1
sfbeam,eldk(j),1,pres,q1,q1,,,,,
*enddo
qq = (q1*c2+q2*c3)/elth2
sfbeam,eldk(tele2),1,pres,qq,qq,,,,,
*do,j,1,tele2-1
sfbeam,eldk(j),1,pres,q2,q2,,,,,
*enddo
*endif
*endif
*elseif,tpos1,le,qth,then ! 旅客列车进桥
c1 = xlth1 - tpos1
*if,tele1,eq,tele2, then
c2 = xlth2 - tpos2
c3 = elth2 - c2
qq = (q1*L1+q2*c3)/elth1
sfbeam,eldk(tele1),1,pres,qq,qq,,,
|<< << < 1 2 3 4 5 6 > >> >>|
www.mapeng.net 马棚网
www.mapeng.net
文章作者:未知 | 文章来源:网络 | 责任编辑:admin | 发送至邮箱: | 加入收藏:
本文关键字:火车  过桥  动态  加载  实例  部分
相关资讯
热点资讯
推荐资讯

关于我们 | 站点导航 | 使用帮助 | 友情链接 | 广告服务 | 免责声明 | 新手上路
设为首页 | 加入收藏 | 在线留言 | 马棚网QQ群:{92562572}{102901272}{333259257} | 交流QQ: 客户服务 客户服务 客户服务