ansys-APDL编程 - 图文

? 参数名不能以下划线(_)开头。这类参数名只能用于GUI 和应用于ANSYS的宏中。

3.2.1 从*STATUS命令中隐藏参数

3.3.4部分讲述了通过*STATUS命令列表显示参数。可以通过参数的命名约定来从*STATUS命令中隐藏参数:名称中以下划线(_)结束的任何参数,在执行*STATUS命令都将不被显示。 当为很多其他用户开发APDL宏时,这一功能是十分有用的。可以用这一功能来建立宏,而ANSYS用户和其它的宏编程人员不能列表显示你定义的参数。

3.3 定义参数

除非特别说明,以下几节的内容对标量和数组类型参数都适用。从3.11后的内容只适用于数组类型的参数。

定义参数的方法主要有:可以把值赋给参数,也可以提取ANSYS提供的值,再把这些值赋给参数。还可以用*GET命令或各种内嵌获取函数从ANSYS中提取值。下面的部分对其进行详细说明。

3.3.1 在运行过程中给参数赋值

可以用*SET命令定义参数。如下面的例子: *SET,ABC,-24 *SET,QR,2.07E11 *SET,XORY,ABC

*SET,CPARM,'CASE1'

也可以用\作为一种速记符来调用*SET命令(这更方便),其格式为Name=Value,这里Name是指参数名,Value是指赋给该参数的数值或字符。对于字符参数,赋给的值必须被括在单引号中,并不能超过8个字符。下面的例子说明\的用法:

ABC=-24 QR=2.07E11 XORY=ABC CPARM='CASE1'

在GUI中,可以直接在ANSYS输入窗口或标量参数对话框的\域(通过Utility Menu>Parameters>Scalar Parameters菜单项访问)中输入\。

3.3.2 在启动时给参数赋值

当从操作系统的命令行启动ANSYS时,可以定义参数作为变量:仅仅只需在ANSYS的运行命令(与系统有关)之后按-Name Value的格式输入参数定义即可。例如,下面定义了两个参数(parm1 and parm2),分别赋值89.3 和 -0.1:

ansys55 -parm1 89.3 -parm2 -0.1

最好不要在启动时指派一个或两个字符参数名,以避免与ANSYS命令行选项发生冲突。

第 6 页

注意- UNIX操作系统把单引号和有些非文字数字字符作为专用符号。定义字符参数时,必须在单引号前插入后斜线(\\)以免误会。例如,下面定义两个字符参数,分别赋值`filename' 和 `200' :

ansys55 -cparm1 \\'filename\\' -cparm2 \\'200\\'

如果不是用命令行形式启动ANSYS,可以通过Interactive 或 Batch菜单项(仍采用上面描述的-Name Value格式)来定义参数。

假如在启动时要定义很多参数,更加方便的做法是在start5x.ans文件中或一个能用/INPUT命令加载的单独文件中进行参数定义。

3.3.3 赋ANSYS 提供的值给参数

ANSYS提供了两种方法来从ANSYS中提取数据:

1. *GET命令,从某个特定的项目中提取数据并赋给某个特定的参数;

2. 内嵌获取函数,可在运行时使用。每个获取函数从某个特定的项目中提取特定的数

据。

3.3.3.1 *GET命令的用法

*GET命令(Utility Menu>Parameters>Get Scalar Data)从某个特定的项目(一个点、一个单元、一个面等)中提取ANSYS提供的数据并赋给某个用户命名的参数。各种关键词、标识字和数字结合在一起来确定被提取的项目。例如,*GET,A,ELEM,5,CENT,X返回单元5的质心的X坐标值并赋给参数A。

*GET命令的使用格式为:

*GET,Par,Entity,ENTNUM,Item1,IT1NUM,Item2,IT2NUM 这里,

? Par是将被赋值的参数名;

? Entity是被提取项目的关键词,有效的关键词是NODE, ELEM, KP, LINE, AREA,

VOLU等,在ANSYS Commands Reference(ANSYS命令参考手册)中的*GET部分对之有完整的说明;

? ENTNUM是实体的编号(若为0指全部实体);

? Item1是指某个指定实体的项目名。例如,如果Entity 是 ELEM, 那么Item1 要么

是 NUM (选择集中的最大或最小的单元编号) ,要么是COUNT (选择集中的单元数目)。在ANSYS Commands Reference(ANSYS命令参考手册)中的*GET部分对每种实体的Item1值有完整的说明。

可以把*GET命令看成是对一种树型结构从上至下的路径搜索,即从一般到特殊的确定。 可用下面的例子来说明*GET命令的用法。下面的第一条命令用于获得单元97的材料属性(MAT参考号)并赋给单元BCD:

*GET,BCD,ELEM,97,ATTR,MAT ! BCD = 单元97的材料号 *GET,V37,ELEM,37,VOLU ! V37 = 单元37的体积

*GET,EL52,ELEM,52,HGEN ! EL52 = 在单元52生成的热值 *GET,OPER,ELEM,102,HCOE,2 ! OPER =单元102面2上的热系数 *GET,TMP,ELEM,16,TBULK,3 ! TMP = 单元16面3上的体积温度 *GET,NMAX,NODE,,NUM,MAX ! NMAX = 最大激活节点数

第 7 页

*GET,HNOD,NODE,12,HGEN ! HNOD = 在节点12生成的热值 *GET,COORD,ACTIVE,,CSYS ! COORD = 激活的坐标系值

3.3.3.2 内嵌获取函数的用法

