接触分析
接触问题是一种高度非线性行为,需要较大的计算资源,为了进行实为有效的计算,理解问题的特性和建立合理的模型是很重要的。
接触问题存在两个较大的难点:其一,在你求解问题之前,你不知道接触区域,表面之间是接触或分开是未知的,突然变化的,这随载荷、材料、边界条件和其它因素而定;其二,大多的接触问题需要计算摩擦,有几种摩擦和模型供你挑选,它们都是非线性的,摩擦使问题的收敛性变得困难。
一般的接触分类
接触问题分为两种基本类型:刚体─柔体的接触,半柔体─柔体的接触,在刚体─柔体的接触问题中,接触面的一个或多个被当作刚体,(与它接触的变形体相比,有大得多的刚度),一般情况下,一种软材料和一种硬材料接触时,问题可以被假定为刚体─柔体的接触,许多金属成形问题归为此类接触,另一类,柔体─柔体的接触,是一种更普遍的类型,在这种情况下,两个接触体都是变形体(有近似的刚度)。
ANSYS接触能力
ANSYS支持三种接触方式:点─点,点─面,平面─面,每种接触方式使用的接触单元适用于某类问题。
为了给接触问题建模,首先必须认识到模型中的哪些部分可能会相互接触,如果相互作用的其中之一是一点,模型的对立应组元是一个结点。如果相互作用的其中之一是一个面,模型的对应组元是单元,例如梁单元,壳单元或实体单元,有限元模型通过指定的接触单元来识别可能的接触匹对,接触单元是覆盖在分析模型接触面之上的一层单元,至于ANSTS使用的接触单元和使用它们的过程,下面分类详述。
点─点接触单元
点─点接触单元主要用于模拟点─点的接触行为,为了使用点─点的接触单元,你需要预先知道接触位置,这类接触问题只能适用于接触面之间有较小相对滑动的情况(即使在几何非线性情况下)
如果两个面上的结点一一对应,相对滑动又以忽略不计,两个面挠度(转动)保持小量,那么可以用点─点的接触单元来求解面─面的接触问题,过盈装配问题是一个用点─点的接触单元来模拟面─与的接触问题的典型例子。
点─面接触单元
点─面接触单元主要用于给点─面的接触行为建模,例如两根梁的相互接触。
如果通过一组结点来定义接触面,生成多个单元,那么可以通过点─面的接触单元来模拟面─面的接触问题,面即可以是刚性体也可以是柔性体,这类接触问题的一个典型例子是插头到插座里。
使用这类接触单元,不需要预先知道确切的接触位置,接触面之间也不需要保持一致的网格,并且允许有大的变形和大的相对滑动。
Contact48和Contact49都是点─面的接触单元,Contact26用来模拟柔性点─刚性面的接触,对有不连续的刚性面的问题,不推荐采用Contact26因为可能导致接触的丢失,在这种情况下,Contact48通过使用伪单元算法能提供较好的建模能力。
面─面的接触单元
ANSYS支持刚体─柔体的面─面的接触单元,刚性面被当作“目标”面,分别用Targe169和Targe170来模拟2─D和3—D的“目标”面,柔性体的表面被当作“接触”面,用Conta171,Conta172,Conta173,Conta174来模拟。一个目标单元和一个接单元叫作一个“接触对”程序通过一个共享的实常号来识别“接触对”,为了建立一个“接触对”给目标单元和接触单元指定相同的实常的号。
与点─面接触单元相比,面─面接触单元有好几项优点,
支持低阶和高阶单元支持有大滑动和摩擦的大变形,协调刚度阵计算,单元提法不对称刚度阵 的选项。
提供工程目的采用的更好的接触结果,例如法向压力和摩擦应力。
没有刚体表面形状的限制,刚体表面的光滑性不是必须允许有自然的或网格离散引起的表面不连续。
与点─面接触单元比,需要较多的接触单元,因而造成需要较小的磁盘空间和CPU时间。
允许多种建模控制,例如:
绑定接触渐变初始渗透目标面自动移动到补始接触平移接触面(老虎梁和单元的厚度)
支持死活单元
使用这些单元,能模拟直线(面)和曲线(面),通常用简单的几何形状例如圆、抛物线、球、圆锥、圆柱采模拟曲面,更复杂的刚体形状能使用特殊的前处理技巧来建模。
执行接触分析
不同的接触分析类型有不同的过程,下面分别讨论面─面的接触分析
在涉及到两个边界的接触问题中,很自然把一个边界作为“目标”面而把另一个作为“接触”面,对刚体─柔体的接触,“目标”面总是刚性的,“接触”面总是柔性面,这两个面合起来叫作“接触对”使用Targe169和Conta171或Conta172来定义2-D接触对,使用Targe170和Conta173或Conta174来定义3-D接触对,程序通过相同的实常收号来识别“接触对”。
接触分析的步骤:
执行一个典型的面─面接触分析的基本步骤列示如下:
建立模型,并划分网格识别接触对定义刚性目标面定义柔性接触面设置单元关键字和实常的定义/控制刚性目标面的运动给定必须的边界条件定义求解选项和载荷步求解接触问题查看结果步骤1:建立模型,并划分网格
在这一步中,你需要建立代表接触体几何形状的实体模型。与其它分析过程一样,设置单元类型,实常的,材料特性。用恰当的单元类型给接触体划分网格。
命令:AMESH
VMESH
GUI:Main Menu>Preprocessor>mesh>Mapped>3 or4 Sided
Main Menu>Pneprocessor>mesh>mapped>4 or 6 sided
步骤二:识别接触对
你必须认识到,模型在变形期间哪些地方可能发生接触,一是你已经识别出潜在的接触面,你应该通过目标单元和接触单元来定义它们,目标和接触单元跟踪变形阶段的运动,构成一个接触对的目标单元和接触单元通过共享的实常号联系起来。
接触环(区域)可以任意定义,然而为了更有效的进行计算(主要指CPU时间)你可能想定义更小的局部化的接触环,但能保证它足以描述所需要的接触行为,不同的接触对必须通过不同的实常数号来定义(即使实常数号没有变化)。
由于几何模型和潜在变形的多样形,有时候一个接触面的同一区域可能和多个目标面产生接触关系。在这种情况下,应该定义多个接触对(使用多组覆盖层接触单元)。每个接触对有不同的实常数号。
步骤三:定义刚性目标面刚性目标面可能是2—D的或3─D的。在2—D情况下,刚性目标面的形状可以通过一系列直线、圆弧和抛物线来描述,所有这些都可以用TAPGE169来表示。另外,可以使用它们的任意组合来描述复杂的目标面。
在3—D情况下,目标面的形状可以通过三角面,圆柱面,圆锥面和球面来推述,所有这些都可以用TAPGE170来表示,对于一个复杂的,任意形状的目标面,应该使用三角面来给它建模。
控制结点(Pilot)
刚性目标面可能会和“pilot结点“联系起来,它实际上是一个只有一个结点的单元,通过这个结点的运动可以控制整个目标面的运动,因此可以把pilot结点作为刚性目标的控制器。整个目标面的受力和转动情况可以通过pilot结点表示出来,“pilot结点”可能是目标单元中的一个结点,也可能是一个任意位置的结点,只有当需要转动或力矩载荷时,“pilot结点”的位置才是重要的,如果你定义了“pilot结点”ANSYS程序只在“pilot结点”上检查边界条件,而忽略其它结点上的任何约束。
对于圆、圆柱、圆锥、和球的基本图段,ANSYS总是使用条一个结点作为“pilot结点”
基本原型
你能够使用基本几形状来模拟目标面,例如:“圆、圆柱、圆锥、球。直线、抛物线、弧线、和三角形不被允许、虽然你不能把这些基本原型彼此合在一起,或者是把它们和其它的目标形状合在一起以便形成一个同一实常数号的复杂目标面。但你可以给每个基本原型指定它自己的实常的号。
单元类型和实常数
在生成目标单元之前,首先必须定义单元类型(TARG169或TARG170)。
命令:ET
GUI:main menu>preprocessor>Element Type> Add/Edit/Delete
随后必须设置目标单元的实常数。
命令:Real
GUI:main menn>preprocessor>real constants
对TARGE169和TARGE170仅需设置实常数R1和R2,而只有在使用直接生成法建立目标单元时,才需要从为指定实常数R1、R2,另外除了直接生成法,你也可以使用ANSYS网格划分工具生成目标单元,下面解释这两种方法。
使用直接生成法建立刚性目标单元
为了直接生成目标单元,使用下面的命令和菜单路径。
命令:TSHAP
GUI:main menu>preprocessor>modeling-create>Elements>Elem Attributes
随后指定单元形状,可能的形状有:
straight line (2D)
parabola (2-D)
clockwise arc(2-D)
counterclokwise arc (2-D)
circle(2-D)
Triangle (3-D)
Cylinder (3-D)
Cone (3-D)
Sphere (3-D)
Pilot node (2-D和3-D)
一旦你指定目标单元形状,所有以后生成的单元都将保持这个形状,除非你指定另外一种形状。
然后你就可以使用标准的ANSYS直接生成技术生成结点和单元。
命令:N
E
GUI:main menu>pnoprocessor> modeling- create> nodes
main menu>pnoprocessor> modeling- create>Elements
在建立单元之后,你可以通过列示单元来验证单元形状
命令:ELIST
GUI:utility menu>list>Elements>Nodes+Attributes
使用ANSYS网格划分工具生成刚性目标单元
你也可以使用标准的ANSYS网格划分功能让程序自动地生成目标单元,ANSYS程序将会以实体模型为基础生成合适的目标单元形状而忽略TSHAP命令的选项。
为了生成一个“PILOT结点”使用下面的命令或GUI路径:
命令:Kmesh
GUI:main menu>proprocessor>meshing-mesh>keypoints
注意,KMESH总是生成“PILOT结点”
为了生成一个2─D目标单元,使用下面的命令和GUI路径:
ANSYS在每条直线上生成一条单一的线,在样条曲线上生成抛物线部分,在每条圆弧和倒角上生成圆弧部分,如果所有的圆弧形成一个封闭的圆,ANSYS生成一个单一的圆段。
命令:LMESH
GUI:main menu>pneprocessor>mesling-mesh>lines
为了生成3─D的目标单元,使用下面的命令或GUI路径。
如果实体模型的表面部分形成了一个完整的球,圆柱或圆锥,那么ANSYS程序自动生成一个基本的3─D目标单元,因为生成较少的单元,从而使你分析计算更有效率,对任意形状的表面,应该使用Amesh命令来生成目标单元,在这种情况下,网格形状的质量不是重要的,而目标单元的形状是否能完成好的模拟刚性面的表面几何形状显得更重要。
命令:AMESH
GUI:main menu>preprocessor>-meshing-mesh>Area
ANSYS在所有可能的面上推荐使用三角形的映射网格划分,如果在表面的边界上没有曲率,则在网格划分时,指定那条边界分为一分,下面的命令或GUI路径将尽可能的生成一个映射网格(如果不能进行映射,它将生成自由网格)
命令:MSHKFY,2
GUI:main menu>preprocessor>-meshling-mesh>-Ares-Target Surf
建模和网格划分的注意点:
一个目标面可能由两个或多个面断的区域组成,你应该尽可能地通过定义多个目标面来使接触区域局部比(每个目标面有一个不同的实常数号)刚性目标面上由的离散能足够指述出目标面的形状,过粗的网格离散可能导致收敛问题。如果刚性面有一个实的凸角,求解大的滑动问题时很难获得收敛结果,为了避免这些建模问题,在实体模型上,使用线或面的倒角来使尖角光滑比,或者在曲率突然变化的区域使用更细的网格。
注意:不能使用镜面对称技术(ARSYSM,LSYMM)来映射圆、圆柱、圆锥或球面到对称平面的另一边,因为每个实常数的设置不能同时赋给多个基本原型段。
检验目标面的接触方向。
目标面的结点号顺序是重要的,因为它定义了接触主向,对2─D接触问题,当沿着目标线从第一个结点移向第二个结点时,变形体的接触单元必须位于目标面的右边。
对3─D接触问题,目标三角形单元号应该使刚性面的外法线方向指向接触面,外法线通过右手原则来定义
为了检查法线方向,显示单元坐标系
命令:/PSYMS,ESYS,1
GUI:Utility menu>plotctrls>symbols
如果单元法向不指向接触面,选择单元反转表面的法向的方向。
命令:ESURF,,REVE
GUI:main menu>preprocossor>create>Element>on free surf
步骤4:定义柔性体的接触面
为了定义柔性体的接触面,必须使用接触单元CONFA171或CONFA172(对2─D)或CONTA173或CONTA174(对3─D)来定义表面
程序通过组成变形体表面的接触单元来定义接触表面,接触单元与下面覆盖的变形体单元有同样的几何特性,接触单元与下面覆盖的变形体单元必须处于同一阶次(低阶或高阶)下面的变形体单元可能是实体单元、壳单元、梁单元或超单元,接触面可能壳或梁单元任何一边。
与目标面单元一样,你必须定义接触面的单元类型,然后选择正确的实常数号(实常数号必须与它对应目标的实常数号相同)最后生成接触单元。
单元类型:
下面简单描述四种类型的接触单元
CONTA171:这是一种2─D,2个结点的低附线单元,可能位于2─D实体,壳或梁单元的表面
CONTA172:这是一个2─D的,3结点的高阶抛物线形单元,可能位于有中结点的2─D实体或梁单元的表面
CONTA173:这是一个3─D的,4结点的低阶四边形单元可能位于3─D实体或壳单元的表面,它可能褪化成一个结点的三角形单元。
CONTA174:这是一个3─D,8结点的高阶四边形单元,可能位于有中结点的3─D实体或壳单元的表面,它可能褪化成6结点的三角形单元。
不能在高阶柔性体单元的表面上分成低阶接触单元,反之也不行,不能在高阶接触单元上消去中结点。
命令:ET
GUI:main menu>preprocessor>Element type>Add/Edit/Delete
实常数和材料特性
在定义了单元类型之后,需要选择正确的实常数的设置,每个接触对的接触面和目标面必须有相同的实常数号,而每个接触对必须有它自己不同的实常数号。
ANSYS使用下面柔性体单元的材料特性来计算一个合适的接触(或罚)刚度,如果下面的单元是一个超单元。接触单元的材料的设置必须与超单元形成时的原始结构单元相同,生成接触单元。
我们既可以通过直接生成法生成接触单元,也可以在柔性体单元的外表面上自动生成接触单元,我们推荐采用自动生成法,这种方法更为简单和可靠。
可以通过下面三个步骤来自动生成接触单元
1、选择结点
选择已划分网格的柔性体表面的结果,如果你确定某一部分结点永远不会接触到目标面,你可以忽略它以便减少计算时间,然而,你必须保证设有漏掉可能会接触到目标面的结点。
命令:NSEL
GUI:main menu>preprocessor>create>Element>on>free surf
生成接触单元
命令:ESURF
GUI:main menu>preprocessor>create>Element>on free surf
如果接触单元是附在已用实体单元划分网格的面或体上,程序会自动决定接触计算所需的外法向,如果下面的单元是梁或壳单元,则必须指明哪个表面(上表面或下表面)是接触面
命令:ESURF,TOP OR BOTIOM
GUI:main menu>preprocessor>create>Element>on free surf
使用上表面生成接触单元,则它们的外法向与梁或壳单元的法向相同,使用下表面生成接触单元,则它们的外法向与梁或壳单元的法向相反,如果下面的单元是实体单元,则TOP或BOTTOM选项不起作用
3、检查接触单元外法线的方向,当程序进行是否接触的检查时,接触面的外法线方向是重要的,对3─D单元,按结点程序号以右手定则来决定单元的外法向,接面的外法向应该指向目标面,否则,在开始分析计算时,程序可能会认为有面的过度渗透而很难找到初始解。在此情况下,程序一般会立即停止执行,你可以检查单元外法线方向是否正确。
命令:/PSYMB
GUI:Utility menu>plotctrls>symbols
当发现单元的外法线方向不正确时,必须通过倒不正确单元的结点号来改变它们。
命令:ESURF,REVE
GUI:main menu>preprocossor>Create>Elements on free surf
步骤5:设置实常数和单元关键字程序使用九个实常数和好几个单元关键字来控制面─面接触单元的接触行为。
实常数
9个实常数中,两个(R1和R2)用采定义目标面单元的几何形状,乘下的7个用来控制接触行为。
R1和R2定义目标单元几何形状
FKN 定义法向接触刚度因子
FTOLN 定义最大的渗透范围
ICONT 定义初始靠近因子
PINB 定义“Pinball"区域
PMIN和PMAX 定义初始渗透的容许范围
TAUMAR 指定最大的接触摩擦
命令:R
GUI:main menu> preprocessor>real constant
对实常数FKN,FTOLN,ICONT,PINB,PMAX,和PMIN,你既可以定义一个正值也可以定义一个负值,程序将正值作为比例因子,将负值作为真实值,程序将下面覆盖原单元的厚度作为ICON,FTOLN,PINB,PMAX和PMIN的参考值,例如对ICON,0.1表明初始间隙因子是0.1*下面覆盖层单元的厚度。然而,-0.1表明真实缝隙是0.1,如果下面覆盖层单元是超单元,则将接触单元的最小长度作为厚度。
单元关键字
每种接触单元都饭知好几个关键字,对大多的接触问题缺省的关键字是合适的,而在某些情况下,可能需要改变缺省值,来控制接触行为。
接触算法(罚函数+拉格郎日或罚函数)(KEYOPT(2))
出现超单元时的应力状态(DEYOPT(3))
接触方位点的位置 (KEYOPI(4))
刚度矩阵的选择 (KEYOPT(6))
时间步长控制 (KEYOPT(7))
初始渗透影响 (KEYOPT(9))
接触表面情况 (KEYOPT(12))
命令:KEYOPT
ET
GUI:main menu>preprocessor>Elemant Type>Add/Edit/Delete
选择接触算法:
对面─面的接触单元,程序可以使用扩增的拉格朗日算法或罚函数方法,通过使用单元关键字KETOPT(2)来指定。
扩张的拉格朗日算法是为了找到精确的拉格朗日乘子而对罚函数修正项进行反复迭代,与罚函数的方法相比,拉格朗日方法不易引起病态条件,对接触刚度的灵敏度较小,然而,在有些分析中,扩增的拉格朗日方法可能需要更多的迭代,特别是在变形后网格变得太扭曲时。
使用拉格朗日算法的同时应使用实常数FTOLN
FTOLN为搠格朗日算法指定容许的最大渗艉,如果程序发现渗透大于此值时,即使不平衡力和位移增量已经满足了收敛准则,总的求解仍被当作不收敛处理,FTLON的缺省值为0.1,你可以改变这个值,但要注意如果此值太小可能会造成太多的迭代次数或者不收敛。
决定接触刚度
所有的接触问题都需要定义接触刚度,两个表面之间渗 量的大小取决了接触刚度,过大的接触刚度可能会引起总刚矩阵的病态,而造成收敛困难,一般来谘,应该选取足够大的接触刚度以保证接触渗透小到可以接受,但同时又应该让接触刚度足够小以使不会引起总刚矩阵的病态问题而保证收敛性。
程序会根据变形体单元的材料特性来估计一个缺省的接触刚度值,你能够用实常数FKN来为接触刚度指定一个比例因子或指定一个真正的值,比例因子一般在0.01和10之间,当避免过多的迭代次数时,应该尽量使渗透到达极小值。
为了取得一个较好的接触刚度值,又可需要一些经验,你可以按下面的步骤过行。
开始时取一个较低的值,低估些值要比高估些值好因为由一个较低的接触刚度导致的渗透问题要比 过高的接触刚度导致的收敛性困难,要容易解决。
对前几个子步进行计算检查渗透量和每一子步中的平衡迭代次数,如果总体收敛困难是由过大的渗透引起的(而不是由不平衡力和位移增量引起的),那么可能低估了FKN的值或者是将FTOLN的值取得大小,如果总体的收敛困难是由于不平衡力和位移增量达到收敛值需要过多的迭代次数,而不是由于过大的渗透量,那么FKN的值可能被高估。
按需要调查FKN或FTOLN的值,重新分析。
选择摩擦类型。
在基本的库仑摩擦模型中,两个接触面在开始相互滑动之前,在它们的界面上会有达到某一大小的剪应力产生,这种状态则作粘合状态(stick)库仑摩擦模型定义了一个等效剪应力。)一旦剪应力超过此值后,两个表面之间将开始相互滑动,这种状态,叫作滑动状态(Sliding)粘合\滑动计算决定什么时候一个点从粘合状态到滑动状态或从滑动状态变到粘合状态,摩擦系数可以是任一非负值。程序缺省值为表面之间无摩擦,对rough或bonded接触(KEYOPT(2)=1(或3),程序将不管给定的MV值而认为摩擦阻力无限大。
程序提供了一个不管接触压力的故而人为指定最大等效剪应力的选项,如果等效剪应力达到此值时,滑动发生。看图,4─1,为了指定接触界面上最大许可剪应力,设置常数 TAUMAX(缺省为1.0E20),这种限制剪应力的情况一般用于接触压力非常大的时候,以至于用库仑理论计算出的界面剪应力超过了材料的屈服极限。一对TAUMAX的一个合理高估为(是材料的mises屈服应力)。
图4—1 摩擦模式
对无摩擦rough和bonded接触,接触单元刚度矩阵是对称的,而涉及到摩擦的接触问题产生一个不对称的刚度,而在每次迭代使用不对称的求解器比对称的求解器需要更多的计算时间,因此ANSYS程序采用对称化算法。通过采用这种算法大多的摩擦接触问题能够使用对称系统的求解器来求解。如果摩擦应力在整个位移范围内有相当大的影响,并且摩擦应力的大小高度依赖于求解过程。对刚度阵的任何对称近似都可能导致收敛性的降低,在这种情况下,选择不对称求解选项(KEYOPT(6)=1)来改善收敛性。
选择检查接触与否的位置接触检查点位于接触单元的积分点上,在积分点上,接触单元不渗透进入目标面,然而,目标面能渗透进入接触面,看图4—2。
图4—2 接触检查点位于高斯积分点上
ANSYS面─接触单元使用GAUSS积分点作为缺省值,GAUSS积分点通常会比Newton-Cotes/robatto结点积分项产生更精确的结果,Newton-cotes/lobatto使用结点本身作为积分点,通过KEYOPT(4)来选择,你想使用的方法,然而,使用结点本身作为积分点仅应该用于角接触问题(看图4─3)。
图4—3 接触检查点位于高斯结点上然而,使用结点作为接触发现点,可能会导致其它的收敛性问题,例如“滑脱”(结点滑下目标面的边界)看图4─4,对大多的点─面的接触问题,我们推荐使用其它的点─面的接触单元,例如CONTA26、CONTA48和CONTA49。
图4—4 结点滑脱调整初始接触条件
在动态分析中,刚体运动一般不会引起问题,然而在静力分析中,当物体没有足够的约束时会产生刚体运动,有可能引起错误而终止计算。
在仅仅通过接触的出现来约束刚体运动时,必须保证在初始几何体中,接触对是接触的,换句话说,你要建立模型以便接触对是“刚好接触”的,然而这样作可能会遇到以下问题:
刚体外形常常是复杂的,很难决定第一个接触点发生在哪儿既使实体模型是在初始接触状态,在网格划分后余于数值舍入误差;两个面的单元网格之间也可能会产生小的缝隙。
接触单元的积分点和目标单元之间可能有小的缝隙。
同理,在目标面和接触面之间可能发生过大的初始渗透,在这种情况下,接触单元可能会高估接触力,导致不收敛或 民接触面之间脱离开接触关系。定义初始接触也许是建立接触分析模型时最重要的方面,因此,程序提供了几种方法来调整接触对的初始接触条件。
注意:下面的技巧可以在开始分析时独立执行成几个联合起来执行,它们是为了消除由于生成网格造成的数值舍入误差而引起的小缝隙或渗透,而不是为了改正网格或几何数据的错误。
使用实常数ICONT来指定一个好的初始接触环,初始接触环是指沿着目标面的“调整环”的深度,如果没有人为指定ICONT的值,程序会根据几何尺寸来给ICONT提供一个小值,同时输出一个表时什么值被指定的警告信息,对ICONT一个正值表示相对于下面变形体单元厚度的比例因子,一个负值表示接触环的真正值,任何落在“调整环”敬域内的接触检查点被自动移到目标面上,(看图4—5(a))建议使用一个小的ICONT值否则,可能会发生大的不连续(看图4─5(b))
图4—5 用ICON进行接触面的调整调整前调整后使用实常数PMIN和PMAX来指定初始容许的渗透范围,当指定PMAX或PMIN后,在开始分析时,程序会将目标面移到初始接触状态,如果初始渗透大于PMAX,程序会调整目标面的减少渗透,接触状态的初始调节仅仅通过平移来实现。
对给定载 或给定位移的刚性目标面将会执行初始接触状态的初始调节。同样,对没有指定边界条件的目标面也可以进行初始接触的调整。
当目标面上的节点,有给的零位移值时,使用PMAX和PMIN的初始调节将不会被执行。
注意:ANSYS程序独立地处理目标面上节点的自由度,例如:如果你指定自中度UX值为“0”,那么,沿着X方向就没有初始调查,然而,在Y和Z方向仍然会激活PMAX和PMIN选项。
初始状态调整是一个迭代过程,程序最多进行20次迭代,如果目标面不能进入可接受的渗透范围,程序会给出一个警告信息,你可能需要调整你的初始几何模型。
图4─6给出了一个初始接触调整迭代失败的例子。目标面的UY被约束住。因此,初始接触唯一容许的调整是在X方向,然而,在这个问题中,刚性目标面在X方向的任何运动都不会引起初始接触。
图4—6 一个初始调整失败的例子设置KEYOPI(9)=1来消除初始渗透,看图4─7。
图4—7 消除初始始渗透在某些情况下,例如过盈装配问题,期望有过度的渗,为了缓解收敛性困难,在第一个载荷步中设置KEYOTI(9)=2来使过度渗透渐进到0,看图4─8。当使用这种方法时,在第一个载 步中不要给定其它任何载荷,也就是说要保证载荷是渐进的(KBC,0)
图4—8 渐进初始渗透在开始分析时,程序会给出每个目标面的初始接触状态的输出信息,(在输出窗口或输出文件中),这个信息有助于决定每个目标面的最大渗透成最小间隙。
对于给定的目标面如果没有发现接触,可能是目标面离接触面太远(超出了Piaball区域或者是接触/目标单元已经被杀死。
决定接触状态和Pinball区域。
接触单元相对于目标面的运动和位置决定了接触单元的状态;程序检测每个接触单元并给出一种状态
STAT=0 未合的远区接触
STAT=1 未合的近区接触
STAT=2 滑动接触
STAT=3 粘合接触
当目标面进入pinball区域后,接触单元就被当作未合上的近区域接触,pinball区域是以接触单元的积分点为中心的。使用实常数PINB来为pinball指定一个比例因子(正值)或其实值(负值),缺省时,程序将pinball区域定义为一个以4*变形体单元厚度为半径的圆(对2-D问题)或球(对3-D问题)。
检查接触的计算时间依赖于pinball区域的大小,远区接触单元的计算是简单的且计算时间较少,近区接触计算将要接触的接触单元是较慢的,并是较复杂,当单元已经接触时,计算最为复杂。
如果刚性面有好几个凸形区域,为了克服伪接触定义,设置一个合适的pinball区域是有用的,名而对大多数问题,缺省值是合适的
选择表面作用模式
通过设置kcyopt(12)来选择下面的某种作用模式法问单边接触 (KEYOPT(12)=0)
.粗糙接触,用来模拟无滑动的,表面相当粗糙的摩擦接触问题,这种设置对应于摩擦系数无限大(MU),因此用户定义的摩擦系的(MU)被忽略KEYOPT(12)=1)
.不分开的接触,用来模拟那种一是接触就再不分开的问题,这种不分开是指对法方接触而言,允许有相对滑动。(KEYOPT(12)=2)
.绑定接触 用来模拟那种接触一是发生表面在所省方向都被绑定的问题。一旦接触就再也不能脱开也不允许有相对滑动(KEYOPT(12)=3)
用超单元建立接触模型
面一面的接触单元能模拟刚体和另一个有 的运动的线 单性体的接触,而线 单性体又以体用超单元来建模,这大大降低了进行接触 代的自由度数,记住任荷接触结定都必须是超单元的主自由度。
既然超单元仅仅由一组保留的结点自由度组成,它没有用来定义接触的表面几何形状,因此,必须在形成超单元之前在单元表面上 成接触单元,来自超单元的信息包括结点连结和组合刚度,但是没有材料特性和应力状态,(是否轴支称,平面应力或平面应变),一个限制是接触单元的材料特性设置必须与形成超单元之前的原始单元的材料特性相同。
使用KEYOPT(3)来提供接触分析的信息,对2─D单元(CONTA171 CONTA172)关键字选项如下所示:
.不使用超单元(KETOPT(3)=0)
.轴对称(KEYOPT(3)=1)
.平面应变或单位厚度的平面应力(KEYOPT(3)─2)
.需要厚度输X的平面应力(KEYOPT(3)=3),对这种情况使用实常数的R2来指定指定厚度
对3─D单元(CONTA173,CONTA174)关键字选项如下示:
使用H单元(KETOPI(3)=0)
使用超单元(KEYOPI(3)=1)
考虑厚度影响
程序够用KEYOPI(11)来考虑壳(2-D和3-D)和梁(2-D)的厚度缺省时,程序不考虑单元厚度,用或中面来表示它。当设置KFTOPI(11)=1时则考虑梁或壳的厚度,从底面或顶面来计算接触距离,建模时要考虑到厚度,记住刚性目标面会向任一边移动,半个梁或壳单元的厚度,当使用壳单元181号时,在变形期间厚度的变化也将被考虑。
使用时间步长控制时间步长控制是一个自动时间步长特征,这个特征预测什么时间接触单元的状态,将发生变化或者需要二分当前的时间步长,使用KEYOPT(7)来选择下列四种行为之一来控制时间步长。KEYOPT(7)=0时不提供控制,KEYOPT(7)=3提供最多的控制。
KEYOPI(7)=0,设有控制,时间步 的大小不受预测影响,当自动时间步长被激活且允许一个很小的时间步长时,这个设置是合适的。
KETOPI(7)=1如果一次迭代期间有太大的渗透发生或者接触状态突然变化,则进行时间步长二分。
KEYOPI(7)=2对下一个子步预测一个合理的时间增量
KETOPI(7)=3对下一个子步,预测一个最小的时间增量
使用死活单元选项
面─面的接触单元允许激活或杀死单元,能够在分析的某一阶段中杀死这个单元而在以后的阶段再重新激活它,这个特征对于模拟复杂的金属戍形过程是有用的、在此过程的不同分析阶段有多个目标需要和接触面相互作用,回弹模拟常常需要在成形过程的后期移走刚性工具。
步骤六:
控制刚性目标的运动。
按照物体的原始外形来建立的且整个表刚性目标面是面的运动是通过“pilot”结点上的给定来定义的,(如果没有定义“pilot”结点,则通过刚性目标面上的不同结点。)
为了控制整个目标面的运动,在下面的任何情况下都必须使用"pilot"结点。
目标面上作用着给定的外力目标面发生旋转目标面和其它单元相连(例结构质量单元)
"pilot"结点的厚度代表着整个刚性面的运动,你可以在"pilot"结点上给定边界条件(位移、初速度)集中载 转动等等,为了考虑刚体的质量,在"pilot"结点上定义一个质量单元。
当使用"pilot"结点时,记住下面的几点局限性每个目标面只能有一个“Pilot"的结点
.圆、圆锥、圆柱、球的第一个结点(结点工)是”pilot“结点,你不能另外定义或改变"pilot"结点
.程序忽略不是"lilot"结点的所有其它结点上的边 条件。
.只有“pilot”结点能与其它单元相连
.当定义了“pilot”结点后,不能使用约束方程(CF)或结点来耦合(CP)来控制目标面的自由度,如果你在刚性面上给定任意载荷或者约束,你必须定义“pilot”结点,是在"pilot"结点上加载,如果没有使用“pilot”结点,则只能有刚体运动。
在每个载 步的开始,程序检查每个目标面的边界条件,如果下面的条件都满足,那么程序将目标面作为固定处理:
在目标面结点上没有明确定义边界条件或给定力
.目标面结点没有和其它单元相连
.没有目标面结上使用约束方程或结点来 合
在每个载体步的末尾,程序将会放松被内部设置的约束条件步骤7:给变形体单元加必要的边界条件
现在可以按需要加上任你边界条件。加载过程与其它的分析类型相同步骤8:定义求解和载 步选项
接触问题的收敛性随问题不同而不同,下面列式了一些典型的在大多数面—面的接触分析中推荐使用的选项时间步长必须足够 以描述适当的接触 。如果时间步 太大,则接触力的光滑传递会被破坏,设置精确时间步长的可信赖的方法是打开自动时间步长。
命令:Autots,on
GUI:Main Menu>Solution>-load step opts-Time/Frequence>Time&Time step
/Time& substeps
.如果在迭代期间接触状态变化,可能发生不连续,为了避免收敛太慢,使用修改的刚度阵,将牛顿一拉普森选项设置成FULL
命令:NROPT,FULL,,OFF
GUI:Main Menu>Solution>Analysis options
不要使用自下降因子,对面一面的问题,自适应下降因子通常不会提供任何帮助,因此我们建议关掉它。
·设置合理的平衡迭代次数,一个合理的平衡迭代次数通常在25和50之间命令:NEQIT
GUI:Main Menu>Solution>-load step opts-Nonlinear>Equilibriwm iter
因为大的时间增量会使 代趋向于变得不稳定,使用线性搜索选项来使计算稳定化。
命令:LNSRCH
GUI:Main menu>solution>-load step opts-Nonlinear>lins search
·除非在大转动和动态分析中,打开时间步长预测器选项命令:PRED
GUI:main mean>solarion>-load step opis-nonlinear>predictor
在接触分析中许多不收敛问题是由于使用了太大的接触刚度引起的,(实常数FKN)检验是否使用了合适的接触刚度。
步骤九:求解
现在可以对接触问题进行求解,求解过程与一般的非线问题求解过程相同第十步:检查结果
接触分析的结果主要包括位移、应力、应变,支,和接触信息(接触压力、滑动等)你可以在一般的后处理器(post1)或时间历程后处理器(post26)中查看结果。
注意点:
为了在post1中查看结果,数据库文件所包含的模型必须与用于求解的模型相同。
必须存在结果文件在post1中查看结果从输出文件中查看分析是否收敛。
如果不收敛,你可能不想后处理,而更在乎为什么不收敛。
如果已经收敛,继续后处理。
进入post1如果你的模型不在当前的数据库中,使用恢复命令(resume)来恢复它。
命令:/post1
GUI:main menu>General postproc
读入所期望的载荷步和子步的结果,这可以通过载荷步和子步数也可以通过时间来实现。
命令:SET
GUI:main menu>generad postproc
使用下面的任何一个选项来显示结果选项:显示变形形状态命令:PLDISP
GUI:main menu>general postproc>plot resnlt deformed shape
选项:等值显示命令:PLNSOL
PLESOL
GUI:main menu>general postproc>plot result>contour plot-noded solu 或
element和solu
使用这个选项来显示应力,应变或其它项的等值图,如果相邻的单元有不同的材料行为(例如塑性或多弹性材料特性,不同的材料类型,或不同的死活属性)则在结果显示时应避免结点应力平均错误。
也可以将定的接触信息用等值图显示出来,对2─D接触分析,模型用灰色表示,所要求显示的项将沿着接触单元存在的模型的边界以梯型面积表示出来,对3─D接触分析,模型将用灰色表示,而要求的项在接触单元存在的2─D表面上等值显示。
还可以等值显示单元表的数据和线性化单元数据。
命令:PLETAB
PLLS
GUI:main menu>general postproc>Element Table>Plot Element Table
main menu> General Postproc>Plot Results>-Contour plot-line Elem Res
选项:列表显示命令:PRNSOL
PRESOL
PRRSOL
PRETAB
PRITER
NSORT
ESORT
GUI:Main menu>General Postproc>List Results>Noded Solution
Main menu>General Postproc>Lost Results>Element Solution
Main menu>General Postproc>List Results>Reaction Solution
在列表显示它们之前,可以用NSORT和ESORT来对它们进行排序选项:动画可以动画显示接触结果随时间的变化命令:ANIME
GUI:Wility menn>Plotctrls >Animate>Contours lner fime
post26中查看结果
你也可以使用post26来查看一个非线性结构对加载历程的响应使用post26,可以比较一个变量陡另一个变量的变化关系,例如,可以画出某个结点位移随给定载的曲线关系,某个结点的塑性应变与时间的关系,一个典型的post26后处理过程需要分以下几个步骤从输出文件中检查是否分析已经收敛求解已收敛,进入post26,如果模型不在当前数据库中恢复它命令:/Post26
GUI:Main menu>Timehist Postpro
定义变量命令:NSOL
ESOL
RFORCE
GUI:Main menu>Time Hist Postpro>Define Variable
画曲线或列表显示命令:PLVAR
PRVAR
EXTREM
GUI:Main menu>Time Hist Postproc>Graph Variable
Main menu>Time Hist Postproc>List Variarle
Main menu>Time Hist Postproc>List Extremes
点─面接触分析
我们能使用点─面接触单元来模拟一个表面和一个结点的接触,另外,可以通过把表面指定为一组结点,从而用点─面接触来代表面─面的接触。
ANSYS程序的点─面接触单元允许下列非线性行为:
有大变形的面─面接触分析接触和分开库仑摩擦滑动热传递
点─面的接触是一种在工程应用中普遍发生的现象,例如:夹子、金属成形等等,工程技术人员对由于结构之间的接触而产生的应力变形为和温度改变是感兴趣的。
使用点─面的接触单元
在ANSYS程序中点─面的接触是通过跟踪一个表面(接触面)上的点相对于另一表面(目标面)上的线或面的位置来表示的,程序使用接触单元来跟踪两个面的相对位置,接触单元的形状为三角形,四面体或锥形,其底面由目标面上的节点组成,而顶点为接触面上的节点。
图4─9绘出了二组的接触单元(COWTA(48))和三维的接触单元(COWTA(49))
图4─9 (a)2-D接触单元—COWTAC48
(b)3-D接触单元─COWTAC49
(c)2-D接触单元─COWTAC26
如果目标面是刚性的,而问题又是2-D的,则可以使用CONTA26来建模点─面接触分析的步骤
下面列出了典型的点─面接触分析的基本步骤建模并划分网格识别接触对生成接触单元设置单元关键字和实常数给定必须的边界条件定义求解选项求解查看结果第1步:建模,划分网格
在这一步中,需要建立代表接触体几何形状的模型,设置单元类型,实常数和材料特性,用适当的单元类型划分网格命令:AMESH
VMESH
GUI:Main menu>Pneprocossor>Mesh>Mapped>3 or 4 Sided
Main menu>Pneprocessor>Mesh>Mapped>4 to 6 sided
应该避免使用有中结点的单元,特别是在3维问题中,因为这些单元表面节点上“有效刚度”是很不均匀的,例如,对95号单元来说,角结点上有一个负刚度。然而,是接触关系 建立,ANSYS程序的点─面接触算法假定刚度均匀分布在面上的所有结点上,因此,在接触分析中使用这些单元时,能导致收敛困难。
仅仅在使用COWTA48的2维分析中,才可以在接触面上使用中结点单元,但不能在目标面上使用中结点单元,当生成48号接触单元的时候,目标面上的中节点将被忽略,这样将会导致在目标面上不均匀的力传递。
第2步,识别接触对
你必须认识到在变形过程中,哪儿可能发生接触,一是你已知认识到潜在接触面,通过接触单元来定义它们,为了更有效地进行计算(主要指CPU时间),你可能想,定义比较小的,局部的接触区域,但要保证你所定义的接触区域能模拟所有必须的接触。
由于几何形状和潜在变形的多样化,可能有多个目标面和同一个接触面相互作用,在这种情况下,必须定义多个接触对,对每个表面,你需要建立一个包含表面节点的组元。
命令:CM
GUI:Utility>Select>Comp/Assembly>Cneate Component
然后就可以使用这些表面结点,在接触面之间形成所有有可能的接触形状。如果你能肯定某些面永远不会相互接触,那么应该适当的包括更多的结点第三步:生成接触单元
在生成接触单元之前,首先必须定义单元类型,对点─面的接触使用CONTAC48(2维)和CONTAC49(3维)
命令:ET
GUI:Main menu>Pneprocessor>Eloment Type>Add/Edit/Relete
然后再定义接触单元的实常数,每个不同的接触面应该有一个不同的实常数号,即便实常的值相同,因为使用不同的实常数号,程序能够较好的区分出是壳的顶面还底面接触,或者是能够在不同的接触面进行较好的区分。例如:在角接触中,每条也应该有它自己的实常数号,如图4─10所示,另一种典型应用是梁的双边接触,如图4─11所示命令:R
RMODIF
GUI:Main menu>Pneprocessor>Real Constants
接着就是在对应的接触对之间生成接触单元。
命令:GCGEN
GUI:Main menu>Pnprocossor>Cneate>Elements>At Confactsrf
对生成点─面的接触单元的几点提示。
一般来说,生成的接触单元不需超过所需要的2─3,使用“限制半径”(RADC)或“生成的单元数”(NUMC)选项来限制生成的接触单元数,如果生成的接触单元数超过所需的10或更多,则会极大增加计算时间,同时也需要大量的硬盘空间。
进行接触分析时在接触面上建议使用无中结点的单元。
对梁或壳单元需要通过“目标面”(TLAB)选项来指定单元数一边是目标面。
对于卷曲的(非平面)目标面,使用CONTA49的“基本形状”(shape)选项来指定单元的基本形状是三角形,这个选项能使目标单元较好的模拟目标面的原形。
每次在新的接触对之间生成接触单元时,都指定一个新的实常数号,既使接触单元的实常数值没有改变,生成对称或反对称的接触单元。
你可以选择生成对称的或反对称的接触单元,用一个简单的GCGEN命令定义一对接触面生成一种反对称的接触方式。在这种情况下,一个面是接触面而另一个是目标面,另外你可以使用两个GCGEN命令,将两个面都定义成即是目标面又是接触面,这种情况叫作对称接触方式,例如:考虑两个面A和B,在第一个GCGEN命令中,将面A指定为接触面,面B指定为目标面,而在第二个GCGEN命令中,将面A指定为目标面,而将面B指定为接触面,下面是在前处理中生成接触单元的标准命令流输入。
NSEL,S,NODE… !在接触面上选择一组结点
CM,CONTACT,NODE !将所造结点生成组元“COMTACT”
NSEL,S,NODE… !大目标面上选择一组新结点
CM,TARGET,NODE !将所选结点生成组元“TARGET”
NSEL,ALL
GCGEN,CONTACT,TARGET
GCGEN,TARGET,CONTACT
一般来说,对称接触方式是一种更好的方法,因为它不需要特别考虑哪个面是接触面,哪个面是目标面,相反,反对称接触方式在区分目标面和接触面时需要遵守以下规则:
如果一个面的接触部分是平的或凹的,而另一个面的接触部分是尖的或凸的,则应该将平凹面作为目标面,
如果两个接触面都是平的,则可以任意选择如果两个接触面都凸的,应该将两个面中较平的作为目标面如果一个接触部分有尖边,而另一个没有,则有尖边的面应作为接触面。
生成已经开始接触的模型,那就是建立开始变形时的模型,这样,单元实际上已经彼此重叠在一起,用这种方法,在对结构进行分析时只需使用一个载荷步,同时应该打开“线性搜索”选识,从许多过盈分析问题中发现,为了得到收敛的结果,必须打开此选项。
命令:LNSRCH,ON
GUI:main menu>Preprocessor>load>No linesr>Line Search
用一个较弱的初始法向刚度(实常数KN)来生成已经开始接触的模型进行计算,然后在以后的载 步中,使用新的R命令来逐步增加KN的值到一适当的值。(在此方法中,必须明确定义切向刚度佳,而不能使用缺省值)
第四步:设置单元关键字和实常数
使用点─面的接触单元时,程序使用四个单元关键字和几个实常数来控制接触行为单元关键字:
CONTAC48和CONTAC49使用下面的单元关键字
KEYOPT(1):选择正确的自由度(包含或不包括温度)
KEYOP(2):选择罚函数的方法或罚函数+拉格朗日方法
KEYOPT(3):选择摩擦类型;无摩擦弹性库仑摩擦或刚性库仑摩擦。
KEYOPT(7):选择接触时间步 预测控制命令:KEYOPT
ET
GUI:Main Mneu>Pneporcessor>Element Type >Add/Delete
摩擦类型
你需要选择一种摩擦类型,点─面接触单元支持弹性库仑摩擦和刚性库仑摩擦,弹性库仑摩擦允许存在粘合和滑动状态,粘合区被当作一个刚度为KT的弹性区来处理,在变形期间当接触面是粘合而不是滑动的时候,选择这种摩擦类型是好的,刚性库仑行为仅仅允许有滑动摩,而接触面不能粘合,仅仅在两个面处理持续的相对滑动时,才选择这种摩擦类型,如果运动停止或逆转,将会遇到收敛性的问题。
罚函数与罚函数+拉格朗日方法
协调控制方法保证一个面不会渗透进入另一个面超过某一容许量,这可以通过罚函数方法或罚函数+拉格朗日方法来实现,在这种方法中,将有力加在接触结点上,直到接触结点渗透进入目标面。
热─结构结触如果两个温度不同的物体此接触,在它们之间将会发生热传递我们能够联合这种点─面的接触单元和热─结构来 合场单元来模拟这种情况下的热传递,(对不关心应力的分析,能够用标准的热单元来给系统的固定部分建模。)其关键字设置如表1─2所示,这些单元的热─结构 都被激活,(必须为实常数COND(接触传导率)定义一个值,以模拟接触界面之间的热量流动)
接触预测
CONTAC48和CONTAC49对控制接触时间预测提供了三个选项。
没有预测:当自动时间步 被找开并允许小的时间步 时,大多的静力分析使用此选项,如果允许一个足够小的时间步 自动时间步长二分特征将会把步长减小到必要的大小,然而,二分法并不是一种需要进行时间预测的有效方法,对在加载过程中,有不连续接触区域的那些问题,时间步 预测是必须的。
合理的时间步:为了保持一个合理的时间/载 增量,需要在接触预测中选择此项。此项在时间步长预测器正在完好运行的静态分析中,或在连续接触(滚动接触)的瞬态分析中是有用的,如果接触点的位置随时间的变化是一个非线性函数,那么线性时间步长预测不可能是有效的,虽然其它的非线性特征能够小时间步 以使线性时间步长预测能够提供很好的预测效果。
最小的时间/载荷增量预测,无论什么时候,当接触状态发生的改变时,预测会取一个最小的时间/载 荷增量,这个选项在碰撞和断续接触的瞬态分析中是有用的,或者用于由于线性预测不起作用而导致的第二个选项无用时,为了更有效的进行计算,仅仅对处于初始接触状态的那些接触单元使用此选项。
实常数
CONTAC48和CONTAC49使用下面的实常数
KN定义法向接刚度。
KT定义粘合接触刚度
TOLN 定义最大的渗透容差
FACT定义静摩擦与动摩擦的比值
TOLS定义一个小的容差以增加目标面的长度。
COND定义接触传导率命令:R
GUI:Main menu>Preprocessor>Real Constants
法向刚度
我们必须给接触刚度KN提供一个值,(对KN设有缺省值)KN应该是足够大的以便不会引起过大的渗透,但又不应该大到导致病态条件,对大多的接触分析,应该按下面的公式来估计KN的值。
KN=fEh
f:控制接触协调性的因子,这个因子通常在0.01和100之间,开始时通常取f=1
E,杨氐模量如果接触发生在两种不同的材料间,考虑使用杨氏模量较小者)
h:特征接触长度,这个值取决于问题几何形状的特殊性在3维外形中,h应该等于典型的接触目标长度(也就是目标面的平方根)或者典型的单元尺寸,对大多数柔体—柔体的接触问题,通常发现处于接触状态的平均单元尺寸几乎等于目标长度。当目标长度与典型的单元尺寸当相差很大时,应该使用典型的单元尺寸来作为h的值,在2维平面应力或应变问题中,对平面应变或无厚度输入的平面应力问题,让h=1,对于有厚度输入的平面应力问题,让h等于厚度,在2维轴对称分析中,让h等于平均接触半径当估计柔软结构的KN值时(特别是在梁或壳的模型中)应该在两个接触体上进行一个简单的迭代分析来计算局部接触刚度,如图:4─9示
图1─9 计算柔软结构的接触刚度
KN=P/(1△11+1△21)
上式中:P=作用在接触位置的点载(位置1和2)
△1,△2=位置1和2的结点位移在计算KN时,使用体系的实际边界条件,(就是说KN不是赫兹接触刚度,它考虑了整个结构的柔度)
粘合刚度
弹性区的大小取决于你使用的粘合刚度的值(KT)与法向刚度KN一样,你可能想使用一个较大的粘合刚度,但不要大到影响收敛性,一般来说,粘合刚度KT应该比法向刚度KN 1,2或3的量级。
如果你想模拟单性库仑摩擦,程序将会使用到KT的值。程序使用KT=KN/100作为缺省值,然而与KN一样,如果KT太大,可能会经历一个病态条件,因此,对大多的情况,KT的缺省值可能是不适合的。
渗透容差:
当使用罚函数+拉格朗日方法时(KEYOPT(2)=1),在表面法方向给定的绝对容差(TOLN),被用来决定是否满足渗透协调性,如果接触结点渗进目标的距离在TOLN的范围内,则认为满足接触协调性,TOLN的值必须是 的而是长度单位TOLN的值一般约为表面单元尺寸的1%,如果将TOLN的值定得太小,可能要浪费大量的计算时间。
静摩擦与动摩擦系的比值。
如果KEYOPT(3)=0,不考虑两个表面间的摩擦,则实常数KT和FACT都不需要,当KEYOPT(3)=1或2时,需要输入摩擦系数,MU它可以被指定为一个温度的函数,此时,MU的值被作为动摩擦系数,而静摩擦系 数是FACT*MU。
目标长度
如果两个接触面上的结点是一一对应的,或者在靠近对称边界上有接触产生时,于接触结点目标面上的两个邻近单元之间来回摆动,因而可能会导致求解振荡,当发生这种情况时,可能会极大地增加求解时间,为了克服这个问题,可以给实常数TOLS指定一个值,这将在目标面的两个邻近单元之间建立一个“缓冲区”,TOLS的值是一个特征接触长度的百分比,那就是说:TOLS=0.5将建立一个宽度接触长度的0.5%的缓冲区。
热传导率
对热─结构接触的问题为了描述通过接触界面的传导率,需要定义一个接触传导率(实常数(CONT))单位是热量/(时间*温度)通过接触界面的热传导率通常的接触体自身的传导率,因为从微观上说接触表面是不光滑的,只有整个接触面的一个小的百分比面积处于真正的接触中,因而导致了传导率的降低。因此,通常不能用接触体的热传导来描述接触界面的热传导率,对理想热接触(在接触面上没有温度降)将使用一个大的CONT值,可以能100KA/L这个量级上,K是接触体的传导率,A和L是接触单元的面积和长度,通常情况下考虑到不理想的热传导,应该给COND输入一个小得多的值第五步,加上必要的边界条件
加载过程与其它分析过程相同,值得注意的是:在分析期间如果两个物体分开,那么刚度矩阵变得奇异和不可求解(在静力分析中),如果是刚度矩阵变得奇异程度将会给出“Piloot ratio”的警告信息,但程序仍会设法求解,最终会出现一个"negatiue main diagonal" 或"Dof Limif exleeded"的信息。
为了克服这个问题,采用下面的某种建议建模时,使接触体处于恰好接触的位置使用给定位移来将它移到某个位置使用很弱的弹簧把两个分开的物体连起来,使用动态方法求解。
第6步 定义求解选项
接触问题的收敛性与问题的特殊性有关,下面列出了一些典型的,在大多的点─面的接触分析中推荐采用的选项。
使用KEYOPI(7)来设置合适的时间步长时间步长必须是足够小的,如果时间步长太大,接触力的光滑传递将被破坏,设置一精确良的可信方法是打开自动时间步长命令:Autots,on
GUI:Main menu>Solution>-Load Stop opts-Time/Frequenc>Time & Time step/Time Substops
设置一个合适的平衡迭代次数,一个合理的平衡迭代次数通常在25和70之间。
命令:NEQZT
GUI:Main menu>Solution>-Load Stop opis- >Equilibriam iter
除非在大转动分析中,打开时间步长预测。
命令:PRED
GUI:Main menu>Solution>Load Stop opts-Nonlinear>Predictor
设置中顿一拉普森选项到“FULL”,同时打开自下降因子命令:NROPT,FULL,ON
GUI:main menu>solutim>Analysis opfions
在接触分析中,许多的不收敛性是由使用了太大的接触刚度(实常数KN)造成的,如果是这样,减少接触刚度然重启动(此时必须明确定义切向刚度)
相反,如果在接触分析中发生太大渗透,则是使用了一个太小的KN值,此时,在下面的几个载 步中逐步增加KN的值然后重启动,(此时也必须明确定义切向刚度)
第7步:求解
求解过程与其它分析过程相同第8步:查看结果
我们可以采用一般的后处理器POST1或时间历程后处理器POST26来查看结果。
接触单元的输出量包括:
单元的现在状态和过去状态的
分开(没有接触)
接触粘合状态接触滑动状态粘合=1,滑动=2或-2,分开=3或4
两个表面间的距离,如果是正值,那么两个面是分开的(STAT=3或4)如果是负值则代表渗透量(STAT=1或2)
法向力Fn(FN)
滑动力Fs(FS)
使用单元CONTAC26
CONTAC26是ANSYS的点─刚性面接触单元,使用CONTAC26时,需注意以下几点:
这种单元是通过总体X─Y评面上的3个结点来定义的,能用于2维平面应力,平面应变和轴对称问题。
结点2叫作接触结点,通常连到有限元模型的表面上结点J和K组成目标面,这用来表示一个刚性面目标面的形状可以是直线,凹形圆弧,或凸形圆弧(由实常数控制)
当目标面的形状是凹形并是不连续时,在接触面上将会有空隙,当接触节点移进空隙顺时,就会发生丢失接触的现象。
在生成CONTAC26单元时,只能使用直接生成法命令:E
GUI:main menu>Preprocess>Cneate>Elcment>Thru Nodes
点-点的接触
在ANSYS程序中提供了三种点-点的接触单元,在此,我们主要介绍前二种:
CONTAC12
CONTAC52
COMBIN40
我们可以在预先知道接触位置的单点接触问题中使用点-点的接触单元。也可以在接触面网格完全相同的情况,例如过盈装配问题中,用点-点的接触元来模型两个面之间的接触。
CONTAC12:2-D点-点的接触单元
这个单元是通过总体坐标系X-Y平面内的二个结点来定义的,可以用于2-D平面应力,平面应变和轴对段分析中。
程序通过一个相对于总体坐标X轴的输入角Q(用度表示)来定们接触面,接触面不一定垂直于结点I,J的连线,并且结点I,J可以位于同一位置。CONTAC12的单元坐标系是这样定义的,总体坐标的X轴逆时针旋转Q角便得到正的滑动方向,法向方法N垂直于S,正的法向位移有张开缝隙的作用。
我们可以用下面二种方法来定义初始过盈量或缝隙。
明确定义实常数INTF,这时单元关键字K4必须设置成“Real Consttant”(这是这个选项的缺省值)。一个负的INTF值表示处于初始张开的缝隙状态。
让程序以初始节点位置为基础计算初始过盈量或缝隙,这时单元关键字k4必须设置为“Initnodelocats”。初始分开的结点定义了初始张开的缝隙。
一个实常数,初始单元状态(START)一旦被定义,程序将忽略由INTF给定的条件,有效的开始条件是:
START=0:由INTF决定缝隙状态
START=1:缝隙是关闭的,且没有滑动
START=2:缝隙是关闭的,且有方向的滑动
START=-2:缝隙是关闭的,且有负方向的滑动
START=3:缝隙是张开的一个对开始条件的好的估计将有助于问题的收敛。
CONTAC12的实常数:
界面角THETA-定义接触面方位的角度
法向刚度KN-在法线方向的接触刚度
位移过盈量INTF-初始过盈量基缝隙
初始单元状态START
粘附刚度KS-在滑动方向的接触刚度KS缺省到KN
CONTAC12的单元关键字:
摩擦类型 K1 弹性库仑
刚性库仑
方位角来源于 K2 实常数THETA
运动方向
过盈量或缝隙基于 K4 实常数INTF
初始接触的位置
接触时间预测目标 K7 最小的时间增量
合理的增量使用CONTAC12时的一些注意点:
1、检查单元坐标系,保证使所定义的是一个间隙而不是一个钩子。
2、保证接触平面的方位角与变形状态中所期望的方位角远配。
3、在大变形中,单元不会改变几何开头开办会标系。
4、为了加强收敛性,使用合适的START条件。
5、使用合理的时间步长预测选项(在关键字K)中。
CONTAC52:3-D在点-点的接触单元。
程序通过2个结点来定义CONTAC52,这两个结点不能处于同一位置,在CONTAC52单元中,接触面垂直于结点I-J的连线。
在CONTAC52中,单元坐标系是这样定义的:X轴沿着结点I-J的连线,Z轴指向总体坐标系的Z轴,Y轴垂直于X轴和Z轴。
单元的方法向位移定义为,一个的值有使间隙张开的趋势。拟使用两种方式来定义初始大小。
明确定义实常数GAP,这时单元关键字K4必须被设置为“RealConstGAP”(这是这个选项的缺省值)。正的Gap值表示一个初始张开的,负的Gap值表示初始过盈量。
指示程序以初始结点位置为基础计算初始。这时单元关键字K4必须设置成“InitialNodeLoc”。初始分开的结点定义初始张开的缝隙,初始过盈量不能用此选项输入。
一旦定义了实常数“START”,程序将忽略由“GAP”指定的条件,有效的开始条件是:
START=0:间隙状态由“GAP”来决定
START=1:间隙是关闭的且没有滑动
START=2:间隙是关闭的有滑动
START=3:间隙是打开的。
CONTAC52的实常数:
法向刚度 KN-在法线方向的刚度K
初始间隙大小 GAP
初始条件 START-初始单元状态
粘附刚度 KS-滑动方向的接触刚度
KS缺省到KN
CONTAC52的单元关键字:
粘附刚度 K1 弹性库仑摩擦
刚性库仑摩擦
间隙大小基于 K4 实常数GAP
初始点位置
接触时间预测的目标 K7 最小的时间增量
合理的时间增量使用CONTAC52的一些注意点:
两个结点不能位于同一位置,为了定义接触平面的方位两个结点间必须有一个小的距离。
在大变形分析中,单元不能改变几何形状和坐标系。
3、为了增强收敛性,使用合适的“START”条件。
4、使用合理的时间步长预测选项在两个面之间生成接触单元。
如果使想在网格相同的两个接触面的界面上快速生成点-点的接触单元,那么EINTF命令是用的。
GUI:Main>preprocessor>create>Element>At coincid Nd
这个命令将会在距离小于指定容差的结点间生成接触单元。
接触分析实例(GUI方法)
在这个实例中,我们将对一个弹簧卡子进行接触分析,计算将卡头压进卡座和拉出卡座所需要的力。
问题描述:
此问题属于需要输入厚度的平面应力问题,卡头和卡座的底板被认为是刚性的,因此在建模时不以考虑。
由于模型和载荷都是对称的,因此可用模型的右半部来进行计算。求解通过二个载荷步实现。
问题详细说明:
材料性质:
EX=2.8e3 (杨氏模量)
NUXY=0.3(泊松比)
MU=0.2 (摩擦系数)
问题描述图:
求解步骤:
步骤一:建立计算所需要的模型。
在这一步中,建立计算分析所需要的模型,包括定义单元类型,划分网格,给定边界条件。并将数据库文件保存为“exercise3.db”。 在此,对这一步的过程不作详细叙述。
步骤二:恢复数据库文件“exercise3.db”
选择菜单路径 Utility Menu>File>Resume from
步骤三:定义接触单元的材料特性。
1、选择菜单路径Main Menu>Preprocessor>Matersal Props>-Constant-Isotropic,
Isotropic Matersal Properties (各向同性材料性质)对话框出现。
2、指定材料号为3,单击OK。另一个Isotropic Material Properties对话框出现。
3、对摩擦系数(MU)键入0.2 。
4、单击OK。
步骤四:定义接触单元的实常数。
1、选择菜单路径Main Menu>Preprocessor>Real Constants。实常数对话框出现。.
2、单击“Add”,下一级对话框出现。
移动滚动条,使之指向“CONTAC48”,然后单击“OK”。出现下一级对话框。
4、在实常数号的输入框中键入3,在法向刚度的输入框中键入6e3,然后单击
,Apply”。
5、在实常数号的输入框中键入4,在法向刚度的输入框中键入6e3。
6、单击OK。
步骤五:为了建立接触单元创建四个结点组元。
1、将线号为9和17的线上的结点定义成组元“snapins”
2、将线号为3的线上的结点定义成组元“snapprg”
3、将线号为8的线上的结点定义成组元“pullins”
将线号为2的线上的结点定义成组元“pullprg”
步骤五:建立接触单元。
设置适当的单元类型,材料号和实常数号。
在插入时接触的两个面之间生成对称接触单元。
为了在拉出时接触的两个面之间生成接触单元,将实常数号变为4。
在拉出时接触的两个面之间生成对称接触单元。
步骤六:进入求解器
选择菜单路径Main Menu>Solution。
步骤七:打开预测器,设置输出控制。
1、选择菜单路径Main menu>solution-Load Set Opts-Nonlinear>Predictor。
2、将predictor的状态设置为“ON”。
3、选择菜单路径Main Menu>Solution>-Load Step Options- Output Ctrls>
DB/Results File,Coutrols for Database and Results File Writing (对数据库和
结果文件写入的控制)对话框出现。
4、单击“Every substep”且选中它。
步骤八:设置载荷步选项。
1、选择菜单路径Main Menu>Solution>-Load Step Options-
Time/Frequenc>time&Substep。 Time&Substep Option(时间和
时间步选项)对话框出现。
2、对Number of substeps (子步数)键入10。
3、单击automatic time stepping option(自动时间步长选项)使之为
ON,然后单击OK。
将最大的子步数设置为100,将最小的子步数设置为5。
步骤九:加载。
给Y=60的所有结点施加一UY=-30的位移。
步骤十:求解。
1、选择菜单路径Main Menu>Solution>-Solve-Current LS。
2、检阅状态窗口中的信息然后单击close。
3、单击Solve Current Load Step(求解当前载荷步)对话框中的OK开始求解。
步骤十一:对第二个载荷步加载。
给Y=60的所有结点施加一UY=-27的位移。即以第一个载荷步的计算结果 为基础,将卡头上拉3个单位。
2、激活线性搜索。
步骤十二:求解第二个载荷步。
1、选择菜单路径Main Menu>Solution>-Solve-Current LS。
2、检阅状态窗口中的信息然后单击close。
3、单击Solve Current Load Step(求解当前载荷步)对话框中的OK开始求解。
5、在“LSNUM”的输入框中键入4
步骤十四:进行后处理。
在这一步中,可以进行所想要的后处理,在此不进行详述。
非线性静态实例分析(命令流方式)
你可以用下面显示的ANSYS命令替代GUI选择,进行上面这个例题的塑性分析。
fini
/cle
/prep7
/title,plastic snap-fit connector
et,1,42,,,3
et,2,42,,,3
mp,ex,1,2.8e3
r,1,5
et,3,48,,,1
k,1,10
k,2,20
k,3,15,18.5
k,4,10,20
k,5,12.5,30
k,6,20,30
l,1,3
l,3,4
l,4,5
l,5,6
l,6,2
l,2,1
al,all
lgen,2,1,3,1
k,11,5
k,12,5,30
l,11,7
l,11,12
l,12,10
lsla,s
lsel,invert
al,all
lsel,all
rectng,0,15,0,10
asba,2,3
agen,2,4,,,0,30,0,,0,1
asel,s,,,4
aatt,1,1,2
asel,all
esize,4
amesh,all
fini
/solution
nsel,s,loc,y,0
d,all,all
nsel,s,loc,y,60
d,all,uy
nsel,r,loc,x,5
d,all,ux
nsel,all
fini
/prep7
mp,mu,3,0.2
r,3,6e3
r,4,6e3
lsel,s,,,9
lsel,a,,,19
nsll,s,1
cm,snapins,node
lsel,s,,,3
nsll,s,1
cm,snapprg,node
lsel,s,,,8
nsll,s,1
cm,pullins,node
lsel,s,,,2
nsll,s,1
cm,pullprg,node
lsel,all
nsel,all
type,3
mat,3,real,3
gcgen,snapins,snapprg
gcgen,snapprg,snapins
real,4
gcgen,pullins,pullprg
gcgen,pullprg,pullins
fini
/solu
pred,on
autot,on
nsubst,10,100,5
outres,all,all
nsel,s,loc,y,60
d,all,uy,-30
nsel,all
solve
nsel,s,loc,y,60
d,all,uy,-27
nsel,all
lnsr,on
solv
fini
/post1
set,list
set,,,,,0.8
esel,s,type,,3
etable,st,nmisc,1
etable,gap,nmisc,3
etable,length,nmisc,4
esel,s,stab,st,1,2
esort,etab,gap,1
pretab
esel,all
/dscal,,1
/plops,minm,0
/edge,,1
esel,u,type,,3
set,first
pldi
/user
set,,,,,0.8
plns,s,eqv
/cont,,,user
fini
/posr26
nsol,2,44,u,y,disp
rfor,3,44,f,y
rfor,4,59,f,y
rfor,5,56,f,y
add,6,3,4,5,force
add,2,2,,,,,,,-1
xvar,2
plva,6
fini
接触问题是一种高度非线性行为,需要较大的计算资源,为了进行实为有效的计算,理解问题的特性和建立合理的模型是很重要的。
接触问题存在两个较大的难点:其一,在你求解问题之前,你不知道接触区域,表面之间是接触或分开是未知的,突然变化的,这随载荷、材料、边界条件和其它因素而定;其二,大多的接触问题需要计算摩擦,有几种摩擦和模型供你挑选,它们都是非线性的,摩擦使问题的收敛性变得困难。
一般的接触分类
接触问题分为两种基本类型:刚体─柔体的接触,半柔体─柔体的接触,在刚体─柔体的接触问题中,接触面的一个或多个被当作刚体,(与它接触的变形体相比,有大得多的刚度),一般情况下,一种软材料和一种硬材料接触时,问题可以被假定为刚体─柔体的接触,许多金属成形问题归为此类接触,另一类,柔体─柔体的接触,是一种更普遍的类型,在这种情况下,两个接触体都是变形体(有近似的刚度)。
ANSYS接触能力
ANSYS支持三种接触方式:点─点,点─面,平面─面,每种接触方式使用的接触单元适用于某类问题。
为了给接触问题建模,首先必须认识到模型中的哪些部分可能会相互接触,如果相互作用的其中之一是一点,模型的对立应组元是一个结点。如果相互作用的其中之一是一个面,模型的对应组元是单元,例如梁单元,壳单元或实体单元,有限元模型通过指定的接触单元来识别可能的接触匹对,接触单元是覆盖在分析模型接触面之上的一层单元,至于ANSTS使用的接触单元和使用它们的过程,下面分类详述。
点─点接触单元
点─点接触单元主要用于模拟点─点的接触行为,为了使用点─点的接触单元,你需要预先知道接触位置,这类接触问题只能适用于接触面之间有较小相对滑动的情况(即使在几何非线性情况下)
如果两个面上的结点一一对应,相对滑动又以忽略不计,两个面挠度(转动)保持小量,那么可以用点─点的接触单元来求解面─面的接触问题,过盈装配问题是一个用点─点的接触单元来模拟面─与的接触问题的典型例子。
点─面接触单元
点─面接触单元主要用于给点─面的接触行为建模,例如两根梁的相互接触。
如果通过一组结点来定义接触面,生成多个单元,那么可以通过点─面的接触单元来模拟面─面的接触问题,面即可以是刚性体也可以是柔性体,这类接触问题的一个典型例子是插头到插座里。
使用这类接触单元,不需要预先知道确切的接触位置,接触面之间也不需要保持一致的网格,并且允许有大的变形和大的相对滑动。
Contact48和Contact49都是点─面的接触单元,Contact26用来模拟柔性点─刚性面的接触,对有不连续的刚性面的问题,不推荐采用Contact26因为可能导致接触的丢失,在这种情况下,Contact48通过使用伪单元算法能提供较好的建模能力。
面─面的接触单元
ANSYS支持刚体─柔体的面─面的接触单元,刚性面被当作“目标”面,分别用Targe169和Targe170来模拟2─D和3—D的“目标”面,柔性体的表面被当作“接触”面,用Conta171,Conta172,Conta173,Conta174来模拟。一个目标单元和一个接单元叫作一个“接触对”程序通过一个共享的实常号来识别“接触对”,为了建立一个“接触对”给目标单元和接触单元指定相同的实常的号。
与点─面接触单元相比,面─面接触单元有好几项优点,
支持低阶和高阶单元支持有大滑动和摩擦的大变形,协调刚度阵计算,单元提法不对称刚度阵 的选项。
提供工程目的采用的更好的接触结果,例如法向压力和摩擦应力。
没有刚体表面形状的限制,刚体表面的光滑性不是必须允许有自然的或网格离散引起的表面不连续。
与点─面接触单元比,需要较多的接触单元,因而造成需要较小的磁盘空间和CPU时间。
允许多种建模控制,例如:
绑定接触渐变初始渗透目标面自动移动到补始接触平移接触面(老虎梁和单元的厚度)
支持死活单元
使用这些单元,能模拟直线(面)和曲线(面),通常用简单的几何形状例如圆、抛物线、球、圆锥、圆柱采模拟曲面,更复杂的刚体形状能使用特殊的前处理技巧来建模。
执行接触分析
不同的接触分析类型有不同的过程,下面分别讨论面─面的接触分析
在涉及到两个边界的接触问题中,很自然把一个边界作为“目标”面而把另一个作为“接触”面,对刚体─柔体的接触,“目标”面总是刚性的,“接触”面总是柔性面,这两个面合起来叫作“接触对”使用Targe169和Conta171或Conta172来定义2-D接触对,使用Targe170和Conta173或Conta174来定义3-D接触对,程序通过相同的实常收号来识别“接触对”。
接触分析的步骤:
执行一个典型的面─面接触分析的基本步骤列示如下:
建立模型,并划分网格识别接触对定义刚性目标面定义柔性接触面设置单元关键字和实常的定义/控制刚性目标面的运动给定必须的边界条件定义求解选项和载荷步求解接触问题查看结果步骤1:建立模型,并划分网格
在这一步中,你需要建立代表接触体几何形状的实体模型。与其它分析过程一样,设置单元类型,实常的,材料特性。用恰当的单元类型给接触体划分网格。
命令:AMESH
VMESH
GUI:Main Menu>Preprocessor>mesh>Mapped>3 or4 Sided
Main Menu>Pneprocessor>mesh>mapped>4 or 6 sided
步骤二:识别接触对
你必须认识到,模型在变形期间哪些地方可能发生接触,一是你已经识别出潜在的接触面,你应该通过目标单元和接触单元来定义它们,目标和接触单元跟踪变形阶段的运动,构成一个接触对的目标单元和接触单元通过共享的实常号联系起来。
接触环(区域)可以任意定义,然而为了更有效的进行计算(主要指CPU时间)你可能想定义更小的局部化的接触环,但能保证它足以描述所需要的接触行为,不同的接触对必须通过不同的实常数号来定义(即使实常数号没有变化)。
由于几何模型和潜在变形的多样形,有时候一个接触面的同一区域可能和多个目标面产生接触关系。在这种情况下,应该定义多个接触对(使用多组覆盖层接触单元)。每个接触对有不同的实常数号。
步骤三:定义刚性目标面刚性目标面可能是2—D的或3─D的。在2—D情况下,刚性目标面的形状可以通过一系列直线、圆弧和抛物线来描述,所有这些都可以用TAPGE169来表示。另外,可以使用它们的任意组合来描述复杂的目标面。
在3—D情况下,目标面的形状可以通过三角面,圆柱面,圆锥面和球面来推述,所有这些都可以用TAPGE170来表示,对于一个复杂的,任意形状的目标面,应该使用三角面来给它建模。
控制结点(Pilot)
刚性目标面可能会和“pilot结点“联系起来,它实际上是一个只有一个结点的单元,通过这个结点的运动可以控制整个目标面的运动,因此可以把pilot结点作为刚性目标的控制器。整个目标面的受力和转动情况可以通过pilot结点表示出来,“pilot结点”可能是目标单元中的一个结点,也可能是一个任意位置的结点,只有当需要转动或力矩载荷时,“pilot结点”的位置才是重要的,如果你定义了“pilot结点”ANSYS程序只在“pilot结点”上检查边界条件,而忽略其它结点上的任何约束。
对于圆、圆柱、圆锥、和球的基本图段,ANSYS总是使用条一个结点作为“pilot结点”
基本原型
你能够使用基本几形状来模拟目标面,例如:“圆、圆柱、圆锥、球。直线、抛物线、弧线、和三角形不被允许、虽然你不能把这些基本原型彼此合在一起,或者是把它们和其它的目标形状合在一起以便形成一个同一实常数号的复杂目标面。但你可以给每个基本原型指定它自己的实常的号。
单元类型和实常数
在生成目标单元之前,首先必须定义单元类型(TARG169或TARG170)。
命令:ET
GUI:main menu>preprocessor>Element Type> Add/Edit/Delete
随后必须设置目标单元的实常数。
命令:Real
GUI:main menn>preprocessor>real constants
对TARGE169和TARGE170仅需设置实常数R1和R2,而只有在使用直接生成法建立目标单元时,才需要从为指定实常数R1、R2,另外除了直接生成法,你也可以使用ANSYS网格划分工具生成目标单元,下面解释这两种方法。
使用直接生成法建立刚性目标单元
为了直接生成目标单元,使用下面的命令和菜单路径。
命令:TSHAP
GUI:main menu>preprocessor>modeling-create>Elements>Elem Attributes
随后指定单元形状,可能的形状有:
straight line (2D)
parabola (2-D)
clockwise arc(2-D)
counterclokwise arc (2-D)
circle(2-D)
Triangle (3-D)
Cylinder (3-D)
Cone (3-D)
Sphere (3-D)
Pilot node (2-D和3-D)
一旦你指定目标单元形状,所有以后生成的单元都将保持这个形状,除非你指定另外一种形状。
然后你就可以使用标准的ANSYS直接生成技术生成结点和单元。
命令:N
E
GUI:main menu>pnoprocessor> modeling- create> nodes
main menu>pnoprocessor> modeling- create>Elements
在建立单元之后,你可以通过列示单元来验证单元形状
命令:ELIST
GUI:utility menu>list>Elements>Nodes+Attributes
使用ANSYS网格划分工具生成刚性目标单元
你也可以使用标准的ANSYS网格划分功能让程序自动地生成目标单元,ANSYS程序将会以实体模型为基础生成合适的目标单元形状而忽略TSHAP命令的选项。
为了生成一个“PILOT结点”使用下面的命令或GUI路径:
命令:Kmesh
GUI:main menu>proprocessor>meshing-mesh>keypoints
注意,KMESH总是生成“PILOT结点”
为了生成一个2─D目标单元,使用下面的命令和GUI路径:
ANSYS在每条直线上生成一条单一的线,在样条曲线上生成抛物线部分,在每条圆弧和倒角上生成圆弧部分,如果所有的圆弧形成一个封闭的圆,ANSYS生成一个单一的圆段。
命令:LMESH
GUI:main menu>pneprocessor>mesling-mesh>lines
为了生成3─D的目标单元,使用下面的命令或GUI路径。
如果实体模型的表面部分形成了一个完整的球,圆柱或圆锥,那么ANSYS程序自动生成一个基本的3─D目标单元,因为生成较少的单元,从而使你分析计算更有效率,对任意形状的表面,应该使用Amesh命令来生成目标单元,在这种情况下,网格形状的质量不是重要的,而目标单元的形状是否能完成好的模拟刚性面的表面几何形状显得更重要。
命令:AMESH
GUI:main menu>preprocessor>-meshing-mesh>Area
ANSYS在所有可能的面上推荐使用三角形的映射网格划分,如果在表面的边界上没有曲率,则在网格划分时,指定那条边界分为一分,下面的命令或GUI路径将尽可能的生成一个映射网格(如果不能进行映射,它将生成自由网格)
命令:MSHKFY,2
GUI:main menu>preprocessor>-meshling-mesh>-Ares-Target Surf
建模和网格划分的注意点:
一个目标面可能由两个或多个面断的区域组成,你应该尽可能地通过定义多个目标面来使接触区域局部比(每个目标面有一个不同的实常数号)刚性目标面上由的离散能足够指述出目标面的形状,过粗的网格离散可能导致收敛问题。如果刚性面有一个实的凸角,求解大的滑动问题时很难获得收敛结果,为了避免这些建模问题,在实体模型上,使用线或面的倒角来使尖角光滑比,或者在曲率突然变化的区域使用更细的网格。
注意:不能使用镜面对称技术(ARSYSM,LSYMM)来映射圆、圆柱、圆锥或球面到对称平面的另一边,因为每个实常数的设置不能同时赋给多个基本原型段。
检验目标面的接触方向。
目标面的结点号顺序是重要的,因为它定义了接触主向,对2─D接触问题,当沿着目标线从第一个结点移向第二个结点时,变形体的接触单元必须位于目标面的右边。
对3─D接触问题,目标三角形单元号应该使刚性面的外法线方向指向接触面,外法线通过右手原则来定义
为了检查法线方向,显示单元坐标系
命令:/PSYMS,ESYS,1
GUI:Utility menu>plotctrls>symbols
如果单元法向不指向接触面,选择单元反转表面的法向的方向。
命令:ESURF,,REVE
GUI:main menu>preprocossor>create>Element>on free surf
步骤4:定义柔性体的接触面
为了定义柔性体的接触面,必须使用接触单元CONFA171或CONFA172(对2─D)或CONTA173或CONTA174(对3─D)来定义表面
程序通过组成变形体表面的接触单元来定义接触表面,接触单元与下面覆盖的变形体单元有同样的几何特性,接触单元与下面覆盖的变形体单元必须处于同一阶次(低阶或高阶)下面的变形体单元可能是实体单元、壳单元、梁单元或超单元,接触面可能壳或梁单元任何一边。
与目标面单元一样,你必须定义接触面的单元类型,然后选择正确的实常数号(实常数号必须与它对应目标的实常数号相同)最后生成接触单元。
单元类型:
下面简单描述四种类型的接触单元
CONTA171:这是一种2─D,2个结点的低附线单元,可能位于2─D实体,壳或梁单元的表面
CONTA172:这是一个2─D的,3结点的高阶抛物线形单元,可能位于有中结点的2─D实体或梁单元的表面
CONTA173:这是一个3─D的,4结点的低阶四边形单元可能位于3─D实体或壳单元的表面,它可能褪化成一个结点的三角形单元。
CONTA174:这是一个3─D,8结点的高阶四边形单元,可能位于有中结点的3─D实体或壳单元的表面,它可能褪化成6结点的三角形单元。
不能在高阶柔性体单元的表面上分成低阶接触单元,反之也不行,不能在高阶接触单元上消去中结点。
命令:ET
GUI:main menu>preprocessor>Element type>Add/Edit/Delete
实常数和材料特性
在定义了单元类型之后,需要选择正确的实常数的设置,每个接触对的接触面和目标面必须有相同的实常数号,而每个接触对必须有它自己不同的实常数号。
ANSYS使用下面柔性体单元的材料特性来计算一个合适的接触(或罚)刚度,如果下面的单元是一个超单元。接触单元的材料的设置必须与超单元形成时的原始结构单元相同,生成接触单元。
我们既可以通过直接生成法生成接触单元,也可以在柔性体单元的外表面上自动生成接触单元,我们推荐采用自动生成法,这种方法更为简单和可靠。
可以通过下面三个步骤来自动生成接触单元
1、选择结点
选择已划分网格的柔性体表面的结果,如果你确定某一部分结点永远不会接触到目标面,你可以忽略它以便减少计算时间,然而,你必须保证设有漏掉可能会接触到目标面的结点。
命令:NSEL
GUI:main menu>preprocessor>create>Element>on>free surf
生成接触单元
命令:ESURF
GUI:main menu>preprocessor>create>Element>on free surf
如果接触单元是附在已用实体单元划分网格的面或体上,程序会自动决定接触计算所需的外法向,如果下面的单元是梁或壳单元,则必须指明哪个表面(上表面或下表面)是接触面
命令:ESURF,TOP OR BOTIOM
GUI:main menu>preprocessor>create>Element>on free surf
使用上表面生成接触单元,则它们的外法向与梁或壳单元的法向相同,使用下表面生成接触单元,则它们的外法向与梁或壳单元的法向相反,如果下面的单元是实体单元,则TOP或BOTTOM选项不起作用
3、检查接触单元外法线的方向,当程序进行是否接触的检查时,接触面的外法线方向是重要的,对3─D单元,按结点程序号以右手定则来决定单元的外法向,接面的外法向应该指向目标面,否则,在开始分析计算时,程序可能会认为有面的过度渗透而很难找到初始解。在此情况下,程序一般会立即停止执行,你可以检查单元外法线方向是否正确。
命令:/PSYMB
GUI:Utility menu>plotctrls>symbols
当发现单元的外法线方向不正确时,必须通过倒不正确单元的结点号来改变它们。
命令:ESURF,REVE
GUI:main menu>preprocossor>Create>Elements on free surf
步骤5:设置实常数和单元关键字程序使用九个实常数和好几个单元关键字来控制面─面接触单元的接触行为。
实常数
9个实常数中,两个(R1和R2)用采定义目标面单元的几何形状,乘下的7个用来控制接触行为。
R1和R2定义目标单元几何形状
FKN 定义法向接触刚度因子
FTOLN 定义最大的渗透范围
ICONT 定义初始靠近因子
PINB 定义“Pinball"区域
PMIN和PMAX 定义初始渗透的容许范围
TAUMAR 指定最大的接触摩擦
命令:R
GUI:main menu> preprocessor>real constant
对实常数FKN,FTOLN,ICONT,PINB,PMAX,和PMIN,你既可以定义一个正值也可以定义一个负值,程序将正值作为比例因子,将负值作为真实值,程序将下面覆盖原单元的厚度作为ICON,FTOLN,PINB,PMAX和PMIN的参考值,例如对ICON,0.1表明初始间隙因子是0.1*下面覆盖层单元的厚度。然而,-0.1表明真实缝隙是0.1,如果下面覆盖层单元是超单元,则将接触单元的最小长度作为厚度。
单元关键字
每种接触单元都饭知好几个关键字,对大多的接触问题缺省的关键字是合适的,而在某些情况下,可能需要改变缺省值,来控制接触行为。
接触算法(罚函数+拉格郎日或罚函数)(KEYOPT(2))
出现超单元时的应力状态(DEYOPT(3))
接触方位点的位置 (KEYOPI(4))
刚度矩阵的选择 (KEYOPT(6))
时间步长控制 (KEYOPT(7))
初始渗透影响 (KEYOPT(9))
接触表面情况 (KEYOPT(12))
命令:KEYOPT
ET
GUI:main menu>preprocessor>Elemant Type>Add/Edit/Delete
选择接触算法:
对面─面的接触单元,程序可以使用扩增的拉格朗日算法或罚函数方法,通过使用单元关键字KETOPT(2)来指定。
扩张的拉格朗日算法是为了找到精确的拉格朗日乘子而对罚函数修正项进行反复迭代,与罚函数的方法相比,拉格朗日方法不易引起病态条件,对接触刚度的灵敏度较小,然而,在有些分析中,扩增的拉格朗日方法可能需要更多的迭代,特别是在变形后网格变得太扭曲时。
使用拉格朗日算法的同时应使用实常数FTOLN
FTOLN为搠格朗日算法指定容许的最大渗艉,如果程序发现渗透大于此值时,即使不平衡力和位移增量已经满足了收敛准则,总的求解仍被当作不收敛处理,FTLON的缺省值为0.1,你可以改变这个值,但要注意如果此值太小可能会造成太多的迭代次数或者不收敛。
决定接触刚度
所有的接触问题都需要定义接触刚度,两个表面之间渗 量的大小取决了接触刚度,过大的接触刚度可能会引起总刚矩阵的病态,而造成收敛困难,一般来谘,应该选取足够大的接触刚度以保证接触渗透小到可以接受,但同时又应该让接触刚度足够小以使不会引起总刚矩阵的病态问题而保证收敛性。
程序会根据变形体单元的材料特性来估计一个缺省的接触刚度值,你能够用实常数FKN来为接触刚度指定一个比例因子或指定一个真正的值,比例因子一般在0.01和10之间,当避免过多的迭代次数时,应该尽量使渗透到达极小值。
为了取得一个较好的接触刚度值,又可需要一些经验,你可以按下面的步骤过行。
开始时取一个较低的值,低估些值要比高估些值好因为由一个较低的接触刚度导致的渗透问题要比 过高的接触刚度导致的收敛性困难,要容易解决。
对前几个子步进行计算检查渗透量和每一子步中的平衡迭代次数,如果总体收敛困难是由过大的渗透引起的(而不是由不平衡力和位移增量引起的),那么可能低估了FKN的值或者是将FTOLN的值取得大小,如果总体的收敛困难是由于不平衡力和位移增量达到收敛值需要过多的迭代次数,而不是由于过大的渗透量,那么FKN的值可能被高估。
按需要调查FKN或FTOLN的值,重新分析。
选择摩擦类型。
在基本的库仑摩擦模型中,两个接触面在开始相互滑动之前,在它们的界面上会有达到某一大小的剪应力产生,这种状态则作粘合状态(stick)库仑摩擦模型定义了一个等效剪应力。)一旦剪应力超过此值后,两个表面之间将开始相互滑动,这种状态,叫作滑动状态(Sliding)粘合\滑动计算决定什么时候一个点从粘合状态到滑动状态或从滑动状态变到粘合状态,摩擦系数可以是任一非负值。程序缺省值为表面之间无摩擦,对rough或bonded接触(KEYOPT(2)=1(或3),程序将不管给定的MV值而认为摩擦阻力无限大。
程序提供了一个不管接触压力的故而人为指定最大等效剪应力的选项,如果等效剪应力达到此值时,滑动发生。看图,4─1,为了指定接触界面上最大许可剪应力,设置常数 TAUMAX(缺省为1.0E20),这种限制剪应力的情况一般用于接触压力非常大的时候,以至于用库仑理论计算出的界面剪应力超过了材料的屈服极限。一对TAUMAX的一个合理高估为(是材料的mises屈服应力)。
图4—1 摩擦模式
对无摩擦rough和bonded接触,接触单元刚度矩阵是对称的,而涉及到摩擦的接触问题产生一个不对称的刚度,而在每次迭代使用不对称的求解器比对称的求解器需要更多的计算时间,因此ANSYS程序采用对称化算法。通过采用这种算法大多的摩擦接触问题能够使用对称系统的求解器来求解。如果摩擦应力在整个位移范围内有相当大的影响,并且摩擦应力的大小高度依赖于求解过程。对刚度阵的任何对称近似都可能导致收敛性的降低,在这种情况下,选择不对称求解选项(KEYOPT(6)=1)来改善收敛性。
选择检查接触与否的位置接触检查点位于接触单元的积分点上,在积分点上,接触单元不渗透进入目标面,然而,目标面能渗透进入接触面,看图4—2。
图4—2 接触检查点位于高斯积分点上
ANSYS面─接触单元使用GAUSS积分点作为缺省值,GAUSS积分点通常会比Newton-Cotes/robatto结点积分项产生更精确的结果,Newton-cotes/lobatto使用结点本身作为积分点,通过KEYOPT(4)来选择,你想使用的方法,然而,使用结点本身作为积分点仅应该用于角接触问题(看图4─3)。
图4—3 接触检查点位于高斯结点上然而,使用结点作为接触发现点,可能会导致其它的收敛性问题,例如“滑脱”(结点滑下目标面的边界)看图4─4,对大多的点─面的接触问题,我们推荐使用其它的点─面的接触单元,例如CONTA26、CONTA48和CONTA49。
图4—4 结点滑脱调整初始接触条件
在动态分析中,刚体运动一般不会引起问题,然而在静力分析中,当物体没有足够的约束时会产生刚体运动,有可能引起错误而终止计算。
在仅仅通过接触的出现来约束刚体运动时,必须保证在初始几何体中,接触对是接触的,换句话说,你要建立模型以便接触对是“刚好接触”的,然而这样作可能会遇到以下问题:
刚体外形常常是复杂的,很难决定第一个接触点发生在哪儿既使实体模型是在初始接触状态,在网格划分后余于数值舍入误差;两个面的单元网格之间也可能会产生小的缝隙。
接触单元的积分点和目标单元之间可能有小的缝隙。
同理,在目标面和接触面之间可能发生过大的初始渗透,在这种情况下,接触单元可能会高估接触力,导致不收敛或 民接触面之间脱离开接触关系。定义初始接触也许是建立接触分析模型时最重要的方面,因此,程序提供了几种方法来调整接触对的初始接触条件。
注意:下面的技巧可以在开始分析时独立执行成几个联合起来执行,它们是为了消除由于生成网格造成的数值舍入误差而引起的小缝隙或渗透,而不是为了改正网格或几何数据的错误。
使用实常数ICONT来指定一个好的初始接触环,初始接触环是指沿着目标面的“调整环”的深度,如果没有人为指定ICONT的值,程序会根据几何尺寸来给ICONT提供一个小值,同时输出一个表时什么值被指定的警告信息,对ICONT一个正值表示相对于下面变形体单元厚度的比例因子,一个负值表示接触环的真正值,任何落在“调整环”敬域内的接触检查点被自动移到目标面上,(看图4—5(a))建议使用一个小的ICONT值否则,可能会发生大的不连续(看图4─5(b))
图4—5 用ICON进行接触面的调整调整前调整后使用实常数PMIN和PMAX来指定初始容许的渗透范围,当指定PMAX或PMIN后,在开始分析时,程序会将目标面移到初始接触状态,如果初始渗透大于PMAX,程序会调整目标面的减少渗透,接触状态的初始调节仅仅通过平移来实现。
对给定载 或给定位移的刚性目标面将会执行初始接触状态的初始调节。同样,对没有指定边界条件的目标面也可以进行初始接触的调整。
当目标面上的节点,有给的零位移值时,使用PMAX和PMIN的初始调节将不会被执行。
注意:ANSYS程序独立地处理目标面上节点的自由度,例如:如果你指定自中度UX值为“0”,那么,沿着X方向就没有初始调查,然而,在Y和Z方向仍然会激活PMAX和PMIN选项。
初始状态调整是一个迭代过程,程序最多进行20次迭代,如果目标面不能进入可接受的渗透范围,程序会给出一个警告信息,你可能需要调整你的初始几何模型。
图4─6给出了一个初始接触调整迭代失败的例子。目标面的UY被约束住。因此,初始接触唯一容许的调整是在X方向,然而,在这个问题中,刚性目标面在X方向的任何运动都不会引起初始接触。
图4—6 一个初始调整失败的例子设置KEYOPI(9)=1来消除初始渗透,看图4─7。
图4—7 消除初始始渗透在某些情况下,例如过盈装配问题,期望有过度的渗,为了缓解收敛性困难,在第一个载荷步中设置KEYOTI(9)=2来使过度渗透渐进到0,看图4─8。当使用这种方法时,在第一个载 步中不要给定其它任何载荷,也就是说要保证载荷是渐进的(KBC,0)
图4—8 渐进初始渗透在开始分析时,程序会给出每个目标面的初始接触状态的输出信息,(在输出窗口或输出文件中),这个信息有助于决定每个目标面的最大渗透成最小间隙。
对于给定的目标面如果没有发现接触,可能是目标面离接触面太远(超出了Piaball区域或者是接触/目标单元已经被杀死。
决定接触状态和Pinball区域。
接触单元相对于目标面的运动和位置决定了接触单元的状态;程序检测每个接触单元并给出一种状态
STAT=0 未合的远区接触
STAT=1 未合的近区接触
STAT=2 滑动接触
STAT=3 粘合接触
当目标面进入pinball区域后,接触单元就被当作未合上的近区域接触,pinball区域是以接触单元的积分点为中心的。使用实常数PINB来为pinball指定一个比例因子(正值)或其实值(负值),缺省时,程序将pinball区域定义为一个以4*变形体单元厚度为半径的圆(对2-D问题)或球(对3-D问题)。
检查接触的计算时间依赖于pinball区域的大小,远区接触单元的计算是简单的且计算时间较少,近区接触计算将要接触的接触单元是较慢的,并是较复杂,当单元已经接触时,计算最为复杂。
如果刚性面有好几个凸形区域,为了克服伪接触定义,设置一个合适的pinball区域是有用的,名而对大多数问题,缺省值是合适的
选择表面作用模式
通过设置kcyopt(12)来选择下面的某种作用模式法问单边接触 (KEYOPT(12)=0)
.粗糙接触,用来模拟无滑动的,表面相当粗糙的摩擦接触问题,这种设置对应于摩擦系数无限大(MU),因此用户定义的摩擦系的(MU)被忽略KEYOPT(12)=1)
.不分开的接触,用来模拟那种一是接触就再不分开的问题,这种不分开是指对法方接触而言,允许有相对滑动。(KEYOPT(12)=2)
.绑定接触 用来模拟那种接触一是发生表面在所省方向都被绑定的问题。一旦接触就再也不能脱开也不允许有相对滑动(KEYOPT(12)=3)
用超单元建立接触模型
面一面的接触单元能模拟刚体和另一个有 的运动的线 单性体的接触,而线 单性体又以体用超单元来建模,这大大降低了进行接触 代的自由度数,记住任荷接触结定都必须是超单元的主自由度。
既然超单元仅仅由一组保留的结点自由度组成,它没有用来定义接触的表面几何形状,因此,必须在形成超单元之前在单元表面上 成接触单元,来自超单元的信息包括结点连结和组合刚度,但是没有材料特性和应力状态,(是否轴支称,平面应力或平面应变),一个限制是接触单元的材料特性设置必须与形成超单元之前的原始单元的材料特性相同。
使用KEYOPT(3)来提供接触分析的信息,对2─D单元(CONTA171 CONTA172)关键字选项如下所示:
.不使用超单元(KETOPT(3)=0)
.轴对称(KEYOPT(3)=1)
.平面应变或单位厚度的平面应力(KEYOPT(3)─2)
.需要厚度输X的平面应力(KEYOPT(3)=3),对这种情况使用实常数的R2来指定指定厚度
对3─D单元(CONTA173,CONTA174)关键字选项如下示:
使用H单元(KETOPI(3)=0)
使用超单元(KEYOPI(3)=1)
考虑厚度影响
程序够用KEYOPI(11)来考虑壳(2-D和3-D)和梁(2-D)的厚度缺省时,程序不考虑单元厚度,用或中面来表示它。当设置KFTOPI(11)=1时则考虑梁或壳的厚度,从底面或顶面来计算接触距离,建模时要考虑到厚度,记住刚性目标面会向任一边移动,半个梁或壳单元的厚度,当使用壳单元181号时,在变形期间厚度的变化也将被考虑。
使用时间步长控制时间步长控制是一个自动时间步长特征,这个特征预测什么时间接触单元的状态,将发生变化或者需要二分当前的时间步长,使用KEYOPT(7)来选择下列四种行为之一来控制时间步长。KEYOPT(7)=0时不提供控制,KEYOPT(7)=3提供最多的控制。
KEYOPI(7)=0,设有控制,时间步 的大小不受预测影响,当自动时间步长被激活且允许一个很小的时间步长时,这个设置是合适的。
KETOPI(7)=1如果一次迭代期间有太大的渗透发生或者接触状态突然变化,则进行时间步长二分。
KEYOPI(7)=2对下一个子步预测一个合理的时间增量
KETOPI(7)=3对下一个子步,预测一个最小的时间增量
使用死活单元选项
面─面的接触单元允许激活或杀死单元,能够在分析的某一阶段中杀死这个单元而在以后的阶段再重新激活它,这个特征对于模拟复杂的金属戍形过程是有用的、在此过程的不同分析阶段有多个目标需要和接触面相互作用,回弹模拟常常需要在成形过程的后期移走刚性工具。
步骤六:
控制刚性目标的运动。
按照物体的原始外形来建立的且整个表刚性目标面是面的运动是通过“pilot”结点上的给定来定义的,(如果没有定义“pilot”结点,则通过刚性目标面上的不同结点。)
为了控制整个目标面的运动,在下面的任何情况下都必须使用"pilot"结点。
目标面上作用着给定的外力目标面发生旋转目标面和其它单元相连(例结构质量单元)
"pilot"结点的厚度代表着整个刚性面的运动,你可以在"pilot"结点上给定边界条件(位移、初速度)集中载 转动等等,为了考虑刚体的质量,在"pilot"结点上定义一个质量单元。
当使用"pilot"结点时,记住下面的几点局限性每个目标面只能有一个“Pilot"的结点
.圆、圆锥、圆柱、球的第一个结点(结点工)是”pilot“结点,你不能另外定义或改变"pilot"结点
.程序忽略不是"lilot"结点的所有其它结点上的边 条件。
.只有“pilot”结点能与其它单元相连
.当定义了“pilot”结点后,不能使用约束方程(CF)或结点来耦合(CP)来控制目标面的自由度,如果你在刚性面上给定任意载荷或者约束,你必须定义“pilot”结点,是在"pilot"结点上加载,如果没有使用“pilot”结点,则只能有刚体运动。
在每个载 步的开始,程序检查每个目标面的边界条件,如果下面的条件都满足,那么程序将目标面作为固定处理:
在目标面结点上没有明确定义边界条件或给定力
.目标面结点没有和其它单元相连
.没有目标面结上使用约束方程或结点来 合
在每个载体步的末尾,程序将会放松被内部设置的约束条件步骤7:给变形体单元加必要的边界条件
现在可以按需要加上任你边界条件。加载过程与其它的分析类型相同步骤8:定义求解和载 步选项
接触问题的收敛性随问题不同而不同,下面列式了一些典型的在大多数面—面的接触分析中推荐使用的选项时间步长必须足够 以描述适当的接触 。如果时间步 太大,则接触力的光滑传递会被破坏,设置精确时间步长的可信赖的方法是打开自动时间步长。
命令:Autots,on
GUI:Main Menu>Solution>-load step opts-Time/Frequence>Time&Time step
/Time& substeps
.如果在迭代期间接触状态变化,可能发生不连续,为了避免收敛太慢,使用修改的刚度阵,将牛顿一拉普森选项设置成FULL
命令:NROPT,FULL,,OFF
GUI:Main Menu>Solution>Analysis options
不要使用自下降因子,对面一面的问题,自适应下降因子通常不会提供任何帮助,因此我们建议关掉它。
·设置合理的平衡迭代次数,一个合理的平衡迭代次数通常在25和50之间命令:NEQIT
GUI:Main Menu>Solution>-load step opts-Nonlinear>Equilibriwm iter
因为大的时间增量会使 代趋向于变得不稳定,使用线性搜索选项来使计算稳定化。
命令:LNSRCH
GUI:Main menu>solution>-load step opts-Nonlinear>lins search
·除非在大转动和动态分析中,打开时间步长预测器选项命令:PRED
GUI:main mean>solarion>-load step opis-nonlinear>predictor
在接触分析中许多不收敛问题是由于使用了太大的接触刚度引起的,(实常数FKN)检验是否使用了合适的接触刚度。
步骤九:求解
现在可以对接触问题进行求解,求解过程与一般的非线问题求解过程相同第十步:检查结果
接触分析的结果主要包括位移、应力、应变,支,和接触信息(接触压力、滑动等)你可以在一般的后处理器(post1)或时间历程后处理器(post26)中查看结果。
注意点:
为了在post1中查看结果,数据库文件所包含的模型必须与用于求解的模型相同。
必须存在结果文件在post1中查看结果从输出文件中查看分析是否收敛。
如果不收敛,你可能不想后处理,而更在乎为什么不收敛。
如果已经收敛,继续后处理。
进入post1如果你的模型不在当前的数据库中,使用恢复命令(resume)来恢复它。
命令:/post1
GUI:main menu>General postproc
读入所期望的载荷步和子步的结果,这可以通过载荷步和子步数也可以通过时间来实现。
命令:SET
GUI:main menu>generad postproc
使用下面的任何一个选项来显示结果选项:显示变形形状态命令:PLDISP
GUI:main menu>general postproc>plot resnlt deformed shape
选项:等值显示命令:PLNSOL
PLESOL
GUI:main menu>general postproc>plot result>contour plot-noded solu 或
element和solu
使用这个选项来显示应力,应变或其它项的等值图,如果相邻的单元有不同的材料行为(例如塑性或多弹性材料特性,不同的材料类型,或不同的死活属性)则在结果显示时应避免结点应力平均错误。
也可以将定的接触信息用等值图显示出来,对2─D接触分析,模型用灰色表示,所要求显示的项将沿着接触单元存在的模型的边界以梯型面积表示出来,对3─D接触分析,模型将用灰色表示,而要求的项在接触单元存在的2─D表面上等值显示。
还可以等值显示单元表的数据和线性化单元数据。
命令:PLETAB
PLLS
GUI:main menu>general postproc>Element Table>Plot Element Table
main menu> General Postproc>Plot Results>-Contour plot-line Elem Res
选项:列表显示命令:PRNSOL
PRESOL
PRRSOL
PRETAB
PRITER
NSORT
ESORT
GUI:Main menu>General Postproc>List Results>Noded Solution
Main menu>General Postproc>Lost Results>Element Solution
Main menu>General Postproc>List Results>Reaction Solution
在列表显示它们之前,可以用NSORT和ESORT来对它们进行排序选项:动画可以动画显示接触结果随时间的变化命令:ANIME
GUI:Wility menn>Plotctrls >Animate>Contours lner fime
post26中查看结果
你也可以使用post26来查看一个非线性结构对加载历程的响应使用post26,可以比较一个变量陡另一个变量的变化关系,例如,可以画出某个结点位移随给定载的曲线关系,某个结点的塑性应变与时间的关系,一个典型的post26后处理过程需要分以下几个步骤从输出文件中检查是否分析已经收敛求解已收敛,进入post26,如果模型不在当前数据库中恢复它命令:/Post26
GUI:Main menu>Timehist Postpro
定义变量命令:NSOL
ESOL
RFORCE
GUI:Main menu>Time Hist Postpro>Define Variable
画曲线或列表显示命令:PLVAR
PRVAR
EXTREM
GUI:Main menu>Time Hist Postproc>Graph Variable
Main menu>Time Hist Postproc>List Variarle
Main menu>Time Hist Postproc>List Extremes
点─面接触分析
我们能使用点─面接触单元来模拟一个表面和一个结点的接触,另外,可以通过把表面指定为一组结点,从而用点─面接触来代表面─面的接触。
ANSYS程序的点─面接触单元允许下列非线性行为:
有大变形的面─面接触分析接触和分开库仑摩擦滑动热传递
点─面的接触是一种在工程应用中普遍发生的现象,例如:夹子、金属成形等等,工程技术人员对由于结构之间的接触而产生的应力变形为和温度改变是感兴趣的。
使用点─面的接触单元
在ANSYS程序中点─面的接触是通过跟踪一个表面(接触面)上的点相对于另一表面(目标面)上的线或面的位置来表示的,程序使用接触单元来跟踪两个面的相对位置,接触单元的形状为三角形,四面体或锥形,其底面由目标面上的节点组成,而顶点为接触面上的节点。
图4─9绘出了二组的接触单元(COWTA(48))和三维的接触单元(COWTA(49))
图4─9 (a)2-D接触单元—COWTAC48
(b)3-D接触单元─COWTAC49
(c)2-D接触单元─COWTAC26
如果目标面是刚性的,而问题又是2-D的,则可以使用CONTA26来建模点─面接触分析的步骤
下面列出了典型的点─面接触分析的基本步骤建模并划分网格识别接触对生成接触单元设置单元关键字和实常数给定必须的边界条件定义求解选项求解查看结果第1步:建模,划分网格
在这一步中,需要建立代表接触体几何形状的模型,设置单元类型,实常数和材料特性,用适当的单元类型划分网格命令:AMESH
VMESH
GUI:Main menu>Pneprocossor>Mesh>Mapped>3 or 4 Sided
Main menu>Pneprocessor>Mesh>Mapped>4 to 6 sided
应该避免使用有中结点的单元,特别是在3维问题中,因为这些单元表面节点上“有效刚度”是很不均匀的,例如,对95号单元来说,角结点上有一个负刚度。然而,是接触关系 建立,ANSYS程序的点─面接触算法假定刚度均匀分布在面上的所有结点上,因此,在接触分析中使用这些单元时,能导致收敛困难。
仅仅在使用COWTA48的2维分析中,才可以在接触面上使用中结点单元,但不能在目标面上使用中结点单元,当生成48号接触单元的时候,目标面上的中节点将被忽略,这样将会导致在目标面上不均匀的力传递。
第2步,识别接触对
你必须认识到在变形过程中,哪儿可能发生接触,一是你已知认识到潜在接触面,通过接触单元来定义它们,为了更有效地进行计算(主要指CPU时间),你可能想,定义比较小的,局部的接触区域,但要保证你所定义的接触区域能模拟所有必须的接触。
由于几何形状和潜在变形的多样化,可能有多个目标面和同一个接触面相互作用,在这种情况下,必须定义多个接触对,对每个表面,你需要建立一个包含表面节点的组元。
命令:CM
GUI:Utility>Select>Comp/Assembly>Cneate Component
然后就可以使用这些表面结点,在接触面之间形成所有有可能的接触形状。如果你能肯定某些面永远不会相互接触,那么应该适当的包括更多的结点第三步:生成接触单元
在生成接触单元之前,首先必须定义单元类型,对点─面的接触使用CONTAC48(2维)和CONTAC49(3维)
命令:ET
GUI:Main menu>Pneprocessor>Eloment Type>Add/Edit/Relete
然后再定义接触单元的实常数,每个不同的接触面应该有一个不同的实常数号,即便实常的值相同,因为使用不同的实常数号,程序能够较好的区分出是壳的顶面还底面接触,或者是能够在不同的接触面进行较好的区分。例如:在角接触中,每条也应该有它自己的实常数号,如图4─10所示,另一种典型应用是梁的双边接触,如图4─11所示命令:R
RMODIF
GUI:Main menu>Pneprocessor>Real Constants
接着就是在对应的接触对之间生成接触单元。
命令:GCGEN
GUI:Main menu>Pnprocossor>Cneate>Elements>At Confactsrf
对生成点─面的接触单元的几点提示。
一般来说,生成的接触单元不需超过所需要的2─3,使用“限制半径”(RADC)或“生成的单元数”(NUMC)选项来限制生成的接触单元数,如果生成的接触单元数超过所需的10或更多,则会极大增加计算时间,同时也需要大量的硬盘空间。
进行接触分析时在接触面上建议使用无中结点的单元。
对梁或壳单元需要通过“目标面”(TLAB)选项来指定单元数一边是目标面。
对于卷曲的(非平面)目标面,使用CONTA49的“基本形状”(shape)选项来指定单元的基本形状是三角形,这个选项能使目标单元较好的模拟目标面的原形。
每次在新的接触对之间生成接触单元时,都指定一个新的实常数号,既使接触单元的实常数值没有改变,生成对称或反对称的接触单元。
你可以选择生成对称的或反对称的接触单元,用一个简单的GCGEN命令定义一对接触面生成一种反对称的接触方式。在这种情况下,一个面是接触面而另一个是目标面,另外你可以使用两个GCGEN命令,将两个面都定义成即是目标面又是接触面,这种情况叫作对称接触方式,例如:考虑两个面A和B,在第一个GCGEN命令中,将面A指定为接触面,面B指定为目标面,而在第二个GCGEN命令中,将面A指定为目标面,而将面B指定为接触面,下面是在前处理中生成接触单元的标准命令流输入。
NSEL,S,NODE… !在接触面上选择一组结点
CM,CONTACT,NODE !将所造结点生成组元“COMTACT”
NSEL,S,NODE… !大目标面上选择一组新结点
CM,TARGET,NODE !将所选结点生成组元“TARGET”
NSEL,ALL
GCGEN,CONTACT,TARGET
GCGEN,TARGET,CONTACT
一般来说,对称接触方式是一种更好的方法,因为它不需要特别考虑哪个面是接触面,哪个面是目标面,相反,反对称接触方式在区分目标面和接触面时需要遵守以下规则:
如果一个面的接触部分是平的或凹的,而另一个面的接触部分是尖的或凸的,则应该将平凹面作为目标面,
如果两个接触面都是平的,则可以任意选择如果两个接触面都凸的,应该将两个面中较平的作为目标面如果一个接触部分有尖边,而另一个没有,则有尖边的面应作为接触面。
生成已经开始接触的模型,那就是建立开始变形时的模型,这样,单元实际上已经彼此重叠在一起,用这种方法,在对结构进行分析时只需使用一个载荷步,同时应该打开“线性搜索”选识,从许多过盈分析问题中发现,为了得到收敛的结果,必须打开此选项。
命令:LNSRCH,ON
GUI:main menu>Preprocessor>load>No linesr>Line Search
用一个较弱的初始法向刚度(实常数KN)来生成已经开始接触的模型进行计算,然后在以后的载 步中,使用新的R命令来逐步增加KN的值到一适当的值。(在此方法中,必须明确定义切向刚度佳,而不能使用缺省值)
第四步:设置单元关键字和实常数
使用点─面的接触单元时,程序使用四个单元关键字和几个实常数来控制接触行为单元关键字:
CONTAC48和CONTAC49使用下面的单元关键字
KEYOPT(1):选择正确的自由度(包含或不包括温度)
KEYOP(2):选择罚函数的方法或罚函数+拉格朗日方法
KEYOPT(3):选择摩擦类型;无摩擦弹性库仑摩擦或刚性库仑摩擦。
KEYOPT(7):选择接触时间步 预测控制命令:KEYOPT
ET
GUI:Main Mneu>Pneporcessor>Element Type >Add/Delete
摩擦类型
你需要选择一种摩擦类型,点─面接触单元支持弹性库仑摩擦和刚性库仑摩擦,弹性库仑摩擦允许存在粘合和滑动状态,粘合区被当作一个刚度为KT的弹性区来处理,在变形期间当接触面是粘合而不是滑动的时候,选择这种摩擦类型是好的,刚性库仑行为仅仅允许有滑动摩,而接触面不能粘合,仅仅在两个面处理持续的相对滑动时,才选择这种摩擦类型,如果运动停止或逆转,将会遇到收敛性的问题。
罚函数与罚函数+拉格朗日方法
协调控制方法保证一个面不会渗透进入另一个面超过某一容许量,这可以通过罚函数方法或罚函数+拉格朗日方法来实现,在这种方法中,将有力加在接触结点上,直到接触结点渗透进入目标面。
热─结构结触如果两个温度不同的物体此接触,在它们之间将会发生热传递我们能够联合这种点─面的接触单元和热─结构来 合场单元来模拟这种情况下的热传递,(对不关心应力的分析,能够用标准的热单元来给系统的固定部分建模。)其关键字设置如表1─2所示,这些单元的热─结构 都被激活,(必须为实常数COND(接触传导率)定义一个值,以模拟接触界面之间的热量流动)
接触预测
CONTAC48和CONTAC49对控制接触时间预测提供了三个选项。
没有预测:当自动时间步 被找开并允许小的时间步 时,大多的静力分析使用此选项,如果允许一个足够小的时间步 自动时间步长二分特征将会把步长减小到必要的大小,然而,二分法并不是一种需要进行时间预测的有效方法,对在加载过程中,有不连续接触区域的那些问题,时间步 预测是必须的。
合理的时间步:为了保持一个合理的时间/载 增量,需要在接触预测中选择此项。此项在时间步长预测器正在完好运行的静态分析中,或在连续接触(滚动接触)的瞬态分析中是有用的,如果接触点的位置随时间的变化是一个非线性函数,那么线性时间步长预测不可能是有效的,虽然其它的非线性特征能够小时间步 以使线性时间步长预测能够提供很好的预测效果。
最小的时间/载荷增量预测,无论什么时候,当接触状态发生的改变时,预测会取一个最小的时间/载 荷增量,这个选项在碰撞和断续接触的瞬态分析中是有用的,或者用于由于线性预测不起作用而导致的第二个选项无用时,为了更有效的进行计算,仅仅对处于初始接触状态的那些接触单元使用此选项。
实常数
CONTAC48和CONTAC49使用下面的实常数
KN定义法向接刚度。
KT定义粘合接触刚度
TOLN 定义最大的渗透容差
FACT定义静摩擦与动摩擦的比值
TOLS定义一个小的容差以增加目标面的长度。
COND定义接触传导率命令:R
GUI:Main menu>Preprocessor>Real Constants
法向刚度
我们必须给接触刚度KN提供一个值,(对KN设有缺省值)KN应该是足够大的以便不会引起过大的渗透,但又不应该大到导致病态条件,对大多的接触分析,应该按下面的公式来估计KN的值。
KN=fEh
f:控制接触协调性的因子,这个因子通常在0.01和100之间,开始时通常取f=1
E,杨氐模量如果接触发生在两种不同的材料间,考虑使用杨氏模量较小者)
h:特征接触长度,这个值取决于问题几何形状的特殊性在3维外形中,h应该等于典型的接触目标长度(也就是目标面的平方根)或者典型的单元尺寸,对大多数柔体—柔体的接触问题,通常发现处于接触状态的平均单元尺寸几乎等于目标长度。当目标长度与典型的单元尺寸当相差很大时,应该使用典型的单元尺寸来作为h的值,在2维平面应力或应变问题中,对平面应变或无厚度输入的平面应力问题,让h=1,对于有厚度输入的平面应力问题,让h等于厚度,在2维轴对称分析中,让h等于平均接触半径当估计柔软结构的KN值时(特别是在梁或壳的模型中)应该在两个接触体上进行一个简单的迭代分析来计算局部接触刚度,如图:4─9示
图1─9 计算柔软结构的接触刚度
KN=P/(1△11+1△21)
上式中:P=作用在接触位置的点载(位置1和2)
△1,△2=位置1和2的结点位移在计算KN时,使用体系的实际边界条件,(就是说KN不是赫兹接触刚度,它考虑了整个结构的柔度)
粘合刚度
弹性区的大小取决于你使用的粘合刚度的值(KT)与法向刚度KN一样,你可能想使用一个较大的粘合刚度,但不要大到影响收敛性,一般来说,粘合刚度KT应该比法向刚度KN 1,2或3的量级。
如果你想模拟单性库仑摩擦,程序将会使用到KT的值。程序使用KT=KN/100作为缺省值,然而与KN一样,如果KT太大,可能会经历一个病态条件,因此,对大多的情况,KT的缺省值可能是不适合的。
渗透容差:
当使用罚函数+拉格朗日方法时(KEYOPT(2)=1),在表面法方向给定的绝对容差(TOLN),被用来决定是否满足渗透协调性,如果接触结点渗进目标的距离在TOLN的范围内,则认为满足接触协调性,TOLN的值必须是 的而是长度单位TOLN的值一般约为表面单元尺寸的1%,如果将TOLN的值定得太小,可能要浪费大量的计算时间。
静摩擦与动摩擦系的比值。
如果KEYOPT(3)=0,不考虑两个表面间的摩擦,则实常数KT和FACT都不需要,当KEYOPT(3)=1或2时,需要输入摩擦系数,MU它可以被指定为一个温度的函数,此时,MU的值被作为动摩擦系数,而静摩擦系 数是FACT*MU。
目标长度
如果两个接触面上的结点是一一对应的,或者在靠近对称边界上有接触产生时,于接触结点目标面上的两个邻近单元之间来回摆动,因而可能会导致求解振荡,当发生这种情况时,可能会极大地增加求解时间,为了克服这个问题,可以给实常数TOLS指定一个值,这将在目标面的两个邻近单元之间建立一个“缓冲区”,TOLS的值是一个特征接触长度的百分比,那就是说:TOLS=0.5将建立一个宽度接触长度的0.5%的缓冲区。
热传导率
对热─结构接触的问题为了描述通过接触界面的传导率,需要定义一个接触传导率(实常数(CONT))单位是热量/(时间*温度)通过接触界面的热传导率通常的接触体自身的传导率,因为从微观上说接触表面是不光滑的,只有整个接触面的一个小的百分比面积处于真正的接触中,因而导致了传导率的降低。因此,通常不能用接触体的热传导来描述接触界面的热传导率,对理想热接触(在接触面上没有温度降)将使用一个大的CONT值,可以能100KA/L这个量级上,K是接触体的传导率,A和L是接触单元的面积和长度,通常情况下考虑到不理想的热传导,应该给COND输入一个小得多的值第五步,加上必要的边界条件
加载过程与其它分析过程相同,值得注意的是:在分析期间如果两个物体分开,那么刚度矩阵变得奇异和不可求解(在静力分析中),如果是刚度矩阵变得奇异程度将会给出“Piloot ratio”的警告信息,但程序仍会设法求解,最终会出现一个"negatiue main diagonal" 或"Dof Limif exleeded"的信息。
为了克服这个问题,采用下面的某种建议建模时,使接触体处于恰好接触的位置使用给定位移来将它移到某个位置使用很弱的弹簧把两个分开的物体连起来,使用动态方法求解。
第6步 定义求解选项
接触问题的收敛性与问题的特殊性有关,下面列出了一些典型的,在大多的点─面的接触分析中推荐采用的选项。
使用KEYOPI(7)来设置合适的时间步长时间步长必须是足够小的,如果时间步长太大,接触力的光滑传递将被破坏,设置一精确良的可信方法是打开自动时间步长命令:Autots,on
GUI:Main menu>Solution>-Load Stop opts-Time/Frequenc>Time & Time step/Time Substops
设置一个合适的平衡迭代次数,一个合理的平衡迭代次数通常在25和70之间。
命令:NEQZT
GUI:Main menu>Solution>-Load Stop opis- >Equilibriam iter
除非在大转动分析中,打开时间步长预测。
命令:PRED
GUI:Main menu>Solution>Load Stop opts-Nonlinear>Predictor
设置中顿一拉普森选项到“FULL”,同时打开自下降因子命令:NROPT,FULL,ON
GUI:main menu>solutim>Analysis opfions
在接触分析中,许多的不收敛性是由使用了太大的接触刚度(实常数KN)造成的,如果是这样,减少接触刚度然重启动(此时必须明确定义切向刚度)
相反,如果在接触分析中发生太大渗透,则是使用了一个太小的KN值,此时,在下面的几个载 步中逐步增加KN的值然后重启动,(此时也必须明确定义切向刚度)
第7步:求解
求解过程与其它分析过程相同第8步:查看结果
我们可以采用一般的后处理器POST1或时间历程后处理器POST26来查看结果。
接触单元的输出量包括:
单元的现在状态和过去状态的
分开(没有接触)
接触粘合状态接触滑动状态粘合=1,滑动=2或-2,分开=3或4
两个表面间的距离,如果是正值,那么两个面是分开的(STAT=3或4)如果是负值则代表渗透量(STAT=1或2)
法向力Fn(FN)
滑动力Fs(FS)
使用单元CONTAC26
CONTAC26是ANSYS的点─刚性面接触单元,使用CONTAC26时,需注意以下几点:
这种单元是通过总体X─Y评面上的3个结点来定义的,能用于2维平面应力,平面应变和轴对称问题。
结点2叫作接触结点,通常连到有限元模型的表面上结点J和K组成目标面,这用来表示一个刚性面目标面的形状可以是直线,凹形圆弧,或凸形圆弧(由实常数控制)
当目标面的形状是凹形并是不连续时,在接触面上将会有空隙,当接触节点移进空隙顺时,就会发生丢失接触的现象。
在生成CONTAC26单元时,只能使用直接生成法命令:E
GUI:main menu>Preprocess>Cneate>Elcment>Thru Nodes
点-点的接触
在ANSYS程序中提供了三种点-点的接触单元,在此,我们主要介绍前二种:
CONTAC12
CONTAC52
COMBIN40
我们可以在预先知道接触位置的单点接触问题中使用点-点的接触单元。也可以在接触面网格完全相同的情况,例如过盈装配问题中,用点-点的接触元来模型两个面之间的接触。
CONTAC12:2-D点-点的接触单元
这个单元是通过总体坐标系X-Y平面内的二个结点来定义的,可以用于2-D平面应力,平面应变和轴对段分析中。
程序通过一个相对于总体坐标X轴的输入角Q(用度表示)来定们接触面,接触面不一定垂直于结点I,J的连线,并且结点I,J可以位于同一位置。CONTAC12的单元坐标系是这样定义的,总体坐标的X轴逆时针旋转Q角便得到正的滑动方向,法向方法N垂直于S,正的法向位移有张开缝隙的作用。
我们可以用下面二种方法来定义初始过盈量或缝隙。
明确定义实常数INTF,这时单元关键字K4必须设置成“Real Consttant”(这是这个选项的缺省值)。一个负的INTF值表示处于初始张开的缝隙状态。
让程序以初始节点位置为基础计算初始过盈量或缝隙,这时单元关键字k4必须设置为“Initnodelocats”。初始分开的结点定义了初始张开的缝隙。
一个实常数,初始单元状态(START)一旦被定义,程序将忽略由INTF给定的条件,有效的开始条件是:
START=0:由INTF决定缝隙状态
START=1:缝隙是关闭的,且没有滑动
START=2:缝隙是关闭的,且有方向的滑动
START=-2:缝隙是关闭的,且有负方向的滑动
START=3:缝隙是张开的一个对开始条件的好的估计将有助于问题的收敛。
CONTAC12的实常数:
界面角THETA-定义接触面方位的角度
法向刚度KN-在法线方向的接触刚度
位移过盈量INTF-初始过盈量基缝隙
初始单元状态START
粘附刚度KS-在滑动方向的接触刚度KS缺省到KN
CONTAC12的单元关键字:
摩擦类型 K1 弹性库仑
刚性库仑
方位角来源于 K2 实常数THETA
运动方向
过盈量或缝隙基于 K4 实常数INTF
初始接触的位置
接触时间预测目标 K7 最小的时间增量
合理的增量使用CONTAC12时的一些注意点:
1、检查单元坐标系,保证使所定义的是一个间隙而不是一个钩子。
2、保证接触平面的方位角与变形状态中所期望的方位角远配。
3、在大变形中,单元不会改变几何开头开办会标系。
4、为了加强收敛性,使用合适的START条件。
5、使用合理的时间步长预测选项(在关键字K)中。
CONTAC52:3-D在点-点的接触单元。
程序通过2个结点来定义CONTAC52,这两个结点不能处于同一位置,在CONTAC52单元中,接触面垂直于结点I-J的连线。
在CONTAC52中,单元坐标系是这样定义的:X轴沿着结点I-J的连线,Z轴指向总体坐标系的Z轴,Y轴垂直于X轴和Z轴。
单元的方法向位移定义为,一个的值有使间隙张开的趋势。拟使用两种方式来定义初始大小。
明确定义实常数GAP,这时单元关键字K4必须被设置为“RealConstGAP”(这是这个选项的缺省值)。正的Gap值表示一个初始张开的,负的Gap值表示初始过盈量。
指示程序以初始结点位置为基础计算初始。这时单元关键字K4必须设置成“InitialNodeLoc”。初始分开的结点定义初始张开的缝隙,初始过盈量不能用此选项输入。
一旦定义了实常数“START”,程序将忽略由“GAP”指定的条件,有效的开始条件是:
START=0:间隙状态由“GAP”来决定
START=1:间隙是关闭的且没有滑动
START=2:间隙是关闭的有滑动
START=3:间隙是打开的。
CONTAC52的实常数:
法向刚度 KN-在法线方向的刚度K
初始间隙大小 GAP
初始条件 START-初始单元状态
粘附刚度 KS-滑动方向的接触刚度
KS缺省到KN
CONTAC52的单元关键字:
粘附刚度 K1 弹性库仑摩擦
刚性库仑摩擦
间隙大小基于 K4 实常数GAP
初始点位置
接触时间预测的目标 K7 最小的时间增量
合理的时间增量使用CONTAC52的一些注意点:
两个结点不能位于同一位置,为了定义接触平面的方位两个结点间必须有一个小的距离。
在大变形分析中,单元不能改变几何形状和坐标系。
3、为了增强收敛性,使用合适的“START”条件。
4、使用合理的时间步长预测选项在两个面之间生成接触单元。
如果使想在网格相同的两个接触面的界面上快速生成点-点的接触单元,那么EINTF命令是用的。
GUI:Main>preprocessor>create>Element>At coincid Nd
这个命令将会在距离小于指定容差的结点间生成接触单元。
接触分析实例(GUI方法)
在这个实例中,我们将对一个弹簧卡子进行接触分析,计算将卡头压进卡座和拉出卡座所需要的力。
问题描述:
此问题属于需要输入厚度的平面应力问题,卡头和卡座的底板被认为是刚性的,因此在建模时不以考虑。
由于模型和载荷都是对称的,因此可用模型的右半部来进行计算。求解通过二个载荷步实现。
问题详细说明:
材料性质:
EX=2.8e3 (杨氏模量)
NUXY=0.3(泊松比)
MU=0.2 (摩擦系数)
问题描述图:
求解步骤:
步骤一:建立计算所需要的模型。
在这一步中,建立计算分析所需要的模型,包括定义单元类型,划分网格,给定边界条件。并将数据库文件保存为“exercise3.db”。 在此,对这一步的过程不作详细叙述。
步骤二:恢复数据库文件“exercise3.db”
选择菜单路径 Utility Menu>File>Resume from
步骤三:定义接触单元的材料特性。
1、选择菜单路径Main Menu>Preprocessor>Matersal Props>-Constant-Isotropic,
Isotropic Matersal Properties (各向同性材料性质)对话框出现。
2、指定材料号为3,单击OK。另一个Isotropic Material Properties对话框出现。
3、对摩擦系数(MU)键入0.2 。
4、单击OK。
步骤四:定义接触单元的实常数。
1、选择菜单路径Main Menu>Preprocessor>Real Constants。实常数对话框出现。.
2、单击“Add”,下一级对话框出现。
移动滚动条,使之指向“CONTAC48”,然后单击“OK”。出现下一级对话框。
4、在实常数号的输入框中键入3,在法向刚度的输入框中键入6e3,然后单击
,Apply”。
5、在实常数号的输入框中键入4,在法向刚度的输入框中键入6e3。
6、单击OK。
步骤五:为了建立接触单元创建四个结点组元。
1、将线号为9和17的线上的结点定义成组元“snapins”
2、将线号为3的线上的结点定义成组元“snapprg”
3、将线号为8的线上的结点定义成组元“pullins”
将线号为2的线上的结点定义成组元“pullprg”
步骤五:建立接触单元。
设置适当的单元类型,材料号和实常数号。
在插入时接触的两个面之间生成对称接触单元。
为了在拉出时接触的两个面之间生成接触单元,将实常数号变为4。
在拉出时接触的两个面之间生成对称接触单元。
步骤六:进入求解器
选择菜单路径Main Menu>Solution。
步骤七:打开预测器,设置输出控制。
1、选择菜单路径Main menu>solution-Load Set Opts-Nonlinear>Predictor。
2、将predictor的状态设置为“ON”。
3、选择菜单路径Main Menu>Solution>-Load Step Options- Output Ctrls>
DB/Results File,Coutrols for Database and Results File Writing (对数据库和
结果文件写入的控制)对话框出现。
4、单击“Every substep”且选中它。
步骤八:设置载荷步选项。
1、选择菜单路径Main Menu>Solution>-Load Step Options-
Time/Frequenc>time&Substep。 Time&Substep Option(时间和
时间步选项)对话框出现。
2、对Number of substeps (子步数)键入10。
3、单击automatic time stepping option(自动时间步长选项)使之为
ON,然后单击OK。
将最大的子步数设置为100,将最小的子步数设置为5。
步骤九:加载。
给Y=60的所有结点施加一UY=-30的位移。
步骤十:求解。
1、选择菜单路径Main Menu>Solution>-Solve-Current LS。
2、检阅状态窗口中的信息然后单击close。
3、单击Solve Current Load Step(求解当前载荷步)对话框中的OK开始求解。
步骤十一:对第二个载荷步加载。
给Y=60的所有结点施加一UY=-27的位移。即以第一个载荷步的计算结果 为基础,将卡头上拉3个单位。
2、激活线性搜索。
步骤十二:求解第二个载荷步。
1、选择菜单路径Main Menu>Solution>-Solve-Current LS。
2、检阅状态窗口中的信息然后单击close。
3、单击Solve Current Load Step(求解当前载荷步)对话框中的OK开始求解。
5、在“LSNUM”的输入框中键入4
步骤十四:进行后处理。
在这一步中,可以进行所想要的后处理,在此不进行详述。
非线性静态实例分析(命令流方式)
你可以用下面显示的ANSYS命令替代GUI选择,进行上面这个例题的塑性分析。
fini
/cle
/prep7
/title,plastic snap-fit connector
et,1,42,,,3
et,2,42,,,3
mp,ex,1,2.8e3
r,1,5
et,3,48,,,1
k,1,10
k,2,20
k,3,15,18.5
k,4,10,20
k,5,12.5,30
k,6,20,30
l,1,3
l,3,4
l,4,5
l,5,6
l,6,2
l,2,1
al,all
lgen,2,1,3,1
k,11,5
k,12,5,30
l,11,7
l,11,12
l,12,10
lsla,s
lsel,invert
al,all
lsel,all
rectng,0,15,0,10
asba,2,3
agen,2,4,,,0,30,0,,0,1
asel,s,,,4
aatt,1,1,2
asel,all
esize,4
amesh,all
fini
/solution
nsel,s,loc,y,0
d,all,all
nsel,s,loc,y,60
d,all,uy
nsel,r,loc,x,5
d,all,ux
nsel,all
fini
/prep7
mp,mu,3,0.2
r,3,6e3
r,4,6e3
lsel,s,,,9
lsel,a,,,19
nsll,s,1
cm,snapins,node
lsel,s,,,3
nsll,s,1
cm,snapprg,node
lsel,s,,,8
nsll,s,1
cm,pullins,node
lsel,s,,,2
nsll,s,1
cm,pullprg,node
lsel,all
nsel,all
type,3
mat,3,real,3
gcgen,snapins,snapprg
gcgen,snapprg,snapins
real,4
gcgen,pullins,pullprg
gcgen,pullprg,pullins
fini
/solu
pred,on
autot,on
nsubst,10,100,5
outres,all,all
nsel,s,loc,y,60
d,all,uy,-30
nsel,all
solve
nsel,s,loc,y,60
d,all,uy,-27
nsel,all
lnsr,on
solv
fini
/post1
set,list
set,,,,,0.8
esel,s,type,,3
etable,st,nmisc,1
etable,gap,nmisc,3
etable,length,nmisc,4
esel,s,stab,st,1,2
esort,etab,gap,1
pretab
esel,all
/dscal,,1
/plops,minm,0
/edge,,1
esel,u,type,,3
set,first
pldi
/user
set,,,,,0.8
plns,s,eqv
/cont,,,user
fini
/posr26
nsol,2,44,u,y,disp
rfor,3,44,f,y
rfor,4,59,f,y
rfor,5,56,f,y
add,6,3,4,5,force
add,2,2,,,,,,,-1
xvar,2
plva,6
fini