首页/文章/ 详情

ANSYS中关键字、实常数、材料属性和材料模型定义常用命令流!

7月前浏览1126

workbench不能完全支持ANSYS经典版本的所有功能。为此在分析时,有时需要插入命令流,以实现以下功能:


① 使用KEYOPT设置单元关键字;

② 使用RMODIF设置单元实常数;

③ 使用MP,MPDATA定义材料参数;

④ 使用TB,TBDATA定义材料模型。


本文对ANSYS中以上四个方面的命令的使用进行了盘点。



—01—

插入单元关键字


单元关键字的命令流插入语法格式:

KEYOPT,ITYPE,KNUM,VALUE

其中:

ITYPE ―为单元类型号,在workbench中常用CID

              或TID,表示contact ID和target ID;

KNUM ―为单元关键字选项(图1中括号内数字);

VALUE ―为每一个关键字的具体设置。


以接触分析为例,接触单元的KEYOPT关键字选项可以在ANSYS help中查询,如下图1:

 
图1 接触单元的关键字查询(以CONTA174为例)

图1中,KEYOPT(1)为接触单元CONTA174的1号关键字选项(括号内数值),该关键字控制着接触单元的自由度选项。


从上图可以看到,在ANSYS中,不同分析类型下支持不同的接触自由度。某些分析,我们需要通过插入命令流激活特定的自由度。例如摩擦生热就需要激活结构和温度自由度。如下,可插入单元关键字的命令流激活单元自由度:

 

图2 利用关键字选项设置单元自由度

关于不同分析问题的自由度选项:

-结构:Ux,Uy,Uz

-结构/热:Ux,Uy,Uz,TEMP(温度)

-热:TEMP

-结构/热/电:Ux,Uy,Uz,TEMP,VOLT(伏特)

-热/电:TEMP,VOLT

-结构/电:Ux,Uy,Uz,VOLT

-电:VOLT

-磁:AZ(二维,A方向上的矢量位),MAG(三维)


关于其他关键字选项和具体的设置,可以根据上述方式查阅帮助文档,此处不再赘述。
 
 
 
......  

 
接触对下插入KEYOPT命令如下所示:  
   
   

图3 接触对下插入command



—02—

插入单元实常数


单元实常数的命令流插入语法格式:

RMODIF,NSET,STLOC,VALUE

其中:

  NSET―为单元实常数号,在workbench中常用

              CID或TID代替

STLOC―实常数表格的位置;

VALUE―实常数的数值。


同样以接触为例,在workbench中的接触对下,对于非对称接触(asymmetric),用CID表征实常数号或材料号;对于对称接触(symmetric),用TID表征实常数号或材料号,如下图:

 


接触单元的实常数选项同样可以在ANSYS help中通过图1方式查询,如下图:

   
   
图4 接触单元的实常数(以CONTA174为例)    


在某些分析中,我们需要改变实常数时,可以通过如下方式在接触对下插入命令流修改实常数(同图3):

   

举例:

RMODIF,CID,9,200E6       !设置最大摩擦应力TAUMAX

RMODIF,CID,13,100E5     !设置最大粘结应力COHE

RMODIF,CID,21,1.2          !设置静动态摩擦系数之比FACT

RMODIF,CID,21,1.2          !设置摩擦衰减系数DC



—03—

定义材料参数


在ANSYS中,可以通过命令流定义材料参数。如使用MPDATA命令来定义摩擦系数。例如,可以为某个具体的材料指定一个固定的摩擦系数,或者根据温度、速度等条件变化来定义摩擦系数的非线性变化。


通常材料属性与温度有关,即一个温度对应一个材料属性。在ANSYS中,我们平时在定义材料的时候没有定义温度,那是因为软件已经默认了一个温度值。


材料定义时,当材料属性与温度无关时,线性材料属性定义用MP命令;当材料属性与温度有关时,线性材料定义需要用到MPTEMP、MPDATA命令。


MP用于定义材料属性,命令插入语法格式:

MP,Lab,MAT,C0,C1,C2,C3,C4

其中:

MP—表示材料属性(Material Property),材料

        属性为固定值时,其值为C0;当随温度变化

        时,由后四个参数控制。C1,C2,C3,C4为温度

        曲线多项式中,分别为一次、二次、三次、四

        次项系数,如果为0,则代表一个为C0常数的

        材料性能。

Lab—表示材料属性标签,任何元素具备何种属性

         在元素属性表中均有说明。例如:

         弹性模量:Lab=EX,EY,EZ

         密度:Lab=DENS

         主泊松比:Lab=PRXY,PRYZ,PRZX

         次泊松比:Lab=NUXY,NUYZ,NUZX

         剪切模量:Lab=GXY,GYZ,GXZ

         热膨胀系数:Lab=ALPX,ALPY,ALPZ

         摩擦系数:Lab=MU

         比热容:Lab=C

         热传导系数:Lab=KXX,KYY,KZZ

         ......

