马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
首先是一个子函数宏文件
submodal2
velo=arg1
parsav,all,mypara
/clear,start
/batch
parres,new,mypara
v=velo*1000/3.6 !velocity
/prep7
...
.!这一段是建立模型,求解..
...
solve
/output,'%velo%','txt' !输出结果到'%velo%.txt' 中
SELIST,FILE,3,1
/output
finish
/CLEAR,NOSTART ! Clear model since no SAVE found
/input,start140,ans,'D:\Program Files\ANSYS Inc\v140\ANSYS\apdl\',,,,,,,,,,,,,,,,1
/eof
把上面一段APDL保存在submodal2.mlib 中,供主函数调用。
下面一段是主函数。
*ulib,submodal2,mlib
*do,veloc,10,30,10
*use,submodal2,veloc
*enddo
将主函数保存为submodal3.mac .我的本意是主函数调用3次 子函数,输出3个文件,10.txt ,20.txt,30.txt.每个文件里含有每次计算的刚度矩阵和质量矩阵。但是实际结果是只有第一个文件10.txt里面含有结果,而后两个文件里是空白的。
如果我使用下面的APDL作为主函数,那么三个文件都有结果。
*ulib,submodal2,mlib
*use,submodal2,10
*use,submodal2,20
*use,submodal2,30
这两段主程序的差别只在于一个使用了*do循环,而另一个则没有使用。但是输出结果却不一样。这是为什么呢?有没有什么好办法呢?
|