ANSYS5.7入门教程_第1页
ANSYS5.7入门教程_第2页
ANSYS5.7入门教程_第3页
ANSYS5.7入门教程_第4页
ANSYS5.7入门教程_第5页
已阅读5页,还剩368页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ANSYS5.7入门,培训手册,ANSYS5.7入门目录,1.概述2.FEA与ANSYS3.ANSYS基础4.应力分析5.初步决定,6.热分析7.热-应力分析8.几何模型的输入9.实体模型10.网格划分,ANSYS5.7入门目录,11.选择逻辑12.APDL基础13.加载和求解14.后处理15.专题,16.MechanicalToolbar17.耦合和约束方程18.新的梁单元19.模态分析20.非线性分析初步,入门,第1章,欢迎!,欢迎参加ANSYS入门培训!这部分培训课程包含了如何利用ANSYS进行静力分析。这部分内容针对新用户和不常使用ANSYS的用户,没有考虑ANSYS实际应用.此外,ANSYS还提供针对不同专题的高级培训。请查阅ANSYS主页:的“Services”.,入门培训目标,教会学员下述基本能力:ANSYS功能,ANSYS基本术语和ANSYS图形用户界面如何进行一个完整的ANSYS分析其中包含基本步骤建立或输入一个实体模型并进行单元划分加载,求解和观察结果利用一些高级工具逻辑运算,APDL语言,批处理模式,滚动工具条等。,入门培训材料,您手中的培训手册是这一幻灯片的原样拷贝本。练习题的一些描述和说明包含在练习附录中.可以从教师那里拷贝练习文件(如果需要).,有限元分析与ANSYS,第2章,有限元分析与ANSYS概述,在这一节,我们将在介绍有限单元分析同时给出ANSYS功能的概述。标题:A.什么是有限元分析?B.关于ANSYSC.关于ANSYS公司,有限元分析与ANSYSA.什么是有限元分析?,有限元分析是一种模拟设计荷载条件,并且确定在荷载条件下的设计响应的方法。它是用被称之为“单元”的离散的块体来模拟设计。,每一个单元都有确定的方程来描述在一定荷载下的响应。模型中所有单元响应的“和”给出了设计的总体响应。单元中未知量的个数是有限的,因此称为“有限单元”。,HistoricalNoteThefiniteelementmethodofstructuralanalysiswascreatedbyacademicandindustrialresearchersduringthe1950sand1960s.Theunderlyingtheoryisover100yearsold,andwasthebasisforpen-and-papercalculationsintheevaluationofsuspensionbridgesandsteamboilers.,有限元分析与ANSYS.什么是有限元分析?,这种包含有限个未知量的有限单元模型,只能近似具有无限未知量的实际系统的响应。所以问题是:怎样才能达到最好的“近似”?,实际系统,有限元模型,然而,对该问题还没有一个容易的解决方案。这完全依赖于你所模拟的对象和模拟所采用的方式。但是,我们将尽力通过这次培训为你提供指南。,有限元分析与ANSYS.什么是有限元分析?,为什么需要有限元分析?减少模型试验的数量计算机模拟容许对大量的假设情况进行快速有效的试验。模拟不适合在原型上试验的设计。例如:器官移植,比如人造膝盖。概要:节省费用节省时间缩短产品开发时间!创造出更可靠、高品质的设计,有限元分析与ANSYSB.关于ANSYS,ANSYS是一个完整的FEA软件包,它适合世界范围各个工程领域的工程师们使用:结构分析热分析流体分析,包括CFD(计算流体动力学)电/静电场分析电磁场分析ANSYS在部分工业领域中的应用如下:航空航天汽车工业生物医学桥梁、建筑,电子产品重型机械微机电系统运动器械,有限元分析与ANSYS关于ANSYS,ANSYS/Multiphysics是ANSYS产品的“旗舰”,它包括所有工程学科的所有性能ANSYS/Multiphysics有三个主要的组成产品ANSYS/Mechanical-ANSYS/机械-结构及热ANSYS/Emag-ANSYS电磁学ANSYS/FLOTRAN-ANSYS计算流体动力学其它产品:ANSYS/LS-DYNA-高度非线性结构问题DesignSpaceCAD环境下,适合快速分析容易使用的设计和分析工具ANSYS/ProFEAPro/ENGINEER的ANSYS分析接口。,DesignSpace,有限元分析与ANSYS关于ANSYS,超弹密封,有限元分析与ANSYS-关于ANSYS结构分析,结构分析用于确定变形、应变、应力及反力。,静力分析用于静态荷载.可以考虑结构的线性及非线性行为,例如:大变形、大应变、应力刚化、接触、塑性、超弹及蠕变等.,有限元分析与ANSYS-关于ANSYS结构分析,动力分析包括质量和阻尼效应。模态分析,用于计算固有频率和振型。谐响应分析,用于确定结构对正弦变化的已知幅值和频率载荷的响应。瞬态动力学分析,用于确定结构对随时间任意变化载荷的响应,可以考虑与静力分析相同的结构非线性行为。其它结构功能谱分析随机振动特征值屈曲子区模型,有限元分析与ANSYS-关于ANSYS结构分析,用ANSYS/LS-DYNA进行显示动力分析模拟以惯性力为主的大变形分析。用于模拟冲击、碰撞、快速成形等。,有限元分析与ANSYS-关于ANSYS热分析,热分析用于确定物体中的温度分布。热分析考虑的物理量是:热量的获取和损失、热梯度、热通量。可模拟三种热传递方式:热传导、热对流、热辐射。,稳态分析忽略时间效应瞬态分析确定以时间为函数的温度值等。可模拟相变(熔化及凝固),有限元分析与ANSYS-关于ANSYS电磁分析,电磁分析用于计算电磁装置中的磁场静态磁场及低频电磁场分析模拟由直流电源,低频交流电或低频瞬时信号引起的磁场。,例如:螺线管制动器、电动机、变压器磁场分析中考虑的物理量是:磁通量密度、磁场密度、磁力和磁力矩、阻抗、电感、涡流、能耗及磁通量泄漏等。,有限元分析与ANSYS-关于ANSYS电磁分析,高频电磁场分析模拟电磁波的传播装置例如:微波及RF无源组件、波导、同轴连接器。电磁场分析中考虑的物理量是:S-参数、Q-因子、反射波损耗、电介质及传导损耗,同轴电缆中的电场(EFSUM),有限元分析与ANSYS-关于ANSYS电磁分析,静电学计算由电压或电荷激发引起的电场。例如:高压装置,微机电系统(MEMS),传输线。典型的物理量是:电场强度和电容。电流传导计算在一定电压下的导体的电流电路耦合电磁装置与电路的耦合,有限元分析与ANSYS-关于ANSYS电磁分析,电磁分析类型:静态磁场分析用于计算由直流电(DC)或永磁体产生的磁场。交变磁场分析用于计算由交流电(AC)产生的磁场瞬态磁场分析用于计算随时间变化的磁场。,有限元分析与ANSYS-关于ANSYS流体分析,计算流体动力学(CFD)用于确定流体中的流动状态和温度。ANSYS/FLOTRAN能模拟层流和湍流,可压缩和不可压缩流体,以及多组份流。应用:航空航天,电子元件封装,汽车设计。典型的物理量是:速度,压力,温度,对流换热系数。,有限元分析与ANSYS-关于ANSYS流体分析,声学分析用于模拟流体介质和周围固体的相互作用。例如:扬声器,汽车内部,声纳典型的物理量是:压力分布、位移和自振频率。容器内流体分析模拟容器内的非流动流体的影响,确定由于晃动引起的静水压力。例如:油罐,其它液体容器热和质量的传输在两点之间质量传输(如在一个管子中)产生的热量计算由一个一维单元完成,双金属片受热变形,有限元分析与ANSYS-关于ANSYS耦合场分析,耦合场分析考虑两个或多个物理场之间的相互作用。因为两个物理场之间相互影响,所以单独求解一个物理场是不可能的。因此你需要一个能够将两个物理场组合到一起求解的分析软件。,例如:热-应力分析压电分析(电场和结构)声学分析(流体和结构)热-电分析感应加热(磁场和热)静电-结构分析,有限元分析与ANSYSC.关于ANSYS公司,ANSYS公司.ANSYS产品家族的开发者总部位于Canonsburg,PA-USA(匹兹堡南部),有限元分析与ANSYS关于ANSYS公司,ANSYS支持销售商(ASDs)ANSYS销售及支持网络全世界超过75家办事处地区级专家咨询及培训,有限元分析与ANSYS关于ANSYS公司,ANSYS支持管理(ASC)在您公司站点与ANSYS联系ANSYS通信的焦点;软件更新、错误提示、时事通讯和其它邮件形式。如果您需要更多有关ANSYS及其公司的信息,请查看:在线文档资料其它ANSYS培训手册,ANSYS入门,第3章,ANSYS入门,在本章中,我们将讨论怎样进入和退出ANSYS,怎样运用GUI方式和在线帮助,如何用ANSYS生成数据库和文件。主题:A.启动ANSYSB.GUI方式C.显示图形拾取功能D.在线帮助E.数据库和文件F.退出ANSYSG.练习,ANSYS入门A.启动ANSYS,有两种方式启动ANSYS:通过交互方式通过命令交互方式通过菜单上的相应按钮启动ANSYS在Unix系统中,进入xansys57不须将复杂形状的体分解为规则形状的体.体单元仅包含四面体网格,致使单元数量较多.仅高阶(10-节点)四面体单元较满意,因此DOF(自由度)数目可能很多.,映射网格通常包含较少的单元数量.低阶单元也可能得到满意的结果,因此DOF(自由度)数目较少.面和体必须形状“规则”,划分的网格必须满足一定的准则.难于实现,尤其是对形状复杂的体.,网格划分.映射网格划分,生成自由网格自由网格是面和体网格划分时的缺省设置.生成自由网格比较容易:导出MeshTool工具,划分方式设为自由划分.推荐使用智能网格划分进行自由网格划分,激活它并指定一个尺寸级别.存储数据库.按Mesh按钮开始划分网格.按拾取器中PickAll选择所有实体(推荐).或使用命令VMESH,ALL或AMESH,ALL.,网格划分.映射网格划分,生成映射网格由于面和体必须满足一定的要求,生成映射网格不如生成自由网格容易:面必须包含3或4条线(三角形或四边形).体必须包含4,5,或6个面(四面体,三棱柱,或六面体).对边的单元分割必须匹配.对三角形面或四面体,单元分割数必须为偶数.,网格划分.映射网格划分,对四边形面或六面体,允许采用不等的分割,如下面的例子所示,但分割数必须满足一个关系式(见下页).,网格划分.映射网格划分,网格划分.映射网格划分,因此,映射网格划分包含以下三个步骤:保证“规则的”形状,即,面有3或4条边,或体有4,5,或6个面.指定尺寸和形状控制生成网格,网格划分.映射网格划分,保证规则的形状在许多情况下,模型的几何形状上有多于4条边的面,有多于6个面的体.为了将它们转换成规则的形状,您可能进行如下的一项或两项操作:把面(或体)切割成小的,简单的形状.连接两条或多条线(或面)以减少总的边数.,网格划分.映射网格划分,切割可以通过布尔减运算实现.您可以使用工作平面,一个面,或一条线作为切割工具.有时,生成一条新的线或面会比移动或定向工作平面到正确的方向容易得多.,网格划分.映射网格划分,连接操作是生成一条新线(为网格划分),它通过连接两条或多条线以减少构成面的线数.使用LCCAT命令或Preprocessor-Meshing-ConcatenateLines,然后拾取须连接的线.对面进行连接,使用ACCAT命令或Preprocessor-Meshing-ConcatenateAreas,网格划分.映射网格划分,您也可以简单地通过一个面上的3个或4个角点暗示一个连接.此时,ANSYS内在地生成一个连接.在MeshTool中选择Quadshape和Map网格.将3/4sided变为Pickcorners.按Mesh键,拾取面,然后拾取3或4角点形成一规则的形状.,网格划分.映射网格划分,使用连接时注意:它仅仅是一个网格划分操作,因而应为网格划分前的最后一步,在所有的实体建模之后.这是因为,经连接操作得到的实体不能在后续的实体建模操作中使用.可以通过删除产生的线或面“undo(取消)”一个连接.连接面(为在体上映射网格)通常比较复杂,因为您也应该连接一些线.只有在对相邻的两个4边形面作连接时其中的线会自动连接.若两条线或两个面相切交汇可考虑用加(布尔)运算.,网格划分.映射网格划分,指定尺寸和形状控制这是映射网格划分3个步骤中的第2步.选择单元形状非常简单.在MeshTool中,对面的网格划分选择Quad,对体的网格划分选择Hex,点击Map.其中通常采用的尺寸控制和级别如下:线尺寸LESIZE级别较高.若指定了总体单元尺寸,它将用于“未给定尺寸的”线.缺省的单元尺寸DESIZE仅在未指定ESIZE时用于“未给定尺寸的”线上.(智能网格划分无效.),网格划分.映射网格划分,若您指定线的分割数,切记:对边的分割数必须匹配,但您只须指定一边的分割数.映射网格划分器将把分割数自动传送到它的对边.如果模型中有连接线,只能在原始(输入)线上指定分割数,而不能在合成线上指定分割数.,每条初始线上指定6份分割.此线上将自动使用12份分割(合成线的对边).其它两条线上会采用几份分割呢?(后面的演示将会回答这一问题.),网格划分.映射网格划分,生成映射网格只要保证了规则的形状并指定了合适的份数,生成网格将非常简单.只须按MeshTool中的Mesh键,然后按拾取器中的PickAll或选择需要的实体即可.,网格划分.映射网格划分,问题:为划分映射网格您将如何切割这个模型?答案:不值得费力!,网格划分E.过渡网格划分,对体划分网格,至今我们已见了两种选择:自由网格划分,生成一个全四面体网格.这很容易实现但在某些情况下并不令人满意,.映射网格划分,生成一个全六面体网格.这一方法令人满意但通常很难实现.Hex-to-tetmeshing提供了第三种选择,它“集两家之长.”将四面体和六面体网格很好地结合起来而不破坏网格的整体性.,网格划分.过渡网格划分,这一选择是在六面体单元和四面体单元间的过渡区生成金字塔形单元,要求:必须有六面体网格(至少在交界面上有四边形网格).网格划分器首先生成四面体单元,然后通过组合或重新组织过渡区的四面体单元形成金字塔形单元.仅适用于既支持金字塔形又支持四面体形状的单元类型,例如:结构单元SOLID95,186,VISCO89热单元SOLID90多物理场单元SOLID62,117,122,SOLID95,即使在过渡区结果也会很好.即使是从线性六面体单元向二次四面体单元过渡,单元表面都是协调的.,网格划分.过渡网格划分,过渡网格对二次-到-二次和线性-到-二次的过渡都是有效的.后者的单元类型必须支持9-节点金字塔单元.,六面体网格,过渡网格,四面体网格,二次到二次,线性到二次,网格划分.过渡网格划分,过程包括四个步骤:1.生成六面体单元.由对规则形状体划分映射网格开始.(或对交界面划分四边形网格.)对于应力分析,既可采用8-节点块体单元(SOLID45或SOLID185)也可用20-节点块体单元(SOLID95或SOLID186).,网格划分.过渡网格划分,2.激活既支持金字塔单元又支持四面体单元的单元类型.这些单元类型的块体单元通常可退化为金字塔单元或四面体单元.检查在线的单元手册,查看哪些单元类型有效.例如:结构单元SOLID95,186,VISCO89热单元SOLID90多物理场单元SOLID62,117,122,网格划分.过渡网格划分,3.生成四面体单元.首先激活自由网格划分.然后划分那些要生成四面体单元的体.在分界面上会自动生成金字塔单元.,网格划分.过渡网格划分,4.将退化的四面体单元转换成真实的10-节点四面体单元.由转换网格生成器生成的四面体网格由退化单元组成如从20-节点块体单元导出的10-节点四面体单元.这些单元不如真实的10-节点四面体单元(如SOLID92)有效,它求解过程中使用较少的内存,写较小的文件.为了将退化的四面体单元转换成真实的四面体单元,采用:Preprocessor-Meshing-ModifyMeshChangeTets.或使用TCHG命令.,网格划分F.网格拖拉,当把一个面拖拉成一个体时,您可以将面上的网格随同它一起拖拉,得到一个已网格化的体.这称为网格拖拉.优点:易于生成带有块体单元(六面体)或块体单元和棱柱体单元组合的体网格.必要条件:体的形状必须允许它拖拉.,拖拉,网格划分.网格拖拉,步骤1.定义两种单元类型一种面单元和一种体单元.面单元:选择MESH200四边形单元.MESH200是一种仅划分网格(不求解)的单元没有与之相关的自由度或材料特性体单元:应与MESH200单元类型匹配.例如,若您选择的MESH200单元有中间节点,那么3-D实体单元也应有中间节点.ET命令或PreprocessorElementTypeAdd/Edit/Delete,网格划分.网格拖拉,2.用MESH200单元划分需拖拉的面.使用需要的映射划分或自由划分网格密度.PreprocessorMeshTool3.选定单元拖拉选项.,EXTOPT命令或PreprocessorOperateExtrudeElemExtOpts典型的选项是:激活TYPE属性(应为3-D实体).在拖拉方向单元的份数(即,厚度方向的单元数).必须大于零;否则,仅拖拉面,而不拖拉网格.,网格划分.网格拖拉,4.拖拉面.若有连接线,先删除它.如果存在连接,ANSYS将不允许进行拖拉操作.Preprocessor-Meshing-Concatenate-DelConcats-Lines然后利用任一种拖拉方法拖拉面.,网格划分G.扫掠划分,扫掠划分是另一种为体划分网格的选择.它是一个通过扫掠面上的网格从而为一个已有的体划分网格的过程.与网格拖拉相似,只是在这一情况下体必须是存在的(如通过几何体的输入).,网格划分.扫掠划分,优点:易于生成带有块体单元(六面体)或块体单元和棱柱体单元组合的体网格.对体进行四面体网格划分时,选项设置是“不可扫掠的.”自动生成过渡金字塔网格.必要条件:体在扫掠方向的拓扑结构必须一致.例如:穿孔的块体(即使孔洞是锥体).源面和目标面必须是单个面.而不允许是连接面.,不能做扫掠划分,网格划分.扫掠划分,步骤定义并激活一个3-D六面体实体单元类型,如结构单元SOLID45或SOLID95.进入MeshTool选择Hex/Wedge和Sweep.选择如何识别源面和目标面:“AutoSource/Target”选项意味着ANSYS会根据体的拓扑结构自动选择它们.“PickSource/Target”选项意味着您要选择它们.按SWEEP键,遵照拾取器后续的提示指令完成划分.(或使用VSWEEP命令.),网格划分.扫掠划分,四面体网格划分选项在不可采用扫掠划分的体中生成四面体网格是一个十分有用的扫掠选项.为使用此选项:确信单元类型支持退化的金字塔和四面体形单元,如:结构单元SOLID95,186,VISCO89热单元SOLID90多物理场单元SOLID62,117,122选择Preprocessor-Meshing-Mesh-VolumeSweep-SweepOpts并激活四面体网格划分.(或使用EXTOPT,VSWE命令.),网格划分.扫掠划分,注意对一个复杂形体进行映射网格划分,您需要对它做多次切割,做一些连接面或连接线.若采用扫掠划分,您只需做几次切割操作,而不需连接操作!您可以利用标准的网格控制来确定源面的网格.一般不提倡使用智能网格划分,因为它是用于自由网格划分.,网格划分H.实践,本章包括两个练习:1.网格属性设置练习2.网格划分练习,选择逻辑,第11章,选择概述,如果你想进行以下操作:画出所有第二象限内的面删除所有半径在0.2与0.3之间的弧段在所有外部线上施加对流载荷把所有Z=3.5的节点写入一个文件只观察材料是钢的单元的计算结果上述作业都是对模型中的一部分进行操作。选择允许您选择实体的子集合并只在子集合上进行操作。,选择概述,本章的主要目的是介绍如何使用选择及一些有用的选项,在学习完这一章后,您应该能够:选择模型的子集只在这些子集上进行操作定义部件集合小结:A.如何使用选择B.部件与集合C.练习,选择A.如何使用选择,分三个步骤:选择一个子集在这些子集上进行操作重新激活整个集合,Reactivatefullset,Selectsubset,Operateonsubset,选择.如何使用选择,选择子集在实体选择对话框中所有的选择工具都是可用的:UtilityMenuSelectEntities.或者使用xSEL系列命令:KSEL,LSEL,ASEL,VSEL,NSEL,ESEL,选择实体,选择准则,选择类型,选择.如何使用选择,选择的准则:ByNum/Pick:通过实体号或通过拾取操作进行选择Attachedto:通过实体的隶属关系进行选择。例如,通过子集选择与当前子集连接的线。ByLocation:根据X,Y,Z坐标位置选择。例如,选择所有X=2.5的节点。X,Y,Z是当前激活坐标系的坐标。ByAttributes:根据材料号,实常数号等进行选择。对不同的实体所用的属性不相同。Exterior:选择模型外边界的实体ByResults:根据结果数据选择,例如根据节点位移选择,SelectNone,选择方式FromFull:从整个实体集中选择一个子集Reselect:从当前子集中再选择一个子集AlsoSelect:在当前子集中再添加另外一个子集Unselect:从当前子集中去掉一部分Invert:选择当前子集的补集SelectNone:选择空集SelectAll:选择所有实体,选择.如何使用选择,Reselect,AlsoSelect,Unselect,Invert,FromFull,SelectAll,选择.如何使用选择,在子集上进行操作典型的操作包括施加荷载,列出子集结果,或者仅仅是绘制所选实体等。选择一个子集以后,当拾取对话框提示您可以拾取全部实体时,可以方便的使用PickAll按钮,或者可以使用ALL标号。注意:大部分的ANSYS操作,包括SOLVE命令,都只在当前选择的子集上进行。另外一些操作是给选定的子集一个名称用来生成一个部件(将在下一节讨论)。,选择.如何使用选择,重新激活整个集合所有需要的操作在所选子集上完成以后,您要重新激活整个实体集如果在求解前所有的节点和单元不全起作用,求解器就会发出警告信息。激活整个实体的最简单办法就是选择“everything”:UtilityMenuSelectEverything或者使用命令ALLSEL你也可以在选择实体对话框中选择SeleAll按钮,来分开激活各个实体(或者使用KSEL,ALL;LSEL,ALL命令;等)。,选择B.部件及集合,部件是命名的子集合。这个名称可以在对话框或实体号命令或ALL标号中使用。一组节点,单元,关键点,线,面等都可以定义为部件。只能用一种实体类型与组件关连。部件可以选择或不选择。当您选择了一个部件,您实际上就选择了部件中的所有实体。,选择部件及集合,生成一个部件:先选择所需实体的子集。然后给子集命名,用CM命令或UtilityMenuSelectComp/AssemblyCreateComponent不超过8个字符字母,数字,和_(下划线)都允许在名称中使用。组件名用_(下划线)开头将使它成为一个“隐藏的组件名”不能在列表中被显示。最好不用。建议:用以字母开头的名称来定义实体类型。例如,把结点组件命名为N_HOLES,单元组件命名为E_ALUMIN等。激活所有实体。,选择组件&部件,一些有用的选项:画部件UtilityMenuPlotComponentsSelectedComponents或者使用CMPLOT命令选择,不选,重选等。UtilityMenuSelectComp/AssemblySelectComp/Assembly或者使用CMSEL命令,组件列表给出了一系列当前定义过的或选择过的部件.UtilityMenuSelectComp/AssemblyListComp/Assembly或者使用CMLIST命令,选择部件与集合,一个集合由一组部件组成。一个集合也可以由一个或更多其它的部件或部件组成。组成一个集合的其它部件可以是任何实体类型的结合。生成一个集合:UtilityMenuSelectComp/Assembly或者使用CMGRP命令集合的嵌套不能超过五层。例如,一个名为MOTOR的集合可以由如下页所示的集合或部件组成。,选择部件与集合,MOTOR,ROTORASM(体&线),AIRGAP(单元),STATASM(体&单元),STATOR(体),PERMMAG(单元),ROTOR(体),WINDINGS(线),部件,集合,集合,MOTOR集合由体,单元和线组成。,APDL基础,第12章,APDL基础概述,APDL是ANSYS参数化设计语言的的缩写,它是一种允许使用参数并能完成一系列任务的强大的程序语言。使用APDL,您可以:用参数而不是用数值输入模型尺寸,材料类型等。从ANSYS数据库中获取信息,比如节点位置或最大应力。在参数中进行数学运算,包括矢量和矩阵运算。把常用的命令或宏定义成缩写形式。建立一个宏使用if-then-else分支和do循环等来执行一系列任务。,APDL基础概述,这一章的目的是向您介绍APDL的基本功能使您能够:定义并使用标量参数从ANSYS数据库中获取信息您可以从在线帮助的APDL手册中获得更多的信息。我们将就以下问题展开讨论:A.定义参数B.利用参数C.获取数据库信息D.练习,APDL基础A.定义参数,用以下格式定义参数Name=Value可以在输入窗口或标量参数对话框中输入(UtilityMenuParametersScalarParameters.)参数名不能超过8个字符。值可以是一个数值,一个以前定义过的参数,一个函数,一个参数表达式,或者一个字符串(用单引号括住)。,APDL基础.定义参数,例子:inrad=2.5outrad=8.2numholes=4thick=outrad-inrade=2.7e6density=0.283bb=cos(30)pi=acos(-1),g=386massdens=density/gcircumf=2*pi*radarea=pi*r*2dist=sqrt(y2-y1)*2+(x2-x1)*2)slope=(y2-y1)/(x2-x1)theta=atan(slope)jobname=proj1,用*SET看有用参数列表,APDL基础.定义参数,以上例子是关于标量参数的,它只有一个值数字或者字符。ANSYS也提供数组参数,它有若干个值。数字数组和字符数组都是有效的。字符数组在本教程中不讨论。,xvalues=,filnam=,APDL基础.定义参数,一些命名规则:参数名不超过8个字符,并以字母开头。参数名中只能出现字母,数字和下划线。避免以下划线开头,这在ANSYS中另有它用。参数名不分大小写,如“RAD”和“Rad”是一样的。所有的参数都以大写形式存储。避免使用ANSYS标识,如STAT,DEFA,和ALL。,APDL基础B.使用参数,使用参数时,只需在对话框中或通过命令输入参数名就行了。例如,利用参数定义一个w=10,h=5的矩形,您可以使用以下菜单:PreprocessorCreateRectangleBy2Corners+或命令:/prep7blc4,w,h,APDL基础.参数的用法,注意:当使用参数时,ANSYS将立刻把参数名换为它的值。上一个例子中的矩形将被存为10 x5,而不是wxh。也就是说,如果你在生成矩形后再改变w或h的值,矩形将不被修改。,APDL基础.参数的用法,其它一些关于参数用法的例子:jobname=proj1/filnam,jobname!作业名/prep7youngs=30e6mp,ex,1,youngs!杨氏模量force=500fk,2,fy,-force!2号关键点的力fk,6,fx,force/2!6号关键点的力,APDL基础C.从数据库中获取信息,从数据库中获取信息并给参数赋值,使用*GET命令或UtilityMenuParametersGetScalarData.对获取大量信息是很有用的,包括模型和结果数据,请参看*GET命令的详细资料。,APDL基础.从数据库中获取信息,例子:*get,x1,node,1,loc,x!x1=节点1的x坐标CSYS*/post1*get,sx25,node,25,s,x!sx25=节点25的x方向应力RSYS*get,uz44,node,44,u,z!uz44=节点44的UZ方向的位移RSYS*nsort,s,eqv!对节点的vonMises应力排序*get,smax,sort,max!smax=排序的最大值etable,vol,volu!用vol存储单元体积ssum!对单元表的列求和*get,totvol,ssum,vol!totvol=对vol的列求和*CSYS=激活坐标系(CSYS)RSYS=激活的结果坐标系(RSYS),APDL基础.从数据库中获取信息,一些数据可以通过函数获取。例如:x1=nx(1)!x1=节点1的x坐标CSYS*nn=node(2.5,3,0)!nn=在(2.5,3,0)处的节点CSYS*/post1ux25=ux(25)!ux25=25号节点的UX值RSYS*temp93=temp(93)!temp93=节点93的温度值width=distnd(23,88)!width=23号节点和88号节点间的距离*CSYS=激活坐标系(CSYS)RSYS=激或的结果坐标系(RSYS),APDL基础.从数据库中获取信息,在一些地方您可以直接取函数值,就象用一个参数一样。例如:k,10,kx(1),ky(3)!10号关键点x坐标取1号关键点的x坐标,y坐标取!3号关键点的y坐标k,11,kx(1)*2,ky(3)!CSYS*f,node(2,2,0),fx,100!在节点(2,2,0)施加力FXCSYS*CSYS=激活坐标系(CSYS),APDL基础,概要:利用格式Name=Value定义参数.参数值可以是一个数值,一个以前定义过的参数,一个函数,一个参数表达式,或者一个字符串。利用*GET命令或函数从ANSYS数据库中获取信息。ANSYS存储的是参数的实际值(数字或字符串),而不是参数名。,2.数组参数,数组参数是能够容纳多个值的参数数组参数可以是1-D,2-D,or3-D.1-D:m行x1列2-D:m行xn列3-D:m行xn列xk面,17.1-47.6-5.225.0107.9,814173861057-477041033-52348714125-66622107111,5x1array,5x3array,mxnx3array,AA=,BB=,CC=,.数组参数,本章主要讨论怎样定义和使用数组参数.主要内容:A.数组参数的类型B.怎样定义数组C.获取数据库信息D.数组操作E.专题,数组参数A.数组参数的类型,有三种数组参数类型:数值数组表字符数组数值数组是标准的1-D,2-D,或3-D数值矩阵,如下面的BBBB(2,3)=704BB(3,1)=1033等.,数组参数.数组参数的类型,数据表除了行、列、面可以是实数外与数值数组类似。第零行、零列、零面必须填充数字。对定义随时间变化的载荷和类似情况非常有用例如,表FORCE可以表示力随时间的变化关系,第零行表示时间值。FORCE(0.4)=279.9996FORCE(6.5)=560.0FORCE(8.9)=119.25等,数组参数.数组参数的类型,一个字符型数组是1-D,2-D,或3-D的字符串矩阵可用来存放文件名,自由度标识等每个字符串不超过8个字符。,JOB1JOB2JOB3JOB4JOB5,jobs=,UXUYUZROTYROTZ,dofs=,数组参数B.怎样定义数组,定义数组的步骤:1.指定类型和维数UtilityMenuParametersArrayParametersDefine/EditAdd或使用*DIM命令.例如:*dim,aa,array,4!4x1x1array*dim,force,table,5!5x1x1table*dim,bb,array,5,3!5x3x1array*dim,dofs,char,6!6x1x1characterarray,数组参数.怎样定义数组,2.给数组赋值UtilityMenuParametersArrayParametersDefine/EditEdit或使用*VEDIT命令或使用“=”命令.例如:bb(1,1)=11,21,31,41,51bb(1,2)=12,22,32,42,52bb(1,3)=13,23,33,43,53,数组参数.怎样定义数组,对于表型数组,必须定义第0位置。否则,取缺省值7.8886E-31.例如:force(1,1)=0,560,560,238.5,0force(1,0)=1E-6,0.8,7.2,8.5,9.3force(0,1)=0,数组参数.怎样定义数组,对字符数组,不能以图形方式填充字符串使用“=”命令键入值,接着用*STAT显示字符串每个字符串必须用单引号括起来例如:dofs(1)=ux,uy,uz,rotx,roty,rotz*stat,dofs,数组参数.怎样定义数组,给数组赋值的其他方法:用*VFILL命令或(UtilityMenuParametersArrayParametersFill)预定义函数赋值跃阶函数随机函数等从一个文件读入数据:*VREAD用于数值数组*TREAD用于数据表或UtilityMenuParametersReadfromFile从数据库获取(下一步讨论).,数组参数C.获取数据库信息,正如*GET从数据库获取标量数据,可以用*VGET获取数组信息.或UtilityMenuParametersGetArrayData先定义数组,然后获取数据.例如:*dim,dispval,array,20,3!20 x3array*vget,dispval(1,1),node,1,u,x!UXofnodes1-20incolumn1*vget,dispval(1,2),node,1,u,y!UYincolumn2*vget,dispval(1,3),node,1,u,z!UZincolumn3,数组参数获取数据库信息,其他可获取的数组信息类型:节点和关键点坐标(当前坐标系)单元属性,体,面等.实体的选择状态(1选上,0未选上)节点应力,应变,温度梯度,热通量等单元表数据等,数组参数D.数组操作,一旦定义了数组参数,就可以对它们进行各种操作UtilityMenuParametersArrayOperations或使用*VFUN,*VOPER,*VSCFUN,*VWRITE等命令,数组参数.数组操作,*VFUN对单个数组操作*vfun,b(1),sin,a(1)等价于b(j)=sin(a(j)其他操作包括:自然对数,常用对数,指数平方根,排序,复制局部坐标系与整体坐标系的相互转换关系路径的切线和法线矢量等,数组参数.数组操作,*VOPER对两个数组参数操作。*voper,c(1),a(1),sub,b(1)等价于c(k)=a(k)-b(k)其它操作包括:加,减,乘,除最小值,最大值,逻辑运算微分,积分点积和叉积,数组参数.数组操作,*VSCFUN定义数组参数的属性。*vscfun,maxval,max,a(1)等价于一个标量maxval=max(a(i)其它操作包括:求数组的所有元素的和诸如标准偏差,中值,平均数等统计量最小值/最大值,最小值/最大值的位置第一个和最后一个非零记录的位置,数组参数.数组操作,*VWRITE把数据按格式写进文件例如:*cfopen,wing,dat*vwrite(/,3x,NodeNumber,4x,Temperature,/)*vwrite,nnum(1),tval(1)(5x,f6.0,6x,e14.8)*cfclose将会创建一个名为wing.dat的文件,包含指定格式的nnum和tval数组,数组参数.数组操作,还有大量很有用的数组操作。请参考APDL程序员指南获取详细情况.,10.宏基础,APDL(ANSYS参数设计语言)最强有力的特征之一是创建宏的能力。宏就是一系列贮存在一个文件中的ANSYS命令,并且能象一个ANSYS命令一样来运行。常用宏功能:它可以如同ANSYS命令一样具有变量。分支和循环用来控制一系列命令。交互式特征如图形拾取,提示,以及对话框。宏可以嵌套一个宏引用第二个宏,第二个宏引用第三个宏,等等一直可嵌套20级。,宏基础,在这一章,我们将给出创建宏的基本步骤:A创建一个宏B带参数的宏C分支D循环E总的指导方针F练习更多的细节,请参考APDL程序指南等,宏基础A.创建宏,创建一个宏,在文本编辑器中,创建一系列命令,并以文件名name.mac保存它们.name以一个字母开始,可以达32个字符。在文件名中空格不允许。避免特殊字符。确保name不是一个有效的ANSYS命令。可以在开始或所有处理器(PREP7,POST1,等等)中进行检验。如果得到这种信息.不是有效的命令或宏那么这个名字是“安全的”。扩展名.mac允许你运行宏如同运行一个命令一样:只需敲入name。,宏基础创建宏,例子:宏totvolume.mac用来计算所有单元的整个体积:esel,all!选择所有单元etable,volume,volu!将所有单元体积建立单元表ssum!求解单元表选项总和*get,totvol,ssum,item,volume!totvol=体积总和*stat,totvol!列totvol值在Post1(在求解之后)中发出totvolume来计算整个体积。,宏基础创建宏,搜索路径:ANSYS首先在下列搜索路径中寻找文件name.mac并运行它:1ansys57/docu2在ANSYSMACROLIB环境变量路径中。3在WINDOWS系统中的注册路径。4当前工作路径。如果在上级路径和下级路径同时寻找到同样的文件名,则采用上级路径。,宏基础B.带参数的宏,通过特殊的字符名,你可以创建多达20个参数的宏:NAME,arg1,arg2,arg3,ar10,ar11,ar12,ar20参数如同标准的ANSYS命令中的参数,可以为:数字字符(被包括在单引号中)参数(标量或数组)参数表达式参数的意义由所定义的宏来决定。,宏基础带参数的宏,例如,我们可以定义宏totvolume.mac来计算指定类型的所有单元体积和:TOTVOLUME,TYPE宏具体如下:esel,s,type,arg1etable,volume,volussum*get,totvol,ssum,item,volume*vwrite,arg1,totvol(Totalvolumefortype,f4.0,elements=,f8.2)求解之后在通用后处理器中发出totvolume,1将得出下列结果:,宏基础带参数的宏,注意:特殊的字符名ARG1ARG9和AR10AR99仅仅是局部参数,仅仅在该宏中有效。一旦宏运行结束后并返回ANSYS主程序,它们将无意义。避免在模型的其它地方应用这些名称。无论何时应用参数时,一定通过在宏中包含注释来描述它们的意义。例如,下面在宏totvolume.mac的开始处的注释是非常有用的。!MacroTOTVOLUME.MACtocalculatetotalvolumeofelements!Usage:TOTVOLUME,TYPE.validonlyinPOST1afterasolve!TYPE=validelementtypenumberesel,stype,arg1,宏基础C.分支,通过应用IFTHENELSE结构,在只有一定的条件满足的情况下,你可以运行一个命令或命令块。在*IF和*ELSEIF命令中,可以运用AND,OR,或XOR比较符。IF,A,EQ,B,AND,C,GT,D,THEN分枝以*IF开始和*ENDIF结束。*ELSEIF和*ELSE在它们中也可以使用:*if,x,eq,y,then,*elseif,x,eq,z,then,*else,*endif,宏基础分枝,条件符可能是:x,EQ,y!x=yx,NE,y!xyx,LT,y!xyx,LE,y!xyx,GE,y!xyx,ABLT,y!|x|y|X和Y可以是数字,参数,或参数表达式。,操作符为:THEN运行随后的命令块*EXIT退出DO循环*CYCLE跳到DO循环末端这些操作符只有当条件为真是才起作用。否则,ANSYS将会移至*ELSEIF(若提供),*ELSE(若提供),和*ENDIF。,*if,x,eq,y,then,宏基础分支,例如,你可以在宏totvolume.mac中增加if-test来测试输入的变量是的有效性:*if,arg1,lt,1,then!如果ARG1小于1*msg,warn!发出一个警告Elementtypenumbermustbe1orgreater!退出宏/eofesel,s,type,arg1!选择所有确定类型的单元etable,volume,volu!建立单元表ssum!求解单元表数据总和发出totvolume,-1将得出下列结果:,宏基础D.循环,DO循环允许执行一个命令块数次。实际上在DO循环中对其中包含什么内容没有限制。你可以包含任何ANSYS命令包括前处理,求解和处理这是在条件允许的情况下。DO开始循环,ENDDO结束循环。你可以用EXIT(退出循环)和CYCLE(跳到DO循环末)控制循环。EXITT和CYCLE也可以根据if-test的结果来执行。作为一个例子,我们通过加入DO循环来扩展宏totvolume.mac,计算所有单元类型并将它们各的体积保存在数组参数中。,宏基础循环,!-MacroTOTVOLUME.MACtocalculatetotalelementvolume.!-Usage:IssueTOTVOLUMEinPOST1afterasolution.!-Result:!-a)evolume(i)=totalvolumeforelementtypei!-b)totvol=grandtotalvolume!*get,numtypes,etype,num,count!Getnumberofel

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论