ANSYS命令流、二次开发与HELP文档之七-函数编辑与加载设计
发表时间:2009-8-25  作者: D&D_ANSYS-刘军涛    来源: e-works
关键字: ANSYS 命令流 函数编辑 加载设计 
ANSYS程序中有专门的函数功能项,本篇即主要介绍该函数功能项的一些专用术语和应用技巧,在进行复杂载荷的加载和设计时,应用函数功能项是必不可少的,所以,对于一个分析工程师而言,学习这个工具的使用方法也是必要的。
1、基本介绍
    ANSYS的参数菜单包含Functions,即函数功能项,它包含两个子菜单项:
    1)函数编辑器:Utility Menu>Parameters>Functions>Define/Edit;
    2)函数加载器:Utility Menu>Parameters>Functions>Read from file;
    对应于ANSYS函数编辑器,有几个专门的专用术语,需要首先了解和学习,它对理解函数编辑器的使用方法非常重要。主要包括:
    1)Function:函数,即一系列的方程联立在一起用于定义一个高级边界条件;
    2)Primary Variable:基本变量,也叫独立变量,在求解过程中需要计算和使用的变量;
    3)Regime: 状态控制,根据状态控制变量的设计空间或运算范围划分为多个部分,每个部分就就是一个状态控制区间。状态控制区间是根据状态控制变量的上限和下限进行网格划分的,并且要求状态控制变量必须是连续变量,每个状态控制区间对应与一个独立方程用于定义函数关系;
    4)Regime Variable: 状态控制变量,序列方程的定义变量,用于函数计算;
    5)Equation Variable: 方程变量,在一个方程中用户采用的未知变量,当加载一个函数时会定义该变量的数值。
    函数编辑器可用于定义方程和控制条件爱你,使用一组基本变量、方程变量和数学函数去建立方程,可以建立单个方程或一个函数,其中函数是由一系列方程联立组成,每个方程对应于一个特定的状态控制区间,最终用作函数边界条件施加到分析模型中。函数编辑器的工作界面像一个计算器,包括7个选项卡,分别是Function(函数定义)、Regime1(状态1)、Regime2(状态控制2)、Regime3(状态控制3)、Regime4(状态控制4)、Regime5(状态控制5)、Regime6(状态控制6)。函数编辑器工作界面如图1所示。

图1 函数加载器工作界面

2、使用函数编辑器
    在利用函数编辑器定义一个函数时,可按照下面的步骤进行:
    1)打开函数编辑器,选择菜单路径:
    Utility Menu>Parameters>Functions>Define/Edit;
    2)选择函数类型:单个方程还是多值函数,如果选择后者,必须键入函数变量名,即状态控制变量,同时Regime6被激活;
    3)选择角度单位:度还是弧度。但该选择仅仅决定方程如何被运算,而不会影响*AFUN(角度单位转换命令)的设置;
    4)定义方程:利用基本变量、方程变量和按键定义单个方程表达式,或者定义最多6个不同值域的方程表达式(多值函数)。如果定义单个方程函数,直接跳到第8步并保存方程。如果定义多值函数,继续第5步;
    5)单击Regime1选项卡,首先指定状态控制变量的取值空间,然后定义该取值区间中对应的方程表达式。如果需要可以讲每个状态控制下的方程存储起来,在其他状态控制中重复使用;
    6)同理,单击Regime2选项卡和其他状态控制选项卡,完成与定义Regime1选项卡相同的操作。需要注意的是后续的状态控制变量的区间最小值等于前一个区间的最大值,所以只需制定当前区间的最大值;
    7)输入一个注释描述函数(可选),选择菜单路径:
Funtion Editor>File>Comments,弹出添加函数注释信息对话框,输入注释信息,单击OK;
    8)保存函数,选择菜单路径Edit>Save and type in a name,弹出对话框,输入函数存储文件名,且必须有.func扩展名,单击OK按钮即可。
    在函数保存并定义起来之后,可在一些ANSYS分析中被引用,或者被有些有权使用文件的用户使用。当使用这些被存储起来的函数时,需要首先将他们加载到ANSYS程序环境中,并定义一系列方程变量值,以表参数名的形式给某个分析用,所用这些工作都能够用函数加载器完成,在下一节会介绍函数加载器的使用。
3、使用函数加载器
    在使用ANSYS进行分析时,通常需要为方程变量指定值、定义表参数名以及使用函数,因此需要把函数加载到系统中。函数加载器的使用方法按照如下步骤进行:
    1)打开函数加载器,选择菜单路径Utility Menu>Parameters>Functions>Read from file弹出如图2所示的打开函数文件对话框,在系统中到以保存好的函数文件,然后单击Open按钮;

图2 打开函数对话框

    2)之后,弹出函数加载器对话框,在Table parameter name文本框中输入变量名(如TAN_DATA),然后单击OK按钮,当将这个函数作为表参数边界条件使用时,就用到该表名称(%tabname%);
    3)对话框下半部分是对应每个状态的函数表达式和状态表,单击函数表,即显示每个指定方程变量的数据输入区,如果需要使用材料IDs变量的话,还可以看到IDs数据输入区,在输入区中输入相应值;
    4)在每个定义的状态中重复以上过程,然后单击SAVE按钮,直到位函数中所有变量提供赋值,才能将它保存为表格型矩阵参数。
    用函数加载器将函数保存为命名表格型矩阵参数,就可以把它当作表格型边界条件使用。在分析时使用表格型边界条件的详细情况可参见help文档-Applying Loads Using TABLE Type部分。