MAT—表示材料参考编号,可为0或空,默认为1

          对应ET(element type)所定义的ITYPE编

          号,表示该组属性属于ITYPE。workbench

          中插入命令流时,常用matid替换,软件

          会自动转换为对应的材料号,如下:

   


MP命令举例如下:

ET,1,227,11       !定义单元类型,ITYPE=1

!  以下为定义ET下的材料属性

MP,EX,1,2e11

MP,PRXY,1,0.3

MP,DENS,1,7800

MP,ALPX,1,3.1e-6

MP,KXX,1,70

MP,C,1,120


ET,2,227,11       !定义单元类型,ITYPE=2

!  以下为定义ET下的材料属性

MP,EX,2,2e11

MP,PRXY,2,0.3

MP,DENS,2,7800

MP,ALPX,2,3.1e-6

MP,KXX,2,70

MP,C,2,120


MPTEMP命令用于为材料属性定义一个随温度变化的温度表,插入语法格式:

MPTEMP,STLOC,T1,T2,T3,T4,T5,T6  

其中:

STLOC —确定输入温度的起始位置,默认值为最

               后填充值加1;

T1~T6 —指定从STLOC开始将要赋予的6个位置的

              温度值。如果某位置的值已存在,将会被

               覆盖。如果T1=0,则STLOC位置处的值将

              为0;若T2~T6=0,则使相对应位置的值

              不变。


MPDATA命令用于指定与温度相对应的材料性能数据,插入语法格式如下:

MPDATA,Lab,MAT,STLOC,C1,C2,C3,C4,C5,C6  

其中:

      Lab—表示材料属性标签,含义同前述;

     MAT—表示材料参考编号,含义同前述;

STLOC —数据表的起始位置。若STLOC=1,在C1

               项输入数据为表中第一个数据;若

               STLOC=7,在C1项输入数据为表中第七

              个数据;默认值为最后位置加1。

C1~C6—表示具体参数值。


MPTEMP和MPDATA命令经常联合使用用于定义随温度变化的材料属性,举例如下:

假设某材料的弹性模量与温度有关。例如我们定义8个温度点,并用MPDATA定义温度点对应的材料属性,如下:

/CLEAR  
/PREP7  

 
!STLOC从1开始定义  

MPTEMP,1,25,35,45,55

!STLOC从第5点开始定义  

MPTEMP,5,65,75,85,95


!材料1弹性模量在8个温度点的数值定义:

MPDATA,EX,1,1,1E3,2.5E3,4.5E3,5.5E3

MPDATA,EX,1,5,6.5E3,8.5E3,9.5E3,1E4  


!材料2 密度在8个温度点的数值

MPDATA,DENS,2,1,2000,2500,2800,3000

MPDATA,DENS,2,5,4000,4500,5000,5200  


!绘制材料1弹性模量随温度的变化曲线

MPPLOT,EX,1

 

!绘制材料2密度随温度的变化曲线

MPPLOT,DENS,2

 




—04—

定义材料模型


在ANSYS中,可以通过TB、TBDATA、TBTEMP、TBPT命令的使用定义材料模型。  

 
从字面意思理解,TB有table即表格的意思。实际在ANSYS中TB命令用于激活材料属性或特殊元素输入的数据表,常用于声明材料模型的非线性采用的屈服准则或者本构曲线类型,如MISO(多线性等向强化模型)、KINH(随动强化模型)、BH(磁滞曲线模型)等。  

 
ANSYS中,需先通过TB命令声明材料非线性类型(如 MISO 、BKIN等)后,才能使用TBPT命令。  

 
需要注意,若材料参数与温度相关,需先用 TBTEMP 指定温度点,再紧接着通过 TBPT 或TBDATA命令定义该温度下的应力-应变曲线。  

 
这里需要理解的是,TBDATA意为table data,即通过表格定义数据信息,其用途较广。在使用时,TB定义了具体表格类型和需要填充的数据类型,而TBDATA则根据TB定义的类型填充数据内容。  

 
TBDATA使用范围要远远大于TBPT命令。TBPT通常专门用于材料本构曲线的定义,即输入应力—应变点,每行只输入两个参数,即应力-应变数值同时输入。  

 
一、语法介绍  
下面我们就来了解一下以上命令的一些语法:  

 
① TB命令用于激活材料属性或特殊元素输入的数据表。插入语法格式如下:
 

TB, Lab, MATID, NTEMP, NPTS, TBOPT,EOSOPT 

其中:

Lab—为材料模型数据表类型,TB命令支持的材料

         模型数据表类型很多,具体参见NASYS help             下Command Reference有关内容,如下图。

 
 MATID—材料标识号。有效值是任何数字n,其中  
               0<n<100000。默认=1。  
NTEMP—将提供温度数据的数量(如果使用)。通  
                过TBTEMP命令指定温度。  
   NPTS—如果给定,则为对应指定温度的各选项  
               数值。也可通过TBDATA或TBPT命令定   
               义数据点。  
EOSOPT—对于显示动力学分析且Lab为EOS时,  
                 指定模型的状态方程。  

 
