首页 理论教育 APDL中控制程序:实例与应用|ANSYS14.0

APDL中控制程序:实例与应用|ANSYS14.0

时间:2023-11-08 理论教育 版权反馈
【摘要】:程序继续从该指定标识字行处开始执行。该标识字可位于同一个文件中的任何地方。最好使用其他的分支命令来控制程序流。APDL提供了8个比较运算符。注意,不要转向某个位于if-then-else结构或do循环中的带标识字的行。

APDL中控制程序:实例与应用|ANSYS14.0

1.无条件分支:*Go

最简单的转向命令*GO指示程序转到某个指定标识字行处,不执行中间的任何命令。程序继续从该指定标识字行处开始执行。例如:

*GO命令指定的标识字必须以冒号(:)开头,并不能超过8个字符(包括冒号)。该标识字可位于同一个文件中的任何地方。

注意:不鼓励使用*GO命令。最好使用其他的分支命令来控制程序流。

2.条件分支:*IF命令

APDL允许根据条件执行某些供选择的程序体中的一个。条件的值通过比较两个数的值或等于某数值的参数来确定。

*IF命令的语法为

其中,VAL1是比较的第一个数值(或数字参数);Oper是比较运算符;VAL2是比较的第二个数值(或数字参数);若比较的值为真,则执行Base指定的操作。APDL提供了8个比较运算符。EQ:等于(VAL1=VAL2);NE:不等于(VAL1#VAL2);LT:小于(VAL1<VAL2),GT:大于(VAL1>VAL2);LE:小于或等于(VAL1≤VAL2);GE:大于或等于(for VAL1≥VAL2);ABLT:绝对值小于;ABGT:绝对值大于。

通过给Base变量赋值THEN,*IF命令就变成了if-then-else结构(与Fortran中的该结构类似)的开始。该结构如下:

一个*IF命令

一个或多个*ELSEIF命令选项

一个*ELSE命令选项(www.xing528.com)

一个必需的*ENDIF命令,标识字该结构的结束。

在最简单的形式中,*IF命令判断比较的值,若为真,则转向Base变量所指定的标识字。结合一些*IF命令,将能得到和其他编程语言中CASE语句相同的功能。注意,不要转向某个位于if-then-else结构或do循环中的带标识字的行。

通过给Base变量赋值STOP,可以离开ANSYS。

IF-THEN-ELSE结构仅仅判断条件并执行接下来的程序体或跳到*ENDIF命令的下一条语句(用“Continue”注释表示)。

3.循环:DO循环

DO循环允许按指定的次数循环执行一系列的命令。*DO和*ENDDO命令分别是循环开始和结束点的标识字。

下面的DO循环例子读取5个载荷步文件(从1到5)并对5个文件做了同样的更改。

在构造DO循环时,要遵循以下原则:

●不要通过在*IF或*GO命令中带有:Label来从DO循环结构中跳出。

●不要在DO循环结构中用:Label来跳到另外一行语句,可以用if-then-else-endif结构来代替。

●在DO循环结构中,第一次循环后,自动禁止命令结果输出。如果想得到所有循环的结果输出,就在DO循环结构中使用/GOPR或/GO(无响应行)命令。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