本文摘要(由AI生成):
本文介绍了在ANSYS中使用DO循环提高效率的方法,包括DO循环的结构、命令格式及注意事项。并通过三个实例展示了DO循环在创建曲线、实现函数加载及ANSYS编程中的应用。强调DO循环类似高级语言,灵活使用可提高ANSYS建模和求解效率。
在命令流中使用DO循环会大大提高效率,完整的DO循环结构体如下:
*DO循环体起始行
……循环体
*ENDDO循环体结束行
*DO命令格式为:
*DO,Par,IVAL,FVAL,INC
其中Par为循环控制变量,不必为整数,因为ANSYS中无整数;
IVAL、FVAL、INC分别为循环控制变量的起始值、终止值和循环步长,INC缺省为1。
在构造循环体时,要注意
(1)不宜用不太常用的*GO命令跳出循环体。
(2)循环中不宜使用/CLEAR命令。/CLEAR会清除所有参数,但DO循环未执行完,也就造成了循环控制变量的丢失,因此会造成循环出现问题。当然,可以采用PARSAV保存参数,在执行/CLEAR后再PARRES恢复参数,从而可继续循环。
例1:根据函数表达式创建曲线
若有函数的数学表达式,便可利用DO循环创建关键点,然后再利用关键点创建线便可。
例如玫瑰线方程ρ=a*sin(nφ),设a=10,n=4/3,命令流如下:
FINISH$/CLEAR$/PREP7
*AFUN,DEG!定义三角函数使用度°计算
CSYS,1!激活柱坐标系
*DO,I,1,218!循环开始,控制变量i=1,218
FAI=5*(I-1)!计算φ
ROU=8*SIN(4/3*FAI)!计算ρ
K,I,ROU,FAI!创建关键点
*ENDDO!循环结束句
CSYS,0!激活直角坐标系
*DO,I,1,217!再利用循环创建线
L,I,I 1$*ENDDO
例2:利用DO循环实现函数加载。设激励荷载为F=F0*sin(a*t),则可依据实际工况情况求解结构如下:
/SOLU!进入求解层
……进行其他定义
*do,t,1e-8,10,0.1!t=1e-8~10,增量为0.1
time,t!定义time
f,n1,fy,f0*sin(a*t)!施加t时刻的荷载
solve!求解
*enddo!循环结束句
例3:利用DO在ANSYS编程。可以在ANSYS在编制自己的计算程序,也就是把APDL当成一种高级语言使用,当然不是编制大型程序。例如阶乘函数:
n=10$njc=1!定义参数
*do,i,1,n!循环开始
njc=i*njc!阶乘
*enddo!结束循环
利用循环创建模型、按自己的要求输出数据等很方便,而DO循环类似其他高级语言,只是形式略有差别。DO循环还有*DOWHILE和*REPEAT命令,不如*DO常用,此处不再介绍,可参考其他资料。因此坚持灵活运用、长久使用,慢慢的会感觉到其妙处。
---------------------------------------------------------------------------------------------
版权声明:
原创文章,来源铁大王新敏,本文已经授权,欢迎分享,如需转载请联系作者。