通过TB命令定义材料模型的方法可参考《ANSYS Mooney-Rivlin超弹性材料模型介绍及其设置方法》一文,此处不再赘述。需要注意的是,Lab参数对应的材料模型数据表类型需要输入的参数类型都不尽相同,需要根据官方帮助文件进行填写。  

 
② TBDATA命令用于定义材料数据表的数据。插入语法格式如下:
TBDATA, STLOC, C1, C2, C3, C4, C5, C6
其中:

STLOC—为输入数据在表格中起始位置。例如,如

              果STLOC=1,则C1字段中的数据输入适

              用于第一个表常数,C2适用于第二个表

              常数,依此类推。如果STLOC=5,则C1

              字段中的数据适用于第五个表常数,依此

               类推。默认为填充的最后一个位置加1。

C1~C6—表示具体参数值, 数据值分配给以STLO                  开头的六个位置。如果该位置中已经存
                在值,则重新定义该值。空白值将现有
                值保持不变。

③ TBTEMP命令用于定义材料数据表中的温度。插入语法格式如下:
TBTEMP, TEMP, KMOD
其中:
TEMP—温度值(默认为 0.0);
KMOD—如果为空,TEMP将定义一个新的温度。
              (使用TBLIST列出温度和数据。)


④ TBPT命令用于定义非线性数据曲线上的一个点。插入语法格式如下:
TBPT, Oper, X1, X2, X3, ..., XN
其中:

Oper—要执行的操作。为DEFI时,表示定义一个

           新的数据点(默认值),该点按X1的升序插入

           到表中,如果已经存在具有相同X1值的点,

           则将其替换。为DELE时,删除现有点,x1值

           必须与要删除点的x1值匹配(XN被忽略)。


二、材料模型定义案例

① 定义某材料随温度变化的弹塑性模型:
/CLEAR
/PREP7
! 定义温度点材料的线弹性属性
MPTEMP,1,25,100
! 定义材料对应温度的线弹性属性
MPDATA,EX,12,1,3.0E11,2.05E11

! 声明材料类型为BKIN(双线性随动强化模型),材料编号为12,共2个温度点(如上MPTEMP定义)对应的材料曲线
TB,BKIN,12,2

!以下分别输入每个温度点对应的材料应力应变曲线数据
!第一个温度点及对应数据
TBTEMP,25,1
TBDATA,1,235E6,3.00E10
!第二个温度点及对应数据
TBTEMP,100,2
TBDATA,1,185E6,2.05E10
TBPLOT

绘制出的曲线如下:


② 定义某材料的MISO模型(多线性等向强化模型)本构曲线

/CLEAR

/PREP7

fc=14.3


!定义材料的线弹性部分的属性

MP,EX,13,fc*0.19/0.0002

MP,PRXY,13,0.2

MP,DENS,13,2500E-12


!声明为弹塑性材料,具体为MISO类型

TB,MISO,13,,11

TBPT,,0.0002,fc*0.19
TBPT,,0.0004,fc*0.36
TBPT,,0.0006,fc*0.51
TBPT,,0.0008,fc*0.64
TBPT,,0.001,fc*0.75
TBPT,,0.0012,fc*0.84
TBPT,,0.0014,fc*0.91
TBPT,,0.0016,fc*0.96
TBPT,,0.0018,fc*0.99
TBPT,,0.002,fc
TBPT,,0.0033,fc
TBPLOT

绘制出的曲线如下:


ANSYS workbench的材料库目前可以定义许多材料参数和模型,软件也在不断完善材料库。以上材料参数和材料模型的定义(仅做本文演示,不能用于工程)多可以通过材料库定义,但是有时候也需要插入简单的命令流,为此了解经典版本中关于材料参数和模型定义的有关命令也很有必要。


来源:薛定谔的Cube
ACTWorkbench非线性UM理论材料控制数控ANSYS
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-12-31
最近编辑:7月前
巴郡撸猫人
硕士 签名征集中
获赞 15粉丝 25文章 73课程 0
点赞
收藏
作者推荐

接触仿真知多少?详解ANSYS接触分析原理(一)