4、本篇总结
    本篇主要讲述了函数编辑器和函数加载器的相关使用方法和重要信息,通过使用这两个工具使得分析者在施加复杂载荷时游刃有余,能够为分析带来意想不到的乐趣。
ansys中可以用*get命令获取信息。如:
  *get,xx,node,i,loc,x 可以获取第i个节点的x坐标,即把第i个节点的x坐标赋给xx.
  通过内嵌函数,我们可以很方便的实现上述过程: xx=nx(i), nx(i)就是ansys的一个内嵌函数。
  下面我把ansys所有的内嵌函数都列举出来供各位参考:
  1. distnd( i,j) — I,j 两点的距离
  2. node(x,y,z) — 提取距离位置(x,y,z)最近的节点号
  3. kp(x,y,z) — 提取距离位置(x,y,z)最近的关键点号
  4.基本函数
  ABS(x) Absolute value of x.
  SIGN(x,y) Absolute value of x with sign of y. y=0 results in positive sign.
  EXP(x) Exponential of x (ex).
  LOG(x) Natural log of x (ln (x)).
  LOG10(x) Common log of x (log10(x)).
  SQRT(x) Square root of x.
  NINT(x) Nearest integer to x.
  MOD(x,y) Remainder of x/y. y=0 returns zero (0).
  RAND(x,y) Random number (uniform distribution) in the range x to y (x = lower bound, y = upper bound).
  GDIS(x,y) Random sample of a Gaussian (normal) distribution with mean x and standard deviation y.
  SIN(x), COS(x), TAN(x) Sine, Cosine, and Tangent of x. x is in radians by default, but can be changed to degrees with *AFUN.
enum函数  SINH(x), COSH(x), TANH(x) Hyperbolic sine, Hyperbolic cosine, and Hyperbolic tangent of x.
  ASIN(x), ACOS(x), ATAN(x) Arcsine, Arccosine, and Arctangent of x. x must be between -1.0 and +1.0 for ASIN and ACOS. Output is in radians by default, but can be changed to degrees with *AFUN. Range of output is -pi/2 to +pi/2 for ASIN and ATAN, and 0 to pi for ACOS.
  ATAN2(y,x) Arctangent of y/x with the sign of each component considered. Output is in radians by default, but can be changed to degrees with *AFUN. Range of output is -pi to +pi.
  VALCHR (CPARM Numerical value of CPARM (if CPARM is non-numeric, returns 0.0).
  CHRVAL (PARM) Character value of numerical parameter PARM. Number of decimal places depends on magnitude.
  UPCASE CPARM Upper case equivalent of CPARM.
  LWCASE (CPARM) Lower case equivalent of CPARM.
  5. kx(i) :表示关键点i 的x坐标值;同理:ky(i);kz(i)
  6. nx(i) :表示节点i 的x坐标值;同理:ny(i);nz(i)
  7. nsel(k)是节点k在就是1,不在就是0
  8. NDNEXT(N).: Next higher node number above N in selected set (or zero if none found).
  9. NELEM(ENUM,NPOS): returns the node number in position NPOS for element ENUM. Node number at position 1,2,... or 20 of elementN, where npos is 1,2,...20
  10. UX(N), UY(N), UZ(N). :X, Y, or Z structural displacement or vector sum.
  11. ROTX(N), ROTY(N), ROTZ(N):X, Y, or Z structural rotation or vector sum
  12. TEMP(N).:Temperature
  13. PRES(N).:Pressure
  14. VX(N), VY(N), VZ(N).:X, Y, or Z fluid velocity or vector sum
  15. ENKE(N):Turbulent kinetic energy (FLOTRAN).
  16. ENDS(N).:Turbulent energy dissipation (FLOTRAN).
  17. CENTRX(N), CENTRY(N), and CENTRZ(N) always retrieve the element centroid in global Cartesian coordinates, and are determined from the selected nodes on the elements.
  18. ELADJ(N,face):Element number adjacent to face 1,2,...6.。Number assigned to the attribute Name, where Name = MAT, TYPE, REAL, ESYS, PSTAT, LIVE attribute. A zero is returned if the element is unselected. If Name = PSTAT (valid for p-elements only), a 1 is returned if the element
  19. ESEL(N).:Select status of element N: -1 = unselected, 0 = undefined
  20. ELNEXT(N):Next higher element number above N in selected set (or zero if none found).
  21. KSEL(N).:Select status of keypoint N: -1 = unselected, 0 = undefined, 1 = selected.
  22. KPNEXT(N).:Next higher keypoint number above N in selected set (or zero if none found).
  23. LSEL(N).:Select status of line N: -1=unselected, 0=undefined, 1=selected.
  24. LSNEXT(N):Next higher line number above N in the selected set (or zero if none found).

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。