• 回答数

    1

  • 浏览数

    1868

  • 收藏数

    0

作者:全民奥特曼 发表于 2018-11-12 11:40:59
跳转到指定楼层
这是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又是怎么来的,什么意思呢?


分享:
回复

使用道具

该用户从未签到

新手上路

Rank: 1

积分
26
极客币
54
主题
7
帖子
17
注册时间
2018-10-23
在线时间
2 小时
性别
保密
 楼主| 发表于 2018-11-12 11:41:19 | 显示全部楼层
还有下面这段关于shell单元的弯矩输出的,我也不是太懂,尤其是sel rec surf surfx 1 0 1
pl sel rec sres mx surfsys off axes,smxx=sst_sres(sp,0,1)这些话语的具体含义我都很不清楚
这里附上shell单元的命令流:
n;
ge zo br size 1 1 10;先生成实体
sel shell id=1 elemtype=dkt_cst ran x -0.1 0.1;在实体面上生成壳单元
dele;删除实体
sel shell prop iso=(210e9,0.3) thi=0.1;壳单元参数
sel node fix x y z xr yr zr ran x -0.1 0.1 z -0.1 0.1;低端全约束
sel shell apply pres -1.0;施加均布荷载
sel set damp combined;设置阻尼
so;
sel rec surf surfx 1 0 1;应力恢复,显示弯矩
pl sel rec sres mx surfsys pff axes
;----------------------------壳单元弯矩输出子程序(基于单元形心)------------------------------
sel rec surf surfx 1 0 1
pl sel rec sres mx
;
def sres_outp;内力输出子程序
jj=0
loop cid(1,20)
sp=s_find(cid)
if s_type(sp)=4 then;判断单元类型
jj=jj+1
xx=s_pos(sp,1);单元形心坐标
yy=s_pos(sp,2)
zz=s_pos(sp,3)
smxx=sst_sres(sp,0,1);单元内力分量
smyy=sst_sres(sp,0,2)
smxy=sst_sres(sp,0,3)
snxx=sst_sres(sp,0,4)
snyy=sst_sres(sp,0,5)
snxy=sst_sres(sp,0,6)
sqxx=sst_sres(sp,0,7)
sqyy=sst_sres(sp,0,8)
xtable(9,jj)=zz;将输出内力存于表中
ytable(9,jj)=smxx
endif
endloop
end
sres_outp;执行子程序
set logfile mxx.txt;设置输出文本
set log on
set pagelength 10000
pri table 9;显示数据
quit
回复

使用道具 举报

高级模式 评论
您需要登录后才可以回帖 登录 | 立即注册 微信登录