![ANSYS 2020有限元分析从入门到精通(升级版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/581/37423581/b_37423581.jpg)
2.2 APDL的流程控制命令
ANSYS 2020在执行使用APDL编写的程序时,采取的是逐行解释并执行命令的方式。复杂的程序通常需要控制命令的执行顺序。为此,APDL提供了一些流程控制命令,具体如下。
● 无条件分支命令:*GO命令。
● 条件分支命令:*IF命令、*IF ELSE命令、*ELSE命令、*ENDIF命令。
● 循环命令:*DO命令、*ENDDO命令、*DOWHILE命令。
● 重复命令:*REPEAT命令。
2.2.1 *GO命令
*GO命令是无条件分支命令,不能从循环体或条件分支中利用它跳转出来执行其他命令,因此*GO命令不可以与其他分支命令或循环命令嵌套使用。*GO命令的语法格式如下:
![](https://epubservercos.yuewen.com/93E152/19823445001146706/epubprivate/OEBPS/Images/40775_31_1.jpg?sign=1739205660-wnLzYlOjdnNTyqWQYdOLU6zbUHAmf7gv-0-389d5e4847903aad0cbbd7a22c3a157d)
2.2.2 *IF命令
*IF命令是条件分支命令,该命令通过比较两个数的大小来确定是否满足当前的判断条件,从而决定是否执行后续的命令,其语法格式如下:
![](https://epubservercos.yuewen.com/93E152/19823445001146706/epubprivate/OEBPS/Images/40775_31_2.jpg?sign=1739205660-HHkBp2c793x17PG5GylFVduQP0p75iL2-0-794bb52dd3599f9e50edbe4d7b467a9e)
VAL1、VAL2、VAL3、VAL4是4个比较数,Oper1与Oper2是两个比较运算符。Base1是在第一个条件(逻辑表达式在“VAL1,Oper1,VAL2”)为真时的操作,如果第一个条件为假,则继续读取下一行程序;如果后面没有第二个条件(逻辑表达式“VAL3,Oper2,VAL4”),则Base1为then;如果后面有第二个条件,则Base1为逻辑连接词,由两个条件组成一个条件。
2.2.3 *DO命令
*DO命令是循环命令,其语法格式如下:
![](https://epubservercos.yuewen.com/93E152/19823445001146706/epubprivate/OEBPS/Images/40775_31_3.jpg?sign=1739205660-SaK2vmfht3xnwFKHnHs4fBCATtzWSqsF-0-84502dc89f7ca449cf58748f3f4b7fc5)
其中,Par是循环控制变量,只允许使用数值型变量;IVAL是Par的初始值;FVAL是Par的最终值;INC为循环变量的步长,默认值为1。
2.2.4 *DOWHILE命令
*DOWHILE命令也是循环命令,会重复循环体中的语句,直到外部控制参数改变,其语法格式如下:
![](https://epubservercos.yuewen.com/93E152/19823445001146706/epubprivate/OEBPS/Images/40775_32_1.jpg?sign=1739205660-Z7uAsppWN8y1YkLOIw7iP7yHbgEGzH20-0-33cb95d5ceeacaa8cb9974fd850679a1)
其中,PAR为判断条件,如果PAR为真,则执行下一次循环,否则终止循环。与*DO命令相比,*DOWHILE命令无须事先知道循环的次数,是否停止循环由循环条件控制,*DO命令需要先确定循环的起点与终点。