首页/文章/ 详情

ANSYS的DO循环与应用示例

3月前浏览5609

本文摘要(由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常用,此处不再介绍,可参考其他资料。因此坚持灵活运用、长久使用,慢慢的会感觉到其妙处。

image.png

---------------------------------------------------------------------------------------------

版权声明:

原创文章,来源铁大王新敏,本文已经授权,欢迎分享,如需转载请联系作者。



ANSYS 其他网格处理代码&命令求解技术科普
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2020-12-24
最近编辑:3月前
王新敏
硕士 | 教授 好好学习,天天快乐
获赞 122粉丝 613文章 96课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