对于某些项目,可以用内嵌的获取函数来代替*GET命令。获取函数返回项目的值并直接用于当前运行之中。这样就不必先把值赋给参数,然后再在运行中调用该参数,从而可以省去起中间作用的参数。例如,要计算两个节点的X坐标的平均值,可以采用*GET函数: 1. 使用下面的命令来把节点1的X坐标值赋给参数L1:

*GET,L1,NODE,1,LOC,X

2. 再使用*GET命令来把节点2的X坐标值赋给参数L2; 3. 计算中间值MID=(L1+L2)/2.。

更简便的方法是使用节点坐标的获取函数NX(N),该函数返回节点N的X坐标值。这样就可以不用中间参数L1 和 L2。如下所示:

MID=(NX(1)+NX(2))/2

获取函数的参数可以是参数也可以是其它的获取函数。例如,获取函数NELEM(ENUM,NPOS)返回在单元ENUM上NPOS处的节点编号,则联合函数NX(NELEM(ENUM,NPOS))返回该节点的X坐标值。 下面的表总结了所有可用的获取函数: 获取函数 NSEL(N) ESEL(E) KSEL(K) LSEL(L) ASEL(A) VSEL(V) NDNEXT(N) ELNEXT(E) KPNEXT(K) LSNEXT(L) ARNEXT(A) VLNEXT(V) CENTRX(E) CENTRY(E) CENTRZ(E) NX(N) NY(N) NZ(N) KX(K) KY(K) 提取值 实体状态: 节点N的状态(-1=未被选择, 0=未定义, 1=被选择) 单元E的状态(-1=未被选择, 0=未定义, 1=被选择) 关键点K的状态(-1=未被选择, 0=未定义, 1=被选择) 线L的状态(-1=未被选择, 0=未定义, 1=被选择) 面A的状态(-1=未被选择, 0=未定义, 1=被选择) 体V的状态(-1=未被选择, 0=未定义, 1=被选择) 选择下一个实体: 选择节点编号大于N的下一个节点 选择单元编号大于E的下一个单元 选择关键点编号大于K的下一个关键点 选择线编号大于L的下一条线 选择面编号大于A的下一个面 选择体编号大于V的下一个体 定位: 单元E的质心在总体笛卡儿坐标系中的x坐标值 单元E的质心在总体笛卡儿坐标系中的y坐标值 单元E的质心在总体笛卡儿坐标系中的z坐标值 节点N在当前激活坐标系中的x坐标值 节点N在当前激活坐标系中的y坐标值 节点N在当前激活坐标系中的z坐标值 关键点K在当前激活坐标系中的x坐标值 关键点K在当前激活坐标系中的y坐标值 第 8 页

KZ(K) LX(L,LFRAC) LY(L,LFRAC) LZ(L,LFRAC) NODE(X,Y,Z) KP(X,Y,Z) 关键点K在当前激活坐标系中的z坐标值 线L的长度百分数为LFRAC (0.0 to 1.0)处的X坐标值 线L的长度百分数为LFRAC (0.0 to 1.0)处的Y坐标值 线L的长度百分数为LFRAC (0.0 to 1.0)处的Z坐标值 就近定位: 距点X,Y,Z最近的被选择的节点的编号(在当前激活坐标系中;符合条件的关键点中编号最小者) 距点X,Y,Z最近的被选择的关键点的编号(在当前激活坐标系中;符合条件的关键点中编号最小者) 距离: 节点N1 和节点N2之间的距离 关键点K1 和关键点K2之间的距离 单元E的质心和节点N之间的距离。质心由单元上选择的节点确定。 角度: 两条线之间的夹角(由三个节点确定,其中N1为顶点)。单位缺省为弧度。 两条线之间的夹角(由三个关键点确定,其中K1为顶点)。单位缺省为弧度。 离某实体最近: 最接近节点N的节点 最接近关键点K的关键点 最接近节点N的单元。单元位置由选择的节点确定。 面积: 由节点N1, N2, 和 N3围成的三角形的面积 由关键点K1,K2, 和 K3围成的三角形的面积 与节点N相连的被选择单元在节点N上分配的面积。对于二维平面实体,返回与节点N相连边界的面积;对于轴对称实体,返回与节点N相连边表面的面积;对于三维体实体,返回与节点N相连面的面积。 法向: DISTND(N1,N2) DISTKP(K1,K2) DISTEN(E,N) ANGLEN(N1,N2,N3) ANGLEK(K1,K2,K3) NNEAR(N) KNEAR(K) ENEARN(N) AREAND(N1,N2,N3) AREAKP(K1,K2,K3) ARNODE(N) NORMNX(N1,N2,N3) 节点N1, N2, 和N3确定平面的法线与X轴的夹角的余弦值 NORMNY(N1,N2,N3) 节点N1, N2, 和N3确定平面的法线与Y轴的夹角的余弦值 NORMNZ(N1,N2,N3) 节点N1, N2, 和N3确定平面的法线与Z轴的夹角的余弦值 NORMKX(K1,K2,K3) 关键点K1,K2, 和K3确定平面的法线与X轴的夹角的余弦值 NORMKY(K1,K2,K3) 关键点K1,K2, 和K3确定平面的法线与Y轴的夹角的余弦值 NORMKZ(K1,K2,K3) 关键点K1,K2, 和K3确定平面的法线与Z轴的夹角的余弦值 关联: ENEXTN(N,LOC) NELEM(E,NPOS) ELADJ(E,FACE) 与节点N相连的单元。若有很多单元与节点N相连,则由LOC定位。列表结束时返回零。 单元E中在NPOS (1-20)位置上的节点号。 表面: 与单元E的某个表面号(FACE)邻近的单元。面号与面载荷关键号第 9 页

联系客服:779662525#qq.com(#替换为@)