注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

htbbzzg的博客

与朋友们分享 CAE 资料和经验

 
 
 

日志

 
 

ANSYS 非线性分析指南 - 接触分析 (1)  

2010-10-23 06:51:46|  分类: ANSYS 非线性 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

接触分析

    接触问题是一种高度非线性行为,需要较大的计算资源,为了进行有效的计算,理解问题的特性和建立合理的模型是很重要的。

    接触问题存在两个较大的难点:

    其一,在求解问题之前,不知道接触区域,表面之间是接触或分开是未知的,突然变化的,这随载荷、材料、边界条件和其它因素而定;

    其二,大多的接触问题需要计算摩擦,有几种摩擦和模型供你挑选,它们都是非线性的,摩擦使问题的收敛性变得困难。

一般的接触分类

    接触问题分为两种基本类型:刚体 - 柔体的接触,柔体 - 柔体的接触,在刚体 - 柔体的接触问题中,接触面的一个或多个被当作刚体,(与它接触的变形体相比,有大得多的刚度),一般情况下,一种软材料和一种硬材料接触时,问题可以被假定为刚体 - 柔体的接触,许多金属成形问题归为此类接触,另一类,柔体 - 柔体的接触,是一种更普遍的类型,在这种情况下,两个接触体都是变形体(有近似的刚度)。

ANSYS 接触能力

    ANSYS 支持三种接触方式:点 - 点,点 - 面,平面 - 面,每种接触方式使用的接触单元适用于某类问题。

    为了给接触问题建模,首先必须认识到模型中的哪些部分可能会相互接触,如果相互作用的其中之一是一点,模型的对应组元是一个结点。如果相互作用的其中之一是一个面,模型的对应组元是单元,例如梁单元,壳单元或实体单元,有限元模型通过指定的接触单元来识别可能的接触匹对,接触单元是覆盖在分析模型接触面之上的一层单元,至于 ANSTS 使用的接触单元和使用它们的过程,下面分类详述。

点 - 点接触单元

    点 - 点接触单元主要用于模拟点 - 点的接触行为,为了使用点 - 点的接触单元,你需要预先知道接触位置,这类接触问题只能适用于接触面之间有较小相对滑动的情况(即使在几何非线性情况下)

    如果两个面上的结点一一对应,相对滑动又可以忽略不计,两个面的挠度(转动)保持小量,那么可以用点 - 点的接触单元来求解面 - 面的接触问题,过盈装配问题是一个用点 - 点的接触单元来模拟面─与的接触问题的典型例子。

点 - 面接触单元

    点 - 面接触单元主要用于给点 - 面的接触行为建模,例如两根梁的相互接触。

    如果通过一组结点来定义接触面,生成多个单元,那么可以通过点 - 面的接触单元来模拟面 - 面的接触问题,面即可以是刚性体也可以是柔性体,这类接触问题的一个典型例子是插头到插座里。

    使用这类接触单元,不需要预先知道确切的接触位置,接触面之间也不需要保持一致的网格,并且允许有大的变形和大的相对滑动。

    Contact48 和 Contact49 都是点 - 面的接触单元,Contact26 用来模拟柔性点 - 刚性面的接触,对有不连续的刚性面的问题,不推荐采用 Contact26 因为可能导致接触的丢失,在这种情况下,Contact48 通过使用伪单元算法能提供较好的建模能力。

由于不同 ANSYS 版本提供的接触单元变化较大,这里介绍的接触单元仅供参考,用户需要根据自己的版本查看相应的帮助文件以获取所需的信息 (下同)

面─面的接触单元

    ANSYS 支持刚体 - 柔体的面 - 面的接触单元,刚性面被当作“目标”面,分别用 Targe169 和 Targe170 来模拟 2和 3的“目标”面,柔性体的表面被当作“接触”面,用 Conta171, Conta172, Conta173, Conta174来模拟。一个目标单元和一个接触单元叫作一个“接触对”程序通过一个共享的实常号来识别“接触对”,为了建立一个“接触对”,给目标单元和接触单元指定相同的实常的号。

    与点─面接触单元相比,面─面接触单元有好几项优点,

·支持低阶和高阶单元

·支持有大滑动和摩擦的大变形,协调刚度阵计算,单元提供不对称刚度阵 的选项。

·提供工程目的采用的更好的接触结果,例如法向压力和摩擦应力。

·没有刚体表面形状的限制,刚体表面的光滑性不是必须的,允许有自然的或网格离散引起的表面不连续。

·与点 - 面接触单元比,需要较多的接触单元,因而造成需要较大的磁盘空间和 CPU 时间。

·允许多种建模控制,例如:

·绑定接触

·渐变初始渗透

·目标面自动移动到开始接触

·平移接触面(考虑梁和单元的厚度)

·支持死活单元

    使用这些单元,能模拟直线(面)和曲线(面),通常用简单的几何形状,例如圆、抛物线、球、圆锥、圆柱来模拟曲面,更复杂的刚体形状能使用特殊的前处理技巧来建模。

执行接触分析

    不同的接触分析类型有不同的过程,下面分别讨论。

    ANSYS 中提供了专用的 Contact Wizard (接触定义向导),能帮助用户方便的定义接触,建议用户尽量使用该向导来定义接触,下面的内容仅作为参考。

面 - 面的接触分析

    在涉及到两个边界的接触问题中,很自然把一个边界作为“目标”面而把另一个作为“接触”面,对刚体 - 柔体的接触,“目标”面总是刚性的,“接触”面总是柔性面,这两个面合起来叫作“接触对”。

    使用 Targe169 和 Conta171  Conta172 来定义 2D 接触对,使用 Targe170 和 Conta173 或 Conta174 来定义 3D 接触对,程序通过相同的实常数号来识别“接触对”。

接触分析的步骤:

  执行一个典型的面 - 面接触分析的基本步骤列示如下:

1.  建立模型,并划分网格

2.  识别接触对

3.  定义刚性目标面

4.  定义柔性接触面

5.  设置单元关键字和实常数

6.  定义/控制刚性目标面的运动

7.  给定必须的边界条件

8.  定义求解选项和载荷步

9.  求解接触问题

10.查看结果

步骤1:建立模型,并划分网格

  在这一步中,你需要建立代表接触体几何形状的实体模型。与其它分析过程一样,设置单元类型,实常数,材料特性。用恰当的单元类型给接触体划分网格。

  命令:AMESH

     VMESH

  GUIMain Menu > Preprocessor > mesh > Mapped > 3 or 4 Sided

         Main Menu > Pneprocessor > mesh > mapped > 4 or 6 sided

步骤二:识别接触对

  你必须认识到,模型在变形期间哪些地方可能发生接触,一是你已经识别出潜在的接触面,你应该通过目标单元和接触单元来定义它们,目标和接触单元跟踪变形阶段的运动,构成一个接触对的目标单元和接触单元通过共享的实常号联系起来。

接触环(区域)可以任意定义,然而为了更有效的进行计算(主要指CPU时间)你可能想定义更小的局部化的接触环,但能保证它足以描述所需要的接触行为,不同的接触对必须通过不同的实常数号来定义(即使实常数没有变化)。

由于几何模型和潜在变形的多样形,有时候一个接触面的同一区域可能和多个目标面产生接触关系。在这种情况下,应该定义多个接触对(使用多组覆盖层接触单元)。每个接触对有不同的实常数号。

步骤三:定义刚性目标面

刚性目标面可能是 2的或 3的。在 2情况下,刚性目标面的形状可以通过一系列直线、圆弧和抛物线来描述,所有这些都可以用 TAPGE169 来表示。另外,可以使用它们的任意组合来描述复杂的目标面。

在 3情况下,目标面的形状可以通过三角面,圆柱面,圆锥面和球面来描述,所有这些都可以用 TAPGE170 来表示,对于一个复杂的,任意形状的目标面,应该使用三角面来给它建模。

    控制结点(Pilot

    刚性目标面可能会和“pilot 结点“ 联系起来,它实际上是一个只有一个结点的单元,通过这个结点的运动可以控制整个目标面的运动,因此可以把 pilot 结点作为刚性目标的控制器。整个目标面的受力和转动情况可以通过 pilot 结点表示出来,“pilot 结点” 可能是目标单元中的一个结点,也可能是一个任意位置的结点,只有当需要转动或力矩载荷时,“pilot 结点” 的位置才是重要的。如果你定义了“pilot结点”,ANSYS 程序只在“pilot结点”上检查边界条件,而忽略其它结点上的任何约束。

    对于圆、圆柱、圆锥、和球的基本图段,ANSYS 总是使用第一个结点作为“pilot 结点”。

    基本原型

    可以使用基本几何形状来模拟目标面,例如:圆、圆柱、圆锥、球 (需要定义实常数 - 半径)。也可以将直线、抛物线、弧线、和三角形、四边形,这些基本原型组合在一起,以便形成一个同一实常数号的复杂目标面。或可以给每个基本原型指定它自己的实常数号。但在 Contact Wizard 中不能直接定义原型。

    单元类型和实常数

    在生成目标单元之前,首先必须定义单元类型(TARG169 或 TARG170)。

    命令:ET

      GUI: main menu > preprocessor > Element Type > Add/Edit/Delete

    随后必须设置目标单元的实常数。

      命令: Real

      GUI: main menn > preprocessor > real constants

    对 TARGE169 和 TARGE170 仅需设置实常数 R1 和 R2,而只有在使用直接生成法建立目标单元时,才需要人为指定实常数 R1R2;另外除了直接生成法,你也可以使用 ANSYS 网格划分工具生成目标单元,下面解释这两种方法。

    使用直接生成法建立刚性目标单元

    为了直接生成目标单元,使用下面的命令和菜单路径。

      命令:TSHAP

      GUImain menu > preprocessor > modeling-create > Elements > Elem Attributes

    随后指定单元形状,可能的形状有:

·  straight  line (2D)

·  parabola  (2D)

·  clockwise  arc(2D)

·  counterclokwise  arc (2D)

·  circle (2D)

·  Triangle (3D)

·  Cylinder (3D)

·  Cone     (3D)

·  Sphere   (3D)

·  Pilot node  (2D 和 3D)

    一旦你指定目标单元形状,所有以后生成的单元都将保持这个形状,除非你指定另外一种形状。

    然后你就可以使用标准的 ANSYS 直接生成技术生成结点和单元。

      命令: N

                  E

      GUImain 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目标单元,使用下面的命令和 GUI 路径:

    ANSYS 在每条直线上生成一条单一的线,在样条曲线上生成抛物线部分,在每条圆弧和倒角上生成圆弧部分,如果所有的圆弧形成一个封闭的圆,ANSYS 生成一个单一的圆段。

      命令:LMESH

      GUI: main menu > pneprocessor > mesling > mesh > lines

    为了生成 3的目标单元,使用下面的命令或 GUI 路径。

    如果实体模型的表面部分形成了一个完整的球,圆柱或圆锥,那么 ANSYS 程序自动生成一个基本的 3目标单元,因为生成较少的单元,从而使分析计算更有效率.对任意形状的表面,应该使用 Amesh 命令来生成目标单元,在这种情况下,网格形状的质量不是重要的,而目标单元的形状是否能完成好的模拟刚性面的表面几何形状显得更重要。

      命令:AMESH

      GUI: main menu > preprocessor > meshing > mesh > Areas

    ANSYS 在所有可能的面上推荐使用三角形的映射网格划分,如果在表面的边界上没有曲率,则在网格划分时,指定那条边界分为一分,下面的命令或 GUI 路径将尽可能的生成一个映射网格(如果不能进行映射,它将生成自由网格)

      命令:MSHKFY2

      GUI: main menu > preprocessor > meshling > mesh > Areas > Target Surf

    建模和网格划分的注意点:

    一个目标面可能由两个或多个面组成,可能的话,应该通过定义多个目标面来定位局部的接触区域(每个目标面有一个不同的实常数号)。刚性目标面的离散应能足够描述出目标面的形状。过粗的网格离散可能导致收敛问题。如果刚性面有一个实的凸角,求解大的滑动问题时很难获得收敛结果,为了避免这些建模问题,在实体模型上,使用线或面的倒角来使尖角光滑,或者在曲率突然变化的区域使用更细的网格。

    注意:不能使用镜面对称技术(ARSYSMLSYMM)来映射圆、圆柱、圆锥或球面到对称平面的另一边,因为一个实常数的设置不能同时赋给多个基本原型段。

    检验目标面的接触方向。

    目标面的结点号顺序是重要的,因为它定义了接触方向,对 2接触问题,当沿着目标线从第一个结点移向第二个结点时,变形体的接触单元必须位于目标面的右边。

    对 3接触问题,目标三角形单元的节点号应该使刚性面的外法线方向指向接触面,外法线通过右手原则来定义

    为了检查法线方向,显示单元坐标系

      命令:/PSYMSESYS1

      GUI: Utility menu > plotctrls > symbols

    如果单元法向不指向接触面,选择单元反转表面的法向的方向。

      命令:ESURF,,REVE

      GUI: main menu > preprocossor > create > Element > Surf / Contact > Node to Surf

步骤4:定义柔性体的接触面

    为了定义柔性体的接触面,必须使用接触单元CONFA171CONFA172(对2D)或CONTA173CONTA174(对3D)来定义表面

    程序通过组成变形体表面的接触单元来定义接触表面,接触单元与下面覆盖的变形体单元有同样的几何特性,接触单元与下面覆盖的变形体单元必须处于同一阶次(低阶或高阶)下面的变形体单元可能是实体单元、壳单元、梁单元或超单元,接触面可能壳或梁单元任何一边。

    与目标面单元一样,你必须定义接触面的单元类型,然后选择正确的实常数号(实常数号必须与它对应目标的实常数号相同)最后生成接触单元。

    单元类型:

    下面简单描述四种类型的接触单元

    CONTA171:这是一种2D2个结点的低附线单元,可能位于2D实体,壳或梁单元的表面

    CONTA172:这是一个2D的,3结点的高阶抛物线形单元,可能位于有中结点的2D实体或梁单元的表面

    CONTA173:这是一个3D的,4结点的低阶四边形单元可能位于3D实体或壳单元的表面,它可能褪化成一个结点的三角形单元。

    CONTA174:这是一个3D8结点的高阶四边形单元,可能位于有中结点的3D实体或壳单元的表面,它可能褪化成6结点的三角形单元。

    不能在高阶柔性体单元的表面上分成低阶接触单元,反之也不行,不能在高阶接触单元上消去中结点。

      命令:ET

      GUImain menu>preprocessor>Element type>Add/Edit/Delete

    实常数和材料特性

    在定义了单元类型之后,需要选择正确的实常数的设置,每个接触对的接触面和目标面必须有相同的实常数号,而每个接触对必须有它自己不同的实常数号。

    ANSYS使用下面柔性体单元的材料特性来计算一个合适的接触(或罚)刚度,如果下面的单元是一个超单元。接触单元的材料的设置必须与超单元形成时的原始结构单元相同,生成接触单元。

    我们既可以通过直接生成法生成接触单元,也可以在柔性体单元的外表面上自动生成接触单元,我们推荐采用自动生成法,这种方法更为简单和可靠。

    可以通过下面三个步骤来自动生成接触单元

1、选择结点

    选择已划分网格的柔性体表面的结果,如果你确定某一部分结点永远不会接触到目标面,你可以忽略它以便减少计算时间,然而,你必须保证设有漏掉可能会接触到目标面的结点。

    命令:NSEL

    GUImain menu>preprocessor>create>Element>on>free surf

2、  生成接触单元

    命令:ESURF

    GUImain menu>preprocessor>create>Element>on free surf

   如果接触单元是附在已用实体单元划分网格的面或体上,程序会自动决定接触计算所需的外法向,如果下面的单元是梁或壳单元,则必须指明哪个表面(上表面或下表面)是接触面

    命令:ESURFTOP OR BOTIOM

    GUImain menu>preprocessor>create>Element>on free surf

    使用上表面生成接触单元,则它们的外法向与梁或壳单元的法向相同,使用下表面生成接触单元,则它们的外法向与梁或壳单元的法向相反,如果下面的单元是实体单元,则TOPBOTTOM选项不起作用

    3、检查接触单元外法线的方向,当程序进行是否接触的检查时,接触面的外法线方向是重要的,对3D单元,按结点程序号以右手定则来决定单元的外法向,接触面的外法向应该指向目标面,否则,在开始分析计算时,程序可能会认为有面的过度渗透而很难找到初始解。在此情况下,程序一般会立即停止执行,你可以检查单元外法线方向是否正确。

    命令:/PSYMB

    GUIUtility menu>plotctrls>symbols

    当发现单元的外法线方向不正确时,必须通过颠倒不正确单元的结点号来改变它们。

    命令:ESURFREVE

    GUImain menu>preprocossor>Create>Elements on free surf

  评论这张
 
阅读(3275)| 评论(1)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016