您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > GAMBIT用户手册_附录A——IF块和DO循环
GAMBITUSER’SGUIDE:附录A:IF块和DO循环1附录A——IF块和DO循环A.1概述GAMBIT允许用户使用IF块和DO循环作为一组分类文件夹命令的一部分。IF块和DO循环允许用户分类文件夹用户化目的是促进GAMBIT模型的生成和/或网格生成。例如,用户可以利用DO循环来构造、定位和判断一个简单实体类型的多个拷贝。这个附录的如下部分描述了一般语法以及GAMBITIF块和DO循环的使用。A.2IF块A.2.1一般语法GAMBITIF块的一般语法如下:IFCOND(E)Commands[ELSECommands]ENDIF这里E代表一个逻辑表达式,同时方括号([])表明ELSE和与它相关的Commands是可以选择的。(关于正确的逻辑表达式的描述,参见附录B,B.3.2部分)当GAMBIT遇到一个IF块时,它要求计算表达式E的值,然后执行根据表达式的值是true或者false而选定的后续命令块。如下的表格描述了由GAMBITIF块表达式的计算而导致的操作。E操作True•GAMBIT执行存在与IF和ELSE命令之间的命令块。•如果IF块不包括ELSE命令,GAMBIT就执行IF和ENDIF命令之间整个命令块。False•GAMBIT跳到同一级别的下一个ELSE命令。•如果IF块不包括ELSE命令,GAMBIT就跳到ENDIF命令之后的命令。注意(1):GAMBITIF,ELSE和ENDIF指令对字体不敏感。例如,如下的命令块组成一个正确的GAMBITIF块。ifcond($q.eq.5)volumecreatesphereradius($q*3)endif注意(2):如果你使用GAMBIT参数作为逻辑表达式E的一部分,你必须在IF块之前PDF文件使用pdfFactoryPro试用版本创建’SGUIDE:附录A:IF块和DO循环2定义该参数。你可以通过GAMBITEditParameter或者分类文件夹或者Command列的命令来定义该参数。(参见4.2.3部分)。A.2.2例子作为一个GAMBITIF块的使用实例,要考虑以下命令块:IFCOND($a.GT.5)volumecreatesphereradius($a/2)ELSEvolumecreatebrickwidth1height1depth1ENDIFGAMBIT将该IF块解释如下:●如果参数“a”大于5,则生成一个半径2.5的球体。●如果参数“a”小于等于5,则生成一个单位立方体。A.2.3嵌套IF块GAMBITIF块可以包含任何数量的嵌套IF块。例如,如下的结构构成了一个正确的嵌套IF块的常用用法:IFCOND()IFCOND()CommandsELSEIFCOND()CommandsELSECommandsENDIFENDIFELSEIFCOND()CommandsENDIFENDIF这里iE代表单独的、正确的逻辑表达式。A.3DO循环PDF文件使用pdfFactoryPro试用版本创建’SGUIDE:附录A:IF块和DO循环3A.3.1一般语法任何GAMBITDO循环的基本语法如下:DOPARA$p[INITi]COND(E)[INCRn]commandsENDDO这里方括号([])表明关键字INIT和INCR以及与它们相关的参数是可以任选的。上述的DO-循环参数定义如下。参数定义$p循环控制变量注意:循环控制变量必须指定一个存在的参数-也就是说,一个前面已经定义过的参量。对于GAMBIT参量的定义和使用的描述(参见4.2.3部分)i当循环开始执行时为$p提供一个内部值的数学表达式。(缺省值=1)E用作中止循环操作的逻辑表达式。当表达式E的值为false时循环中止。注意:对于正确的逻辑表达式的描述,参见附录B,B.3.2部分n定义每次DO循环步长的数学表达式。(缺省值=1)注意:n值仅仅计算一次-在DO循环初始化时注意(1):GAMBITDO-循环指令对大小写不敏感。例如,如下的命令块组成了一个正确的DO循环dopara$xinit3cond($x.le.5)volumecreatebrickwidth$xheight($x*2.5)enddo注意(2):一定不要试图在DO循环中定义或更新参量。A.3.2DO-Loop操作当GAMBIT遇到一个DO循环时,它执行如下一系列的操作步骤操作1计算i和n2初始化$p值为i。3计算E:●如果E的计算结果是false,跳到ENDDO后面的语句PDF文件使用pdfFactoryPro试用版本创建’SGUIDE:附录A:IF块和DO循环4●如果E的计算结果不是false,执行DO和ENDDO之间的命令语句4以步长n增加p$5转到的3步。A.3.3例子作为一个GAMBITDO循环,要考虑以下命令块:$Tmp=2$Z=6dopara$Zinit6cond($Z.le.24)incr($Tmp*3)volumecreatesphereradius$Zenddo如果执行以上所示的命令块,GAMBIT生成四个半径分别为6,12,18和24的球体。A.3.4BREAK和NEXT命令GAMBIT允许你通过两条附加命令来控制DO循环:•BREAK•NEXTBREAK和NEXT命令操作如下:●如果GAMBIT遇到BREAK命令,它就立刻跳转到ENDDO下面的命令。●如果GAMBIT遇到NEXT命令,它就会跳转到NEXT命令和ENDDO命令之间的任何命令但是继续执行DO循环。A.3.5嵌套DO循环GAMBIT允许在其它DO循环之间嵌套DO循环。GAMBIT加在嵌套DO循环上的唯一的限制就是每一个嵌套的循环都必须完全包含在外部循环之中。PDF文件使用pdfFactoryPro试用版本创建
本文标题:GAMBIT用户手册_附录A——IF块和DO循环
链接地址:https://www.777doc.com/doc-7541039 .html