ANSYS函数编辑.docx
《ANSYS函数编辑.docx》由会员分享,可在线阅读,更多相关《ANSYS函数编辑.docx(9页珍藏版)》请在冰豆网上搜索。
ANSYS函数编辑
ANSYS命令流、二次开发与HELP文档之七-函数编辑与加载设计
发表时间:
2009-8-25 作者:
D&D_ANSYS-刘军涛 来源:
e-works
关键字:
ANSYS 命令流 函数编辑 加载设计
ANSYS程序中有专门的函数功能项,本篇即主要介绍该函数功能项的一些专用术语和应用技巧,在进行复杂载荷的加载和设计时,应用函数功能项是必不可少的,所以,对于一个分析工程师而言,学习这个工具的使用方法也是必要的。
1、基本介绍
ANSYS的参数菜单包含Functions,即函数功能项,它包含两个子菜单项:
1)函数编辑器:
UtilityMenu>Parameters>Functions>Define/Edit;
2)函数加载器:
UtilityMenu>Parameters>Functions>Readfromfile;
对应于ANSYS函数编辑器,有几个专门的专用术语,需要首先了解和学习,它对理解函数编辑器的使用方法非常重要。
主要包括:
1)Function:
函数,即一系列的方程联立在一起用于定义一个高级边界条件;
2)PrimaryVariable:
基本变量,也叫独立变量,在求解过程中需要计算和使用的变量;
3)Regime:
状态控制,根据状态控制变量的设计空间或运算范围划分为多个部分,每个部分就就是一个状态控制区间。
状态控制区间是根据状态控制变量的上限和下限进行网格划分的,并且要求状态控制变量必须是连续变量,每个状态控制区间对应与一个独立方程用于定义函数关系;
4)RegimeVariable:
状态控制变量,序列方程的定义变量,用于函数计算;
5)EquationVariable:
方程变量,在一个方程中用户采用的未知变量,当加载一个函数时会定义该变量的数值。
函数编辑器可用于定义方程和控制条件爱你,使用一组基本变量、方程变量和数学函数去建立方程,可以建立单个方程或一个函数,其中函数是由一系列方程联立组成,每个方程对应于一个特定的状态控制区间,最终用作函数边界条件施加到分析模型中。
函数编辑器的工作界面像一个计算器,包括7个选项卡,分别是Function(函数定义)、Regime1(状态1)、Regime2(状态控制2)、Regime3(状态控制3)、Regime4(状态控制4)、Regime5(状态控制5)、Regime6(状态控制6)。
函数编辑器工作界面如图1所示。
图1函数加载器工作界面
2、使用函数编辑器
在利用函数编辑器定义一个函数时,可按照下面的步骤进行:
1)打开函数编辑器,选择菜单路径:
UtilityMenu>Parameters>Functions>Define/Edit;
2)选择函数类型:
单个方程还是多值函数,如果选择后者,必须键入函数变量名,即状态控制变量,同时Regime6被激活;
3)选择角度单位:
度还是弧度。
但该选择仅仅决定方程如何被运算,而不会影响*AFUN(角度单位转换命令)的设置;
4)定义方程:
利用基本变量、方程变量和按键定义单个方程表达式,或者定义最多6个不同值域的方程表达式(多值函数)。
如果定义单个方程函数,直接跳到第8步并保存方程。
如果定义多值函数,继续第5步;
5)单击Regime1选项卡,首先指定状态控制变量的取值空间,然后定义该取值区间中对应的方程表达式。
如果需要可以讲每个状态控制下的方程存储起来,在其他状态控制中重复使用;
6)同理,单击Regime2选项卡和其他状态控制选项卡,完成与定义Regime1选项卡相同的操作。
需要注意的是后续的状态控制变量的区间最小值等于前一个区间的最大值,所以只需制定当前区间的最大值;
7)输入一个注释描述函数(可选),选择菜单路径:
FuntionEditor>File>Comments,弹出添加函数注释信息对话框,输入注释信息,单击OK;
8)保存函数,选择菜单路径Edit>Saveandtypeinaname,弹出对话框,输入函数存储文件名,且必须有.func扩展名,单击OK按钮即可。
在函数保存并定义起来之后,可在一些ANSYS分析中被引用,或者被有些有权使用文件的用户使用。
当使用这些被存储起来的函数时,需要首先将他们加载到ANSYS程序环境中,并定义一系列方程变量值,以表参数名的形式给某个分析用,所用这些工作都能够用函数加载器完成,在下一节会介绍函数加载器的使用。
3、使用函数加载器
在使用ANSYS进行分析时,通常需要为方程变量指定值、定义表参数名以及使用函数,因此需要把函数加载到系统中。
函数加载器的使用方法按照如下步骤进行:
1)打开函数加载器,选择菜单路径UtilityMenu>Parameters>Functions>Readfromfile弹出如图2所示的打开函数文件对话框,在系统中找到以保存好的函数文件,然后单击Open按钮;
图2打开函数对话框
2)之后,弹出函数加载器对话框,在Tableparametername文本框中输入变量名(如TAN_DATA),然后单击OK按钮,当将这个函数作为表参数边界条件使用时,就用到该表名称(%tabname%);
3)对话框下半部分是对应每个状态的函数表达式和状态表,单击函数表,即显示每个指定方程变量的数据输入区,如果需要使用材料IDs变量的话,还可以看到IDs数据输入区,在输入区中输入相应值;
4)在每个定义的状态中重复以上过程,然后单击SAVE按钮,直到位函数中所有变量提供赋值,才能将它保存为表格型矩阵参数。
用函数加载器将函数保存为命名表格型矩阵参数,就可以把它当作表格型边界条件使用。
在分析时使用表格型边界条件的详细情况可参见help文档-ApplyingLoadsUsingTABLEType部分。
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)Absolutevalueofx.
SIGN(x,y)Absolutevalueofxwithsignofy.y=0resultsinpositivesign.
EXP(x)Exponentialofx(ex).
LOG(x)Naturallogofx(ln(x)).
LOG10(x)Commonlogofx(log10(x)).
SQRT(x)Squarerootofx.
NINT(x)Nearestintegertox.
MOD(x,y)Remainderofx/y.y=0returnszero(0).
RAND(x,y)Randomnumber(uniformdistribution)intherangextoy(x=lowerbound,y=upperbound).
GDIS(x,y)RandomsampleofaGaussian(normal)distributionwithmeanxandstandarddeviationy.
SIN(x),COS(x),TAN(x)Sine,Cosine,andTangentofx.xisinradiansbydefault,butcanbechangedtodegreeswith*AFUN.
SINH(x),COSH(x),TANH(x)Hyperbolicsine,Hyperboliccosine,andHyperbolictangentofx.
ASIN(x),ACOS(x),ATAN(x)Arcsine,Arccosine,andArctangentofx.xmustbebetween-1.0and+1.0forASINandACOS.Outputisinradiansbydefault,butcanbechangedtodegreeswith*AFUN.Rangeofoutputis-pi/2to+pi/2forASINandATAN,and0topiforACOS.
ATAN2(y,x)Arctangentofy/xwiththesignofeachcomponentconsidered.Outputisinradiansbydefault,butcanbechangedtodegreeswith*AFUN.Rangeofoutputis-pito+pi.
VALCHR(CPARMNumericalvalueofCPARM(ifCPARMisnon-numeric,returns0.0).
CHRVAL(PARM)CharactervalueofnumericalparameterPARM.Numberofdecimalplacesdependsonmagnitude.
UPCASECPARMUppercaseequivalentofCPARM.
LWCASE(CPARM)LowercaseequivalentofCPARM.
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).:
NexthighernodenumberaboveNinselectedset(orzeroifnonefound).
9.NELEM(ENUM,NPOS):
returnsthenodenumberinpositionNPOSforelementENUM.Nodenumberatposition1,2,...or20ofelementN,wherenposis1,2,...20
10.UX(N),UY(N),UZ(N).:
X,Y,orZstructuraldisplacementorvectorsum.
11.ROTX(N),ROTY(N),ROTZ(N):
X,Y,orZstructuralrotationorvectorsum
12.TEMP(N).:
Temperature
13.PRES(N).:
Pressure
14.VX(N),VY(N),VZ(N).:
X,Y,orZfluidvelocityorvectorsum
15.ENKE(N):
Turbulentkineticenergy(FLOTRAN).
16.ENDS(N).:
Turbulentenergydissipation(FLOTRAN).
17.CENTRX(N),CENTRY(N),andCENTRZ(N)alwaysretrievetheelementcentroidinglobalCartesiancoordinates,andaredeterminedfromtheselectednodesontheelements.
18.ELADJ(N,face):
Elementnumberadjacenttoface1,2,...6.。
NumberassignedtotheattributeName,whereName=MAT,TYPE,REAL,ESYS,PSTAT,LIVEattribute.Azeroisreturnediftheelementisunselected.IfName=PSTAT(validforp-elementsonly),a1isreturnediftheelement
19.ESEL(N).:
SelectstatusofelementN:
-1=unselected,0=undefined
20.ELNEXT(N):
NexthigherelementnumberaboveNinselectedset(orzeroifnonefound).
21.KSEL(N).:
SelectstatusofkeypointN:
-1=unselected,0=undefined,1=selected.
22.KPNEXT(N).:
NexthigherkeypointnumberaboveNinselectedset(orzeroifnonefound).
23.LSEL(N).:
SelectstatusoflineN:
-1=unselected,0=undefined,1=selected.
24.LSNEXT(N):
NexthigherlinenumberaboveNintheselectedset(orzeroifnonefound).
25.LX(n,lfrac):
returntheXcoordinatelocationoflineNatthelengthfractionlfrac(0.0to1.0).同理,LY(n,lfrac);LZ(n,lfrac)
26.
LSX(L,LFRAC)XslopeoflineLatlengthfractionLFRAC(0.0to1.0).
LSY(L,LFRAC)YslopeoflineLatlengthfractionLFRAC(0.0to1.0).
LSZ(L,LFRAC)ZslopeoflineLatlengthfractionLFRAC(0.0to1.0).
27.ASEL(N).:
SelectstatusofareaN:
-1=unselected,0=undefined,1=selected.
28.VSEL(N).:
SelectstatusofvolumeN:
-1=unselected,0=undefined,1=selected.
29.VLNEXT(N).:
NexthighervolumenumberaboveNinselectedset(orzeroifnonefound).
30.距离函数:
DISTND(N1,N2)DistancebetweennodesN1andN2.
DISTKP(K1,K2)DistancebetweenkeypointsK1andK2.
DISTEN(E,N)DistancebetweenthecentroidofelementEandnodeN.Centroidisdeterminedfromtheselectednodesontheelement.
31.角度函数(缺省单位为弧度,单位变换用*AFUN命令)
ANGLEN(N1,N2,N3)Subtendedanglebetweentwolines(definedbythreenodeswhereN1isthevertexnode).Defaultisinradians.
ANGLEK(K1,K2,K3)Subtendedanglebetweentwolines(definedbythreekeypointswhereK1isthevertexkeypoint).Defaultisinradians.
32.最近实体函数
NNEAR(N)SelectednodenearestnodeN.
KNEAR(K)SelectedkeypointnearestkeypointK.
ENEARN(N)SelectedelementnearestnodeN.Theelementpositioniscalculatedfromtheselectednodes
33.面积函数
AREAND(N1,N2,N3)AreaofthetrianglewithverticesatnodesN1,N2,andN3.
AREAKP(K1,K2,K3)AreaofthetrianglewithverticesatkeypointsK1,K2,andK3.
ARNODE(N)AreaatnodeNapportionedfromselectedelementsattachedtonodeN.For2-Dplanarsolids,returnsedgeareaassociatedwiththenode.Foraxisymmetricsolids,returnsedgesurfaceareaassociatedwiththenode.For3-Dvolumetricsolids,returnsfaceareaassociatedwiththenode.
34.法向函数:
NORMNX(N1,N2,N3)X-directioncosineofthenormaltotheplanecontainingnodesN1,N2,andN3.
NORMNY(N1,N2,N3)Y-directioncosineofthenormaltotheplanecontainingnodesN1,N2,andN3.
NORMNZ(N1,N2,N3)Z-directioncosineofthenormaltotheplanecontainingnodesN1,N2,andN3.
NORMKX(K1,K2,K3)X-directioncosineofthenormaltotheplanecontainingkeypointsK1,K2,andK3.
NORMKY(K1,K2,K3)Y-directioncosineofthenormaltotheplanecontainingkeypointsK1,K2,andK3.
NORMKZ(K1,K2,K3)Z-directioncosineofthenormaltotheplanecontainingkeypointsK1,K2,andK3.
35.相邻实体函数
ENEXTN(N,LOC)ElementconnectedtonodeN.LOCisthepositionintheresultinglistwhenmanyelementssharethenode.Azeroisreturnedattheendofthelist.
NELEM(E,NPOS)NodenumberinpositionNPOS(1--20)ofelementE.
36.面函数
ELADJ(E,FACE)Elementadjacenttoaface(FACE)ofelementE.Thefacenumberisthesameasthesurfaceloadkeynumber.Onlyelementsofthesamedimensionalityandshapeareconsidered.A-1isreturnedifmorethanoneisadjacent.
NDFACE(E,FACE,LOC)NodeinpositionLOCofafacenumberFACEofelementE.Thefacenumberisthesameasthesurfaceloadkeynumber.LOCisthenodalpositionontheface(foranIJLKface,LOC=1isatnodeI,2isatnodeJ,etc.)
NMFACE(E)FacenumberofelementEcontainingtheselectednodes.Thefacenumberoutputisthesurfaceloadkey.Ifmultipleloadkeysoccuronaface(suchasforlineandareaelements)thelowestloadkeyforthatfaceisoutput.
ARFACE(E)For2-Dplanarsolidsand3-Dvolumetricsolids,returnstheareaofthefaceofelementEcontainingtheselectednodes.Foraxisymmetricelements,theareaisthefull(360degree)area.