这是beam 单元不使用fish提取弯矩的命令流:
n
sel beam id=1 begin 0 0 0 end 0 0 10 nseg=20;建立梁单元
sel beam prop emod=210e9 nu =0.3 xcarea=1.0 &
xciy=0.0833 xciz=0.0833 xcj=0.167;梁单元参数
sel node fix x y z xr yr zr ran x -0.1 0.1 y -0.1 0.1 z -0.1 0.1;低端约束
sel beam apply zdist 1.0;施加均布荷载
sel set damp combined;设置阻尼
pl sel beam moment my axes;显示弯矩
so
请我我如何在图中显示出我施加的这个均布荷载呢?我使用了plot add sel beam dist 的命令,但是提示是错误的
这里附上书上的fish语言:
;----------------------------梁单元弯矩输出子程序(基于单元形心)-------------------------------
def force_outp
jj=0
loop cid(1,20);执行单元循环
sp=s_find(cid)
if s_type(sp)=1 then;判断单元类型是否为梁单元
jj=jj+1
;--第1节点相关数据--
np=s_node(sp,1);单元第一节点
xx1=nd_pos(np,2,1)
yy1=nd_pos(np,2,2)
zz1=nd_pos(np,2,3)
ffx1=sb_force(sp,1,1)
ffy1=sn_force(sp,1,2)
ffz1=sb_force(sp,1,3)
mmx1=sb_mom(sp,1,1)
mmy1=sb_mom(sp,1,2)
mmz1=sb_mom(sp,1,3)
;--第2节点相关数据--
np=s_node(sp,2);单元第二节点
xx2=nd_pos(np,2,1)
yy2=nd_pos(np,2,2)
zz2=nd_pos(np,2,3)
ffx2=sb_force(sp,2,1)
ffy2=sb_force(sp,2,2)
ffz2=sb_force(sp,2,3)
mmx2=sb_mom(sp,2,1)
mmy2=sb_mom(sp,2,2)
mmz2=sb_mom(sp,2,3)
;--形心相关数据--
xx=(xx1+xx2)/2.0
yy=(yy1+yy2)/2.0
zz=(zz1+zz2)/2.0
ffx=(ffx1+ffx2)/2.0
ffy=(ffy1+ffy2)/2.0
ffz=(ffz1+ffz2)/2.0
mmx=(mmx1+mmx2)/2.0
mmy=(mmy1+mmy2)/2.0
mmz=(mmz1+mmz2)/2.0
;----------------将输出内力存于表中
xtable(1,jj)=zz
ytable(1,jj)=mmy
endif
endloop
end
force_outp;执行子程序
set logfile beam_moment.txt;设置输出文本
set log on
set pagelength 10000
pri table 1;显示数据
quit
函数语言在下面写出来,我有好几个不明白的地方:
1.sp=s_find(cid),这里的sp是什么意思?s是structure的意思吗?但是结构单元节点不应该用structure node么
2.第1节点相关数据处,np又是指的什么?s_node括号后面的sp,1又是指的什么?xx1=nd_pos(np,2,1)能否解释下什么意思?
3.ffx1=sb_foce(sp,1,1)中的sb是指的structure beam吗?括号后面的sp,1,1又是怎么来的,什么意思呢? |
|
|