本帖最后由 2544473584 于 2013-5-16 19:43 编辑
在使用命令流进行求解的时候,大家肯定遇到过改变某个变量进行多长求解的情况。一次一次的求解记录数据的确令人心烦。今天在对一个板通过螺栓进行连接的结构进行模态分析的时候,也遇到类似的情况,现在写出来跟大家分享一下。
这是一个通过shell建立的板结构,通过6个螺栓进行连接,在螺栓位置创建硬点以便划分网格的时候出现节点,复制硬点出现重合的节点,通过combine14单元连接重合的节点建立纵向弹簧单元。这样我就可以改变弹簧的刚度来模拟螺栓的松紧状态,然后进行模态分析,得模态频率。因为我需要不断的改变刚度老求解得到频率,因此加一个循环进行求解输出结果是最佳的手段。
对命令流的应用我的确是个新手,不过有幸结识了qq群137790292里的Star(641450830)大神,的确是个热心肠的大神级人物,也应该是本版的版主吧。他给了很多建议并最终给出了命令流贴在这里供大家学习。
finish !在当前工作目录下
/clear
*create,xiejieguo,mac
*cfopen,jieguo,txt,,append
*vwrite
('频率')
*vwrite,f1,f2,f3,f4,f5,f6,f7
(7f10.4)
*cfclos
*end
jj=2
con=6 !求解6次
parsav,all
*do,i,1,con,1
finish
/clear
RESUME, flange_quan8_9,dbb,
parres,new
/prep7
esel,s,type,,2
eplot
rdele,jj
R,jj,2000*jj,0,0, , ,0,
RMORE,0,
EMODIF,all,REAL,jj,
!... !求解
ALLSEL,ALL
eplot
allse,all
esel,s,type,,2
eplot
nsle,s,all
esel,s,type,,1
nsle,r,all
D,all, , , , , ,UX,UY,ROTZ, , ,
FINISH
/SOL
!*
ANTYPE,2
!*
!*
MODOPT,LANB,7
EQSLV,SPAR
MXPAND,7, , ,0
LUMPM,0
PSTRES,0
!*
MODOPT,LANB,7,0,100000, ,OFF
allse,all
solve
finish
/post1
allse,all
*GET,f1,MODE,1,FREQ
*GET,f2,MODE,2,FREQ
*GET,f3,MODE,3,FREQ
*GET,f4,MODE,4,FREQ
*GET,f5,MODE,5,FREQ
*GET,f6,MODE,6,FREQ
*GET,f7,MODE,7,FREQ
!... !写结果
xiejieguo
jj=jj+1
parsav,all
*enddo
这里面出现的实常数从1-7,实常数1为shell单元厚度,2-7是6个螺栓位置弹簧弹簧刚度常数,程序所做的就是改变实常数2-7,求解每次的结果输出为txt文件。
|