|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
各位大虾,有一个问题想要请教:
我的想法:
我想在一个半径为R的圆形区域内计算电磁场,用APDL写程序时,要求在(x^2+y^2)<R^2的情况下程序执行,并且建立模型和加载,最后把计算出来的结果保存到不同的文件中。
例如:
r1=50 !r1为圆的半径
t=1 !t为圆的厚度
*do,x,-r1,r1,(2*r1/m) !划分x方向为m份
*do,y,10+t,(2*r1+10+t),(2*r1/n) !划分y方向为n份
*set,xx,(x*x)+(y-r1-10-t)*(y-r1-10-t)
*set,yy,(r1*r1)
*if,xx,LT,yy,then !如果点在半径为r1的圆内则执行下面的计算程序
--------------满足条件则建模型
---------................计算
!-------------------------------------------------------
/solu !解模型计算
cmatrix,1,'cond',9,0!含有9个cond,导体不带电groundkey=0
finish
!!!!!!!程序中每执行一次默认生成cmatrix的文件,这里有个问题
*else !*else这里可以这样直接用吗
*endif
*enddo
*enddo
我的目标:
现在我想要做的是每运行一次,比如在(x1,y1)点执行时,程序自动将最后得到的结果cmatrix这个文件存为cmatrix1;在第i次执行时,自动存为cmatrix(i)文件,后缀名为txt。不要覆盖原文件
现在的问题:
执行程序时,报警说:
(1) more than 20 nested *IF-Then statements !嵌套过多吗?中间只是建模和计算的命令
(2)无法自动另存计算结果的文件,文件名不同
谢谢,刚刚接触不久ansys,无从下手。 |
评分
-
1
查看全部评分
-
|