2.5.5 ANSYS查询函数
在用命令流建模、求解及后处理过程中,常常需要获得模型的许多参数,如几何图素和有限元图素的数量等。普通的方法是通过 *GET 命令或内部函数等得到这些参数,并在 ANSYS 中有详细的帮助文件。而较为便捷的方法是采用 ANSYS 的查询函数,查询函数在帮助文件中没有详细介绍,查询函数通过访问数据库返回要查询的数值。
查询函数通常有两个变量,第一个变量为所要查询的图素或图素编号,第二个变量为所要查询的内容。查询函数的种类和数量很多, 这里仅介绍 KPINQR、LSINQR、ARINQR、VLINQR、NDINQR、ELMIQR、ETYIQR、RLINQR、SECTINQR、CSYIQR 及 ERINQR 等11 个函数及其主要查询标识。
1. 关键点查询函数
命令:KPINQR(kpid,key)
kpid - 为要查询的关键点号,当 key=12,13,14 时为0。
key - 查询信息标识,其值可取:
=1:选择状态; =12:已定义数目; =13:被选择的数目;
=14:定义的最大编号; =-1:材料号; =-2:单元类型号;
=-3:实常数号; =-4:节点号(已分网); =-7:单元号(已分网)
当 key=1 时函数的返回值:
=-1:未选择; =0:未定义; =1:被选择
例如:a=kpinqr(0,12) 则返回已定义的关键点最大数目,并赋值给参数 A。
2. 线查询函数
命令:LSINQR(lsid,key)
lsid - 为要查询的线号,当 key=12,13,14 时为 0。
key - 查询信息标识,其值可取及其返回值:
=1:选择状态; =2:长度; =12:已定义数目;
=13:被选择的数目; =14:定义的最大编号; =-1:材料号;
=-2:单元类型号; =-3:实常数号; =-4:节点数(已分网);
=-6:单元数目(分网) =-8:分网的线拟化分数目 =-9:关键点1;
=-10:关键点2; =-15:截面号ID =-16:单元拟划分数目;
当 key=1 时函数的返回值同上。
例如:a=LSinqr(0,12) 则返回线的最大数目,并赋值给参数 A。
3. 面查询函数
命令:ARINQR(arid,key)
arid - 为要查询的面号,当 key=12,13,14 时为 0。
key - 查询信息标识,其值可取及其返回值:
=1:选择状态; =12:已定义数目; =13:被选择的数目;
=14:定义的最大编号; =-1:材料号; =-2:单元类型号;
=-3:实常数号; =-4:节点数(已分网); =-6:单元数(已分网);
=-8:单元形状; =-10:单元坐标系; =-11:面约束信息;
当 key=1 时函数的返回值同上。
当 key=-11 时函数返回值:
=0:没有约束; =1:对称约束; =2:反对称约束; =3:对称与反对称约束
4. 体查询函数
命令:vlinqr(vlid,key)
vlid - 为要查询的体号,当 key=12,13,14 时为 0。
key - 查询信息标识,其值可取及其返回值:
=1:选择状态; =12:已定义数目; =13:被选择的数目;
=14:定义的最大编号; =-1:材料号; =-2:单元类型号;
=-3:实常数号; =-4:节点数(已分网); =-6:单元数;
=-8:单元形状; =-10:单元坐标系
当key=1时函数的返回值同上。
5. 节点查询函数
命令:ndinqr(node,key)
node - 为要查询的节点号,当 key=12,13,14 时为 0。
key - 查询信息标识,其值可取及其返回值:
=1:选择状态; =12:已定义数目; =13:被选择的数目;
=14:定义的最大编号; =-1:材料号; =-2:超单元标记;
=-3:主自由度; =-4:活动自由度 =-5:依附的实体模型;
当 key=1 时函数的返回值同上。
6. 单元查询函数
命令:ELMIQR(elid,key)
elid - 为要查询的单元号,当 key=12,13,14 时为 0。
key - 查询信息标识,其值可取及其返回值:
=1:选择状态; =12:已定义数目; =13:被选择的数目
=14:定义的最大编号; =-1:材料号; =-2:单元类型号;
=-3:实常数号; =4:截面号ID; =5:单元坐标系号;
=7:实体模型号;
当 key=1 时函数的返回值同上
7. 单元类型查询
命令:ETYIQR(itype,key)
itype - 为要查询的单元类型号,当 key=12,14 时为 0。
key - 查询信息标识,其值可取及其返回值:
=1:选择状态; =12:已定义数目; =14:定义的最大编号;
当 key=1 时函数的返回值同上。
8. 实常数查询函数
命令:rlinqr(nreal,key)
nreal - 为要查询的实常数号,当 key=12,13,14 时为 0。
key - 查询信息标识,其值可取及其返回值:
=1:选择状态; =12:已定义数目;
=13:被选择的数目; =14:定义的最大编号;
当 key=1 时函数的返回值同上。
9. 截面号查询函数
命令:SECTINQR(nsect,key)
nsect - 为要查询的截面号,当 key=12,13,14 时为 0。
key - 查询信息标识,其值可取及其返回值:
=1:选择状态; =12:已定义数目;
=13:被选择的数目; =14:定义的最大编号;
当 key=1 时函数的返回值同上。
2.5.6 *get 命令与 GET 函数
*GET 命令几乎可以提取 ANSYS 数据库中的任何数据,并赋值给全局变量。例如任何图素(关键点、线、面、体、节点和单元)的相关数据信息、各处理器的设置与状态、系统或环境等等数据信息。
*GET 命令的使用格式为:
*GET,Par,Entity,ENTNUM,Item1,IT1NUM,Item2,IT2NUM
Par - 欲赋值的变量名称,即提取结果将赋给该变量,由用户定义。
Entity - 被提取图素的关键字,如 NODE,ELEM,KP,LINE,AREA,VOLU,PDS 等。
ENTNUM - 图素编号,如为 0 则表示全部图素。
Item1,IT1NUM,Item2,IT2NUM - 某个图素的项目及其编号。
由于几乎可提取数据库中的任何数据,因此该命令参数极多,且有些比较复杂,详细可参见 ANSYS 命令参考手册(ANSYS Commands
Reference),此处不再介绍。
*GET 命令有许多等价的内部函数(称 GET 函数),可以替代 *GET 命令直接提取数据,这些内部提取函数既可将返回值赋给变量,也可直接在命令流中使用,比 *GET 命令更加方便,这里介绍如下。常用 GET 函数表如表所示。
2.5.7 几何建模其它命令与技巧
几何建模命令众多,除上述内容外,尚有其它一些问题和技巧,这里就几何建模的常见问题或技巧予以介绍,以提高建模水平和速度。
1. 撤销操作命令 UNDO
在 GUI 方式操作下,可使用 /UNDO,on 来打开 UNDO 命令,但只能撤销上一次的操作;或使用 UNDO,NEW 建立一个可编辑的 GUI 窗口,允许用户修改最后一次执行 RESUME 或 SAVE 命令后的命令流。
一般不建议使用。
具体命令解释:
GUI:Main Menu > Session Editor
命令:UNDO,Kywrd
其中 Kywrd 为关键词,仅且必须为 NEW,表示使用 UNDO,NEW 建立一个可编辑的 GUI 窗口,允许用户修改最后一次执行 RESUME 或 SAVE 命令后的命令流。发布 UNDO,new 命令后,打开文字窗口编辑器(SESSION EDITOR),其中显示了最后一次执行 RESUME 或 SAVE 命令后的所有操作命令。可以编辑该命令文件,删除拟删除的操作命令,点击 OK 即可完成 UNDO 操作。
2. ANSYS 配置参数命令 /CONFIG
命令:/CONFIG, Lab, VALUE
Lab 为要修改的配置参数,VALUE 为配置参数数值(整数),其值可取:
Lab - 要修改的配置参数,可以是:
NRES — VALUE 表示结果文件中允许的最大结果组个数 (子步数)。默认为 1000。对于 MFX 分析,默认为 5000。最小值 10。
NORSTGM — 在结果文件中是否写入几何数据。VALUE 可以为 0 (写几何数据) 或 1 (不写几何数据)。
对于可能创建过大的文件的复杂分析情况很有用。默认为 0。
NBUF — VALUE 为在求解时每个文件的缓冲 (buffers) 大小 (1 ~ 32),默认为 4。
LOCFL — 文件打开和关闭操作。当 VALUE 为:0 - 整体 (默认); 1 - 局部。用于文件 File.EROT, File.ESAV, File.EMAT 和 File.TRI。
SZBIO — VALUE 表示二进制文件中记录的大小 (1024 到 4194304,按整型字计算)。默认 16384 (与系统有关)。
ORDER — 自动记录方案。当 VALUE 为: 0 - WSORT,ALL; 1 - WAVES; 2 - 同时 WSORT,ALL and WAVES (默认)。
FSPLIT — 定义二进制文件的分割点。VALUE 是按照兆字节的分割点,默认为系统允许的最大文件尺寸。
例如 FAT32 文件系统单个文件最大为 4GB;如果文件格式为 NTFS,理论上单个文件最大 GB,但操作系统在
8GB 以下,而将一个文件用此命令分割为多个文件后其总的大小可超过 8GB(例如设结果文件 20GB,则可分割为 3 个 7GB
的文件)。如果设置 VALUE=750,则所产生的文件大小在 3GB 左右。用该命令参数可以自动分割文件,从而突破操作系统对文
件大小的,并且结果文件虽被分为多个文件,但对结果的处理没有影响。
MXND — 最大节点数,如未指定,第一次使用时默认为 100。在超过最大值时,自动扩展为双倍,包括第一次使用时。
MXEL — 最大单元数。默认和扩展与 MXND 相同。
MXKP — 最大关键点数。默认和扩展与 MXND 相同。
MXLS — 最大线数。默认和扩展与 MXND 相同。
MXAR — 最大面数。默认和扩展与 MXND 相同。
MXVL — 最大体数。默认和扩展与 MXND 相同。
MXRL — 最大实常数组数 (单元属性)。默认和扩展与 MXND 相同。
MXCP — 最大耦合自由度组数。默认和扩展与 MXND 相同。
MXCE — 最大约束方程组数。默认和扩展与 MXND 相同。
NOELDB — 求解后是否将结果写入数据库选项。当 VALUE = 0 (默认), 将结果写入数据库。当 VALUE = 1, 不将结果写入数据库。
DYNA_DBL — 对于显式动力求解器 LS-DYNA 使用双精度版本选项。当 VALUE = 0 (默认), 使用单精度版本。当 VALUE = 1, 使用双精度版本。
STAT — 显示 /CONFIG 命令的当前设置。
注解:
所有配置参数都有初始的默认值,多数情况不需要改变。当需要某个特定的 ANSYS 程序配置时,可以使用此命令进行配置参数设置。
首先发布 /CONFIG,STAT 命令以显示当前值。必须在使用参数之前进行修改。这些修改 (及其它的) 也可以写到 config110.ans 文件中,在执行 ANSYS 程序时读入 (见基本分析指南 Basic Analysis Guide 中的 Configuration File)。如果在配置文件和本命令中出现同样的配置参数,以本命令中的设置为准。
菜单路径
Utility Menu > List > Status > Configuration
3. 关闭警告信息
在命令流建模和求解过程中,由于各种原因系统会产生许多“警告”和“错误”信息,如这些信息过多会引起系统中断,或者有时不希望出现这些不影响计算结果的警告信息,可采用: /NERR 和 /UIS 命令进行控制。命令解释从略。
/NERR,0 ! 关闭所有警告和错误信息的显示,但不能关闭写入 .ERR 文件。
/UIS,MSGPOP,3 ! 则仅显示错误对话框信息
4. 编号控制与操作
编号控制有 NUMOFF、NUMSTR、NUMCMP 和 NUMMRG 等命令。前两个命令为编号控制命令,NUMCMP 为编号管理命令,而 NUMMRG 实际上为合并图素命令。
(1) 为已创建的图素指定一个编号增量
命令:NUMOFF, Label, VALUE
Label - 图素类型参数,其值可取:
=NODE:节点; =ELEM:单元; =KP:关键点;
=LINE:线; =AREA:面; =VOLU:体;
=MAT:材料号; =TYPE:单元类型号; =REAL:实常数号
=CP:耦合组号; =SECN:截面号; =CE:约束方程组;
=CSYS:坐标系号
VALUE - 增量号(不能为负值)。
该命令用于当读入一个模型时,避免覆盖现有模型中的编号数据而对既有图素设置一个增量。
例如用命令流分别创建了两个模型,首先读入第一个命令流创建模型,如直接读入第二个命令流必然会造成数据混乱或覆盖,这时可使用 NUMOFF 命令为既有模型设置编号
增量(此增量足够使得第二个模型的数据不覆盖原有模型数据),然后再读入第二个命令流,从而实现命令流及其模型的合并(或装配)。
例如:
! name1.txt,第一个命令流文件
finish $/clear
/prep7 $csys,1
*do,i,1,36 $k,i,10,10*i $*enddo ! 创建编号为 1~37 的关键点
csys,0$k,37 $*do,i,1,36 $l,37,i $*enddo ! 创建编号为 1~36 的线
! name2.txt,第二个命令流文件,也可将此两个文件合并为一个文件保存
numoff,kp,100 !设置关键点编号增量,即将既有关键点编号增加 100
numoff,line,100 !设置线编号增量,即将既有线编号增加 100
/prep7 $ csys,1
*do,i,1,36 $k,i,20,10*i-5 $*enddo ! 再创建编号编号为 1~37 的关键点
csys,0 $k,37 $*do,i,1,36 $l,37,i $*enddo ! 再创建编号为 1~36 的线
LPLOT
! 实现两个命令流的合并,不必担心数据混乱或覆盖
(2) 为自动图素编号设置起始编号
命令:NUMSTR, Label, VALUE
其中 Label 为图素类型, 其值可取 NODE、ELEM、KP、LINE、AREA、VOLU。
VALUE 为所选图素的起始编号。当 Label 为有限元图素时,VALUE 缺省为既有模型中的节点或单元编号+1;当 Label 为几何图素时,VALUE 缺省为1,且只有未使用的编号才能使用,已经存在的图素不会覆盖。
(3) 编号压缩
在建模过程中,用户可任意定义编号(如 KP)或者因布尔运算等造成某类图素的编号不连续,使用该命令能通过重新编号方式对没有使用的编号进行压缩,可使新的编号从 1 开始对整个模型连续编号。但对于通过 FACETED 转换器读入的 IGES 模型不能使用编号压缩命令。
命令:NUMCMP, Label
其中 Label 可取 NODE、ELEM、KP、LINE、AREA、VOLU、MAT、TYPE、REAL、CP、CE 及 ALL。使用 ALL 选项则压缩上述所有参数的编号。
(4) 合并图素
命令:NUMMRG, Label, TOLER, GTOLER, Action, Switch
Label - 要合并的图素类型,其值可取:NODE、ELEM、KP、MAT、TYPE、REAL、CP、CE 及 ALL。
TOLER - 重合范围容差,对 Label=NODE 和 KP,缺省值为 1.0E-4;对 Label=MAT、REAL 和 CE,缺省值为 1.0E-7。只有在
TOLER 范围之内才认为是重合的或相同的,才能合并。
GTOLER - 全局实体模型公差,仅适用于依附线上关键点的合并。
Action - 合并与选择操作控制。如 Action=SELE 则仅选择但不合并 (仅适用于节点);如 Action=空(缺省),则合并重合或相同
项。该参数可用于检查合并操作是否为预期的内容。
Switch - 在合并操作时,编号保留小号和大号的控制参数,该选项对于关键点无效,关键点合并时总是保留较小的编号;
如 Switch=LOW(缺省)则保留较小编号;如 Switch=HIGH 则保留较大编号。
合并操作虽然在某些情况下与“粘接”布尔运算相似,但对于几何模型,建议使用粘接布尔运算,如 LGLUE、AGLUE 和 VGLUE命令。例如对于体的粘接,执行 NUMMRG,KP 命令,虽然关键点合并了(同时会合并重合的线和面等),但可能仍会有重合或叠合的线和面;如使用粘接运算则不存在这种问题,但可能对网格划分造成影响。因此何时使用 NUMMRG 或 xGLUE 需要根据具体模型而定。
例如两个同样大小的体,采用合并和粘接布尔运算效果是相同的。但是对于两个相邻但形状或大小不完全相同时,则情况就不同了。
5. 改变面小方格疏密命令 /FACET
命令:/FACET, Lab
其中 Lab 为疏密控制参数,其值可取:
=FINE:使用较多的小方格(facets)数目,显示效果最好,但降低了显示速度
=NORML(缺省):使用基本小方格数显示。
=COAR:使用较少的小方格数显示,操作速度较快,但降低了显示质量。
=WIRE:使用“线框”显示模型,操作速度最快,但不显示表面(不填色)。
该命令仅对 APLOT、VPLOT、ASUM 和 VSUM 有影响,即对面和体的显示质量和几何特性计算有影响,同时对操作速度也有一定影响,尤其是模型特别复杂时。
如要查看小方格数目或隐藏面的小方格数目,可使用 SPLOT 命令。
6. ANSYS 调用外部执行程序 EXE 的命令 /SYS
命令:/SYS, String
其中 String 为命令串,最长可达 75 个字符(包括空格和逗号)。
该命令的缺省路径为当前工作目录,但其搜索范围为 ANSYS 设置的路径。例如:
/sys,copy file.log test.log ! 在工作目录下,将文件 FILE.log 复制为 TEST.log
/sys,copy d:\\zfortran\\readme.txt r1.txt ! 复制某个目录下的文件到当前目录
/sys,notepad ! 启动 WINDOW 操作系统的“记事本”程序。
该命令后面的 String 正如在 DOS 操作系统下的操作命令一样。当然,除操作系统
命令外,还能运行可执行文件或命令,如 FORTRAN 语言程序编译形成的 EXE 文件,与 APDL 恰当结合可进行二次开发等。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo9.cn 版权所有 赣ICP备2023008801号-1
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务