接触是一种很普遍的物理现象,它是Workbench用户最频繁使用的非线性特征之一。笔者在接触分析怎么搞?来看看这个ANSYSWorkbench接触分析经典案例一文中,介绍了一个简单的案例。那么小伙伴们是否对ANSYS软件的接触解决方案的核心原理有所了解呢?笔者就以本文整理一下接触分析的原理。本文篇幅较长,希望小伙伴们能有所收获,如有不当之处还请评论区指正~,也欢迎关注和支持本公众号~01认识接触,接触有什么特征?两个独立表面相互触碰并相切,称为接触。接触属于一种非线性问题,我们知道非线性问题主要有三种:几何非线性、状态非线性与材料非线性。而接触就是属于状态非线性问题。当两接触体互相触碰或分离时,会发生刚度的突然变化,也就是状态改变的非线性行为。从现实物理现象上来讲,接触的这种状态变化具有以下特征:①不会渗透或穿透;②可传递法向压力和切向摩擦力;③通常不传递法向拉力,在拉力下可自由分离。接触的这些特征也是其仿真分析的变形协调要求。由于接触体间不相互渗透,所以程序必须建立两表面间的相互关系以阻止分析中的穿透。程序阻止穿透的行为我们称为强制接触协调。此外,接触的状态(触碰、分离等)在外部边界条件下可能会不断变化,由于接触表面的法向刚度和切向刚度取决于接触或接触分离状态,这将导致接触刚度的不断变化,分析需跟踪接触状态,并对接触刚度进行更新,这会导致计算量加大,收敛困难。因此,为了进行实为有效的计算,理解接触问题的特性和建立合理的模型就变得很重要。在利用软件进行接触分析时,其分析难点主要包括两个方面:①其一是分析过程中,我们并不知道接触区域是怎么变化的。因为接触区域受材料,载荷,边界条件等影响,其变化可能是瞬间变化的。②其二是大多的接触问题需要计算摩擦、接触压力,虽然ANSYS软件有几种摩擦等接触行为(无摩擦、粗糙、摩擦)和算法可供挑选,但它们也都是非线性的。计算分析时,除了需满足力收敛准则,位移收敛准则外,还需要满足接触收敛准则,因此摩擦、接触压力的计算会使问题的收敛性变得更复杂和困难,计算量也加大。02接触问题有哪些类型?在接触问题分析中,分析模型中接触体可以是刚性的也可以是柔性的,刚性或者说刚度一般可以通过材料的弹性模量得到体现。通常,接触问题可按接触体的刚柔分类,并分为两类接触模型:①刚体一柔体接触当一个表面除了允许刚体运动外,没有任何的应力、应变、和结构变形,这时我们可以认为该表面是一个理想的刚体表面。但实际上这种完全刚性的表面是不存在的。相对的,当一个接触表面的刚度明显大于其它表面,且我们对该面的应力不感兴趣时,我们可以近似的将其作为刚体表面。以上这种某一接触体可作为刚体的情况,就是刚体--柔体接触类型。②柔体一柔体接触实际工程中,最常见的往往是两接触体都由柔性有限元单元构成的情况。如钢材与钢材接触,因为不同钢材的刚度差异小。这种情况,两个柔体的接触需要根据实际情况进行合理设置。接触问题除按照以上刚柔分类外,还可按照接触方式划分,如:点——点接触,点——面(线)接触,面(线)——面(线)接触。这里线可以理解为二维的面。接触体的刚柔、接触方式会影响接触算法对接触状态的检测,及目标面和接触面的选择。这些内容会在本文后续内容加以说明。通常当两个任意形状的面接触时,应使用面一面接触单元,因为面-面接触具有以下特点:①事先并不需要知道确切的接触位置;②两接触表面可以使用不同的网格;③允许较大的相对滑动;④支持大应变和大转动支持材料非线性。这些特点可更好地模拟接触状态,有助于问题的收敛。03ANSYS如何处理接触分析,接触分析有什么流程?在ANSYS中,接触问题采用了接触对的概念进行处理,接触对由目标面和接触面组成。面上覆盖接触单元,就像皮肤一样铺设在有限元模型上。接触面和目标面使用不同的接触单元类型。接触对通过实常数来识别,如下图所示。图1接触对的接触单元与目标单元因此,不同的接触对必须定义不同的实常数组,即使实常数没有变化,也需要定义不同组号,因为如果一个问题中有多个接触区域,如果不定义不同的实常数就无法识别出接触区与和目标区的配对关系,接触定义就会发生混乱。因此有几个接触对,就需要定义几个接触单元和目标单元以及其实常数组,即使所采用的接触单元一致。那么ansys中接触单元的作用是什么呢?由于接触表面的接触单元用于模拟真实的接触状态,故而必须满足接触的变形协调要求。因此,接触单元通常有以下三方面的作用:①防止接触面互相穿透(或使用接触协调);②转换接触面之间的力传递(包括摩擦力和法向压力等);③对接触面的相对位置进行跟踪(接触位置、接触状态等)为了实现上述接触单元的作用,在利用ANSYS进行接触分析时,首先需指定接触面和目标面定义接触,并建立和处理好初始的接触状态,然后根据实际情况设置好接触行为(或接触类型),采用合适的接触数值算法计算。在ANSYS中,接触问题的分析过程通常如下:图2接触分析流程04如何定义接触面,如何进行接触检测?前面提到接触分析前,需指定接触对的接触面和目标面,对于刚体-柔体接触,目标面总是刚体表面。对于柔体-柔体接触,接触面和目标面都看成是可变形的柔体。由于接触算法中接触单元被限制不得穿透目标面(即接触面的接触单元积分点不能侵入目标面),但目标面可以穿透接触面。如下图所示。图3接触单元积分点不能穿透目标面这种限制使得柔-柔接触时,接触面和目标面的选择就需要遵循一定的准则:①如果凸面与平面或凹面接触,那么平面或凹面应该是目标面,凸面为接触面;②如果一个表面网格粗糙,而另一个表面网格较细,那么网格较粗的表面应该是目标面,细网格面为接触面;③如果一个表面比另一个表面的刚度大(硬),那么刚度大(硬)的表面应该是目标面,刚度小(软)的面为接触面;④如果一个表面比另一个表面大,那么更大的表面应该是目标面,小面积的面为接触面;⑤接触两侧分别为高阶单元对低阶单元,高阶单元面定义为接触面。ANSYS在进行接触分析时,需判断接触面和目标面是否触碰,即接触处于何种状态,这就需要通过接触的跟踪和检测来实现。接触的跟踪、检测需要通过接触检测点探明接触位置和接触状态。而接触检测点位于何处,可由接触单元的KEYOPT(4)选项定义,如下所示:接触分析中,接触检测点是位于接触单元的积分点。积分点有节点积分和高斯积分两种(如下图4示)。接触单元的积分点不能侵入目标面,但是原则上目标面可以侵入接触面。图4接触检测点(积分点)类型一般情况:高斯积分点通常会比节点本身做积分点使方案产生更精确的结果。节点本身做积分点,节点等效力可能不准确,且在角接触问题中会产生“滑脱”(如下图示)而造成收敛困难。因此,模型的不连续性(尖角、方向改变)会造成判断接触困难,致使计算收敛困难或不收敛。图5节点积分点滑脱但是有时必须采用基于节点的探测,例如尖角与线面的接触。如采用高斯积分点探测,节点与高斯积分点间会产生穿透,产生不准确的结果。图6节点积分在ansys中,面-面接触单元直接使用接触面上的高斯积分点进行计算,而点-面接触单元直接使用接面上的节点进行计算(无高斯积分点)。基于高斯积分点的探测默认指向接触面的法向;基于接触面节点的探测用于接触面比目标面光滑的情况;基于目标面节点的探测用于目标面比接触面光滑的情况。后两种基于节点的探测由于在探测前要计算接触面的法线方向,所以计算时间较基于高斯积分点的探测要长。在ANSYS中,接触检测有“基于节点投影的接触(Nodal-ProjectionNormalfromContact)选项,如图7所示。它将接触面和目标面节点在法向投影的重叠区域强制定义接触约束,可产生如下效果:①对高阶单元结合NormalLagrange法可以提供更精确的接触压力,且在接触边缘的接触压力和应变分布更加平滑;②对Frictional接触求解时可以很好地满足力矩平衡;但是不能与MPC接触匹配。图7接触面和目标面节点投影重叠区域05ANSYS如何确定接触状态?ANSYS中,接触状态分为:远离(Far)、接近(Near)、黏接(Sticking)和滑动(Sliding),如图8所示。图8接触状态那么ANSYS中,是如何确定接触状态的呢?在这里,我们需要了解一下ANSYS中的pinball区域(球形区域)。因为pinball区域影响着接触分析的接触状态和一些其他接触参数的确定。根据ANSYS官方讲解,pinball区域的解释如下:图9ANSYS中的pinball区域的含义在ANSYS软件中,在定义的球形区域外部的接触称为远场(far-field)接触,球形区域内部的接触为近场(near-field)接触。软件将不对远场位置的接触探测点进行密切监测。其中,近场接触部位还可分为:滑动(sliding)接触和粘结(sticking)接触。滑动接触与粘结接触状态的判断是根据计算的摩擦力与提供的摩擦力大小的比值进行判断。pinball区域(弹球区域)区分的接触状态,为接触计算的效率提供了支撑,一般缺省设置对大多数问题有效,一般在软件中保持默认即可,但也可以根据需求修改。需要注意的是,程序只计算pinball区域内的接触穿透量,球形区域越大,程序所需的接触搜索时间越长,如下图10所示。图10pinball区域影响接触搜索区域可以看出,ANSYS通过pinball区域并结合其他算法区分了接触所处的状态。pinball区域在处理接触状态时非常有效,其作用还包括如下方面:①pinball区域使接触对范围可视化,如图11;②当MPC多点约束算法激活时,pinball对于控制节点之间的约束关系非常有用,如图12;③如果目标面有数个突起区域,那么Pinball对于克服错误的接触定义也是非常有效,如图13。图11pinball区域可视化图12pinball区域在MPC算法中的应用图13采用pinball区域处理凸起接触部位对于pinball区域,软件中对其控制类似于对穿透、刚度的控制。一方面,用户可指定一个程序缺省值的缩放比例系数,也可指定一个绝对值(如下图14);另一方面,pinball区域的尺寸在接触对中会被平均化。图14pinball区域设置pinball区域的缺省尺寸值是多少呢?根据ANSYS官方讲解,其缺省值如下图15所示。图15pinball区域缺省值及depth示意pinball区域是ANSYS分区域处理接触状态的重要参数,直接关系到接触容差和接触探测点的检测范围。在接触的数值模拟分析时,程序只计算pinball区域内的接触穿透量,因此pinball区域内的接触状态包括:穿透(Penetration)和间隙(Gap)两种情况,如图16示。其中,穿透状态包含法向穿透(粘结)和切向的穿透(滑动),如图17。图16接触穿透与接触间隙图17接触穿透值得一提的是,真实状态下,物体在接触过程中是不允许穿透的,这是接触的基本特征,即接触变形协调所决定的。因此软件需要对穿透进行强制协调。但在有限元分析过程中,如果不允许穿透,物体之间发生接触或者取消接触时,会出现阶跃函数,导致收敛困难;为平滑处理接触状态的切换,如果允许一些极轻微的穿透,接触将不再是一个突变函数,则较容易收敛,如图18所示。这种接触穿透的协调处理方式即软件中的罚刚度算法。图18接触状态过渡的处理06接触行为有哪些?对应哪些接触算法?在ansys中,为提高接触的分析效率,软件根据接触的一些实际行为情况,提供了几种可供选择的接触表面行为。这些选项可以模拟许多不同的特殊物理效应。这些接触行为包括:Bonded(绑定),NoSeparation(不分离),Frictionless(无摩擦),Rough(粗糙)和Frictional(摩擦)等。具体分析时,这几种接触行为的表现如下:绑定(Bonded):法向不分离,切向无滑移。可以理解为目标面和接触面完全粘合在一起(默认设置),两个实体被认为焊接为了一个整体,是线性接触。如焊接部件一般为绑定接触。不分离(NoSeparation):允许接触面与目标面相对滑动,但是不允许接触面与目标面存在法向移动。即法向不分离,切向允许无摩擦的小滑移,也是线性接触。无摩擦(Frictionless):法向可分离,切向有无摩擦的滑移;是非线性接触。目标面和接触面可自由的分离和滑动。粗糙(Rough):不穿透、法向可分离、切向不滑移,是非线性接触;目标面和接触面间无滑移(和无穷大的摩擦系数类似)。摩擦(Frictional):允许有法向分离与切向有摩擦的滑移,这种接触类型应用的较多,但需要设置摩擦系数。在进行仿真分析时,应根据不同的应用场合,判断是否存在法向分离和切向滑移,再根据切法向的情况选用合理的接触行为即可。workbench中,不同接触行为有不同的数值计算算法作为分析的支撑,如表1所示。接触一般不允许穿透,为此定义了几种接触算法,以保证各种接触行为或状态的匹配,这等同于经典界面中的keyopt(2)设置,即:keyopt(2)=0,对应增广拉格朗日法keyopt(2)=1,对应罚函数法keyopt(2)=2,对应MPC法(多点约束)keyopt(2)=3,对应法向拉格朗日,切向罚函数法keyopt(2)=4,对应法向切向拉格朗日法表1不同接触行为的计算方法不同的接触算法有不同的计算原理和特点,了解不同的算法原理,对正确选用合适的算法大有裨益。从图19可以看出,接触行为的算法分为三类五种,即罚刚度算法、多点约束算法、拉格朗日乘子法。其中,多点约束法(MPC)仅适用于绑定和不分离两种线性接触行为。图19接触算法分类及适用的接触行为值得一提的是,ANSYSworkbench中,拉格朗日乘子算法中的纯拉格朗日法(法向切向均为拉格朗日法)需通过插入命令流来实现。原因在于纯拉格朗日算法的收敛性不是很好,但一旦收敛,结果较为精确。图20workbench中的接触算法选择在workbench中,通过插入command命令,利用单元KEYOPT关键字设置接触单元接触算法的方法如下图,VALUE值根据所需算法选择。这与在经典界面中的keyopt(2)设置相通。图21workbench设置接触算法07接触算法是什么原理?一、罚刚度算法①罚函数法(PurePenalty)罚函数法是ANSYS中的默认算法,适用于各类型的非线性接触行为(Frictional,Frictionless,Rough),是相对于其他几种非线性算法中较为经济的一种算法。罚函数法是将零件之间的接触假设成两个节点之间通过弹簧连接,通过以下计算公式来求解两个接触面之间的接触压力,罚函数(PurePenalty)方程:其中,Fn为法向接触力,Kn为法向接触刚度,Xp为穿透量。接触刚度Kn越高,穿透量Xp越小。如下图所示。图22罚函数法计算原理理想情况下,Kn为无限大,则xp为0,但是如果Kn很大,会产生很大的接触反力,甚至让接触模型分离(颤振),致使收敛困难或无法收敛;实际Kn取一个较大的数值,xp较小以至忽略不计(经验上,一般取1E-8量级),也认为该方法可靠。这种方式实际上是通过改变罚刚度的值进行参数敏感性研究,从而对结果的有效性进行判断。在实际情况下,两个零件表面是不会有穿透的,这是一种为增强收敛性而进行的数值近似方法,因此,穿透量越小,计算结果精度越高,但同时收敛性较差。因此,在使用罚函数算法的时候,需要仔细检查接触面的穿透量。②增强拉格朗日法(AugmentedLagrange)增强拉格朗日算法是在罚函数的方法上衍生出来的一种方法,与罚函数法类似,但是在计算接触压力时,引入了附加项λ。增强拉格朗日方程:增强拉格朗日方程因为有额外因子λ,使得增广拉格朗日法比罚函数法对接触刚度更不那么敏感。一般而言,接触刚度越高,穿透量越小。引入了λ之后,该算法下接触压力对于接触刚度的敏感性降低,更利于在给定的接触刚度较大的时候收敛,可以一定程度上提高计算精度,但是如果网格变形得过于扭曲,则计算迭代步数较多会造成收敛时间加长。二、法向拉格朗日算法(NormalLagrange)法向拉格朗日算法中,是将接触压力作为一个自由度来满足接触兼容性,即Fn=接触压力(DOF),如图23。因此它不需要计算接触刚度和穿透量来计算接触压力,而是将他看做一个自由度。于是,有如下两种情况:零件不接触和零件接触。在计算过程中,这两种极限的情况会导致计算震荡剧烈从而较难收敛,但是一旦可以算收敛,由于这里没有假设零件之间的穿透,得到的结果精度较高。另外,拉格朗日法需要使用直接求解器来求解,计算速度较慢。图23法向拉格朗日法原理三、多点约束算法(MPC)多点约束方式在内部增加了约束方程(ConstraintEquations)以绑定连接(Tie)接触面之间的位置,如图24所示。图24多点约束原理这种方法直接有效地连接接触区域,而且可以适用于大变形开关开启的计算。主要用于Bonded和NoSeparation。特别适用于处理Solid与Shell、Shell与Shell接触时易出现的接触面法向错误的情况。例如,当软件提示:“ThenormalofcontactelementXXXisnotconsistentwiththenormalofcontactelementXXX.PleaseusetheENORMcommandtocorrectit.”。另外,MPC算法是整个接触算法中求解速度最慢的,当Solid与Shell模型需要定义接触时,可以采用下面方法提高计算速度:①在Solid的表面手动新建一层非常薄的Shell模型;②Solid模型与新建的Shell模型采用Bonded连接,新建的Shell模型与原来的Shell模型采用MeshConnections连接。四、接触算法的对比对于绑定和不分离线性接触行为,由于是线性计算,其收敛性都比较好,计算速度也较快。对于三种非线性接触行为的计算,一般情况下,各算法从计算精度和收敛性上的排序可参考如下:收敛性:罚函数&gt;增广拉格朗日&gt;法向拉格朗日精度:一般拉格朗日&gt;增广拉格朗日=罚函数时间:一般拉格朗日&gt;增广拉格朗日&gt;罚函数对于个别情况,可能需要根据实际情况进行测试对比。各接触算法的特点如图25所示:图25接触算法的计算特征可以看到,在接触的探测方面,纯罚函数和增强拉格朗日法默认基于高斯积分点的探测(OnGaussPoints),一般较节点的探测更准确;拉格朗日和MPC法默认基于节点的探测(OnNodes-NormalfromContact和OnNodes-NormaltoTarget),较高斯积分点的探测点要少。五、关于罚刚度算法中的刚度问题罚刚度算法中,对增强拉格朗日法和罚函数法,需要法向和切向接触刚度。接触面和目标面之间的穿透量取决于法向刚度。在粘结接触中的滑动量取决于切向刚度。当两个物体接触时,接触刚度将被激活。较高的刚度值可减少穿透量或滑动量,但会导致总体刚度知阵的病态和收敛困难。较低的刚度值会导致一定量的穿透/滑动,进而产生不准确的求解。理想地,使用足够高的刚度以便穿透/滑动量是少量可接受的,但是足够低的刚度在收敛方面是很好的。在ANSYS中,法向接触刚度系数FKN、切向刚度系数FKT、穿透公差系数FTOLN、允许弹性滑移SLTO等实常数有缺省值,如图26所示。在大多数情况下,不需要定义这些接触刚度。图26接触刚度和接触穿透量的命令流实常数在ANSYSworkbench中,可插入Command,使用RMODIF设置接触实常数,命令如下:RMODIF,NSET,STLOC,VALUE其中:NSET表示接触对的实常数号,特定面可以用系统默认的CID或TID;STLOC表示实常数序号,即上表中实常数表格的位置No.,对应具体实常数Name;其他接触实常数可查阅ANSYShelp的接触实常数表(文末给出查询方法);VALUE表示实常数定义的值。如:RMODIF,CID,3,5!表示将接触的法相接触刚度系数FKN改为5在接触刚度控制方面,ANSYSWorkbench在接触刚度控制中提供了两个图形界面选项,如下图27所示。图27workbench中的法向刚度及其更新控制选项法向刚度如上图可在软件中直接设置,默认切向刚度是法向刚度的0.1,不能直接设置。法向刚度不能超过1E16,太大会因为计算机的舍入误差,导致求解精度下降。同时,计算时由于刚度太大会导致求解困难。一般实体之间的接触,接触刚度取默认值即可。但对于薄壁壳体,弯曲占主导,如冲压或滚压成型,刚度系数取值一般在0.01~0.1。通常采用罚刚度算法时,为提高计算精度,就需要减小穿透量,可人为增加法向刚度Kn,或通过设置减小接触容差。除法向刚度外,workbench中接触切向刚度不能直接设置。ANSYS自动定义了一个缺省的切向接触刚度,它与摩擦系数MU和法向刚度FKN成正比。默认切向刚度是法向刚度的10%,默认的切向刚度对应于默认值的切向刚度系数FKT=1.0。正的FKT值是因子,负的FKT值是切向刚度的绝对值。ANSYS中,接触计算时接触刚度可随着计算更新,即ANSYS中的KEYOPT(10)=1或2,或KEYOPT(2)=3(法向拉格朗日乘子法和切向罚函数法)时,如下图28所示,ANSYS基于当前接触法向压力PRES和最大的允许弹性滑动SLTO,更新切向刚度FKT,即存在如下关系(根据节点计算出的刚度要乘上FKT):切向刚度FKT=×MU×PRES÷SLTO=摩擦系数×接触法向压力÷最大的允许弹性滑动当切向刚度FKT在每个迭代更新时,最大的允许弹性滑动SLTO实常数用于控制最大的滑动距离。ANSYS提供缺省的SLTO容差值,该值在大多数情况工作良好。但也可以覆盖SLTO的缺省值(接触对平均接触长度的1%),采取自定义,但较大值将增强收敛但损害准确性。图28KEYOPT(10)和KEYOPT(2)选项接触刚度对程序收敛和求解精度的影响最大。较大的刚度可提高求解精度,但使得收敛更加困难,因此必须谨慎定义接触刚度的大小。最适合的值和具体问题有关:①缺省值适用于大多数接触问题,但是,某些情形下程序提供的缺省值并不适合;②有时可能需要进行一些试验来取得一个既收敛又能保证求解精度的刚度值。为确定一个合适刚度值,通常面临以下挑战:①使穿透最小以保证求解精度,因此,接触刚度应该非常大;②刚度太大将会有收敛困难,模型在接触表面可能来回振动,即出现接触颤振,如下图。图29接触在迭代计算时颤振示意那么我们该如何在分析中,确定接触刚度和控制刚度计算呢?通常在确定接触刚度时,确定合适的法向刚度,一般需改变法向刚度进行试算,查看穿透量及接触压力变化情况,直到接触压力稳定,穿透量复合容差要求,如下图所示。图30试算确定法向接触刚度软件的接触刚度计算时,对于面一面接触和点一面接触,在缺省情况下,ANSYS采用根据接触对上所有单元计算出来的平均刚度值。缺省的刚度值和模型的几何形状有关,如下图31所示,当单元尺寸不一致时,每个单元计算出的刚度是不同的。打开“PairBased”选项时,计算出的数值都采用接触对平均值。图31接触刚度计算控制pairbased和elementbased对面一面接触和点一面接触,ANSYSworkbench可在求解过程中自动调整刚度,调整刚度的方式如下:①在每个载荷步中,如果FKN被重新定义(对应KEYOPT(10)=0);②每个载荷子步,基于单元平均应力(对应KEYOPT(10)=1)③每次迭代,基于收敛行为(对应KEYOPT(10)=2)图32刚度更新方法控制④如果模型存在塑性,ANSYS自动减少100倍的刚度计算。⑤切向接触刚度的自适应更新方案(对应KEYOPT(10)=2)基于当前法向压力,如前所述,也如下图所示:图33切向接触刚度自适应更新算式在进行分析计算时,对于需确定接触刚度的分析模型可采取如下策略:①开始分析时使用一个较小的刚度值;②检查穿透和每一个子步的迭代次数:在一个快速的大致的检查中,把模型的显示调为真实尺寸(truescale)后,如果能观察到穿透现象,那么穿透可能过度了,这时应该增加刚度并重新开始分析;如果需要过多的迭代或者根本不收敛,那么需要减小刚度值并重新开始分析;重新分析时,使用接触刚度校正选项KEYOPT(10)来调整更新刚度值,这样可以在求解精度和收敛性之间取得一个较好的平衡。六、关于接触实常数(RealConstants)与单元关键字(ElementKEYOPTS)本文前述内容中,提到了接触问题的部分关键字和实常数。ANSYS中支持几十多个接触实常数,能够基本解决所有的接触问题。但在workbench环境中,只支持部分实常数的GUI输入,对于其他不支持GUI输入的,可以通过插入命令流实现。接触实常数可以在ANSYS软件中查询,方法如下图所示。在find中输入realconstants即可找到。在realconstants下除了接触实常数外,还包括ANSYS中关于接触的问题的详细帮助说明,如单元关键字(KEYOPT)的描述,用法等。有兴趣的朋友,可以去研究研究。图34实常数和关键字查询方法好啦~,以上就是今天分享的全部内容了。关于软件接触分析的知识,始终需要回到软件本身,软件的帮助文档是最好的学习资料。本文对接触分析的理解也只能起到抛转引玉的作用,希望对小伙伴有所帮助,fighting~来源:薛定谔的Cube

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