2.2 APDL的流程控制命令
ANSYS 2020在执行使用APDL编写的程序时,采取的是逐行解释并执行命令的方式。复杂的程序通常需要控制命令的执行顺序。为此,APDL提供了一些流程控制命令,具体如下。
● 无条件分支命令:*GO命令。
● 条件分支命令:*IF命令、*IF ELSE命令、*ELSE命令、*ENDIF命令。
● 循环命令:*DO命令、*ENDDO命令、*DOWHILE命令。
● 重复命令:*REPEAT命令。
2.2.1 *GO命令
*GO命令是无条件分支命令,不能从循环体或条件分支中利用它跳转出来执行其他命令,因此*GO命令不可以与其他分支命令或循环命令嵌套使用。*GO命令的语法格式如下:
2.2.2 *IF命令
*IF命令是条件分支命令,该命令通过比较两个数的大小来确定是否满足当前的判断条件,从而决定是否执行后续的命令,其语法格式如下:
VAL1、VAL2、VAL3、VAL4是4个比较数,Oper1与Oper2是两个比较运算符。Base1是在第一个条件(逻辑表达式在“VAL1,Oper1,VAL2”)为真时的操作,如果第一个条件为假,则继续读取下一行程序;如果后面没有第二个条件(逻辑表达式“VAL3,Oper2,VAL4”),则Base1为then;如果后面有第二个条件,则Base1为逻辑连接词,由两个条件组成一个条件。
2.2.3 *DO命令
*DO命令是循环命令,其语法格式如下:
其中,Par是循环控制变量,只允许使用数值型变量;IVAL是Par的初始值;FVAL是Par的最终值;INC为循环变量的步长,默认值为1。
2.2.4 *DOWHILE命令
*DOWHILE命令也是循环命令,会重复循环体中的语句,直到外部控制参数改变,其语法格式如下:
其中,PAR为判断条件,如果PAR为真,则执行下一次循环,否则终止循环。与*DO命令相比,*DOWHILE命令无须事先知道循环的次数,是否停止循环由循环条件控制,*DO命令需要先确定循环的起点与终点。