首页/文章/ 详情

接触分析怎么搞?来看看这个ANSYS Workbench接触分析经典案例

7月前浏览894


各位小伙伴们大家好呀~。有没有小伙伴觉得有限元分析中一旦涉及接触,分析难度就大大增加呀?我想接触问题难以达到理想的收敛效果时,大家都会抓狂吧。本文剖析一下ANSYS Workbench学习中的一个接触分析经典案例,以供学习参考。



1  workbench的接触分析类型


接触是一种很普通的物理现象,它是Workbench用户最频繁使用的非线性特征之一。接触可用来分析众多种类的模型,如下图1-3。典型的接触运用包括:

① 动态冲击

② 摩擦

③ 金属成型

④ 螺栓接合

⑤ 零件装配

⑥ 紧配合

⑦ 受压边界条件

⑧ 密封装置等

图1 柔性杆冲击刚性表面案例


图2 薄壁冲压案例


图3 齿轮动态接触案例


ANSYS workbench中的接触分析功能非常全面,上述分析类型和除此之外的众多分析都可以使用workbench中的接触进行模拟。



2  接触经典案例剖析


本案例为一个球体与平面的接触,如下图4所示。

图4 球体和平面的赫兹接触案例


可以看出,该问题为一个静力学分析问题,因此在workbench中采用static structural 模块进行分析,如下图所示:

图5 静力学分析模块


由于我们的模型是一个二维轴对称模型,因此在导入分析前需单击geometry,然后再右侧的属性栏中将分析改为2D,如图6。这样在后续分析才能设置二维轴对称、平面应变、平面应力分析。如果此处不更改,软件将会将这个平面识别为壳体。

图6  更改为2D分析


2D分析设置后,我们就可以在geometry模块下导入分析模型。导入模型后,双击model进入分析系统。从下图7可以看到2D behavior选项。默认为平面应力。

图7 2D behavior平面应力


由于模型为轴对称,我们将其改为轴对称,即axisymmetric。在这里需注意,ansysworkbench中二维轴对称模型软件要求对称轴必须为整体坐标系下的y轴,因此在建模时,必须以y轴为对称轴建模。

图8 更改2behavior


此分析,由于材料均采用程序默认的结构钢,因此无需设置。直接进行接触设置时,程序已经自动创建了接触对,如下图9。我们将接触行为设置为摩擦接触,摩擦系数0.2。

图9 接触行为设置


网格划分。我们知道此模型中,接触为点_线接触,在接触部位需要进行网格加密,那么这种点_线接触如何进行网格加密呢?


通常这种情况可以通过影响球(sphere of influence)区域加密,右键mesh,插入尺寸sizing,设置如下图10。将sphere radius设置为8E-3,单元尺寸设置为0.5mm。

图10 sphere of influence设置加密网格区域


网格设置。由于本接触案例为曲边与平面接触,为确保接触的收敛,可采用高阶单元更合理。因此我们将网格设置中的element midside node设置为kept。

图11 更改单元为高阶单元


网格划分结果如图12所示。

图12 网格划分结果


接触状态检查。插入接触工具,如下图13所示。对于静力学分析,接触检查主要为间隙(gap)和穿透(penetration)。间隙必须尽量小,初始穿透必须为零。可以看出,此例中接触不存在穿透,但有一个很小的间隙。间隙的存在,在静力学分析中可能在计算时存在收敛困难。因为间隙的存在会导致荷载作用下的刚体 位移,而静力学中一般不允许刚体 位移。

图13 接触状态检查


接触状态检查后,可设置边界条件。边界条件施加如下:底部固定,顶部施加1MPA压力。

图14 边界条件施加


根据上面的设置,计算结果发现,发生了穿透,表明分析时,间隙的存在(过大),分析并未建立上接触,如下图15。那软件为什么没有报错呢?原因在于ansysworkbench中默认的弱弹簧是打开的,如图16。

图15 结果发生穿透


图16 软件弱弹簧默认是打开状态


那我们如何修改呢?

我们知道,以上问题是由间隙存在导致的。因此,在设置中,我们需消除间隙,进行adjust to touch(刚好接触)设置,设置后,接触状态如下图17。

 
 
 
图17 接触设置及再检查

同时,为更好地收敛,我们打开自动时间步,设置计算子步。为得到变形后更准确的结果,此处我们可以打开大变形设置。
图18 设置自动时间步和子步打开大变形

计算结果如下:

图19 等效应力计算结果


如果想得到更准确的解,可加密网格。结果如下:

图20 网格加密后的结果

那么我们如何评价结果的准确性呢?我们可以查看等效应力结果的平均和非平均结果。应力平均结果代表的是节点应力,非平均代表单元应力。理论上,准确的结果下,平均和非平均的结果应当一致,但实际上存在一定差异,只要两者的结果偏差在5%以内,就代表计算结果是准确的。

如21 平均和非平均等效应力结果


可以看出,应力结果偏差很小,可满足计算精度要求。但结果最大应力为什么不是在接触面上呢?


我们可以通过接触面的接触压力进行分析,如下图22所示,插入接触工具(contact tool),并插入接触压力选项。

图22 插入接触压力结果


可以看出在接触区域表面压力实际上是作用于接触表面的载荷。这相当于在体结构上施加了一个非均匀荷载,这并不是受力体内部的应力。而受力体内部的等效应力是体内部的状态力。


由于接触部位会发生变形,受力体在接触部位的应力会因为变形而变小,因此受力体的最大等效应力可能就不在接触部位了。


如果在分析时,接触部位网格划分不够密,压力较小时,有可能在接触部位产生最大等效应力,对于此问题求解结果就是不正确的。如下图所示。

图23  压力0.1MPa且粗网格下的结果(错误结果)


从以上分析可知,受力体内部的应力分布,实际是通过接触压力作为荷载条件计算得出的,所以接触压力的准确性,直接影响了应力结果的准确性。


那么如何确定接触压力是否准确呢?这就需要查看结算接触部位的穿透量结果。如下图所示:

图24 接触穿透量结果


理论上,穿透量应当为零,但由于是数值计算,引入了算法,这就造成穿透量不可能为零。那么应当取多大的穿透量呢?


经验上,一般穿透量结果控制在1E-8量级,可人认为结果是准确的。显然,以上结果在1E-6量级,不满足要求,那么如何修改呢?


方法一:提高穿透的容差值,即相当于控制接触收敛的容差,但提高后可能造成收敛困难,如下图所示。

图25 提高接触容差后的穿透量和接触压力


可以看出,修改容差后,穿透达到了1E-10量级,接触面最大压力达到了906MPa.


如果修改容差或调整单元大小后不收敛,怎么办?这时我们可以提高分析步的子步数量。如下图所示。

图26 提高分析子步数提高收敛性


还是不收敛,我们可以考虑提高接触法向的刚度,如下图所示。但应注意,法向刚度过高,也会引起收敛问题。如果修改法向刚度,容差还是无法到达1E-8量级,可以查看引起的接触压力,当接触压力变化很小时,可以认为接触压力是准确的。此时,可以调整网格密度大小,获取更好的结果。

 
图27 修改接触法向刚度


好啦~,以上就是今天分享的全部内容了。关于接触分析的一些其他内容,比如软件中接触的一些理论知识,算法,接触行为等,咱们后续接聊~    


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

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

workbench不能完全支持ANSYS经典版本的所有功能。为此在分析时,有时需要插入命令流,以实现以下功能:①使用KEYOPT设置单元关键字;②使用RMODIF设置单元实常数;③使用MP,MPDATA定义材料参数;④使用TB,TBDATA定义材料模型。本文对ANSYS中以上四个方面的命令的使用进行了盘点。—01—插入单元关键字单元关键字的命令流插入语法格式:KEYOPT,ITYPE,KNUM,VALUE其中:ITYPE―为单元类型号,在workbench中常用CID或TID,表示contactID和targetID;KNUM―为单元关键字选项(图1中括号内数字);VALUE―为每一个关键字的具体设置。以接触分析为例,接触单元的KEYOPT关键字选项可以在ANSYShelp中查询,如下图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表征实常数号或材料号,如下图:接触单元的实常数选项同样可以在ANSYShelp中通过图1方式查询,如下图:图4接触单元的实常数(以CONTA174为例)在某些分析中,我们需要改变实常数时,可以通过如下方式在接触对下插入命令流修改实常数(同图3):举例:RMODIF,CID,9,200E6!设置最大摩擦应力TAUMAXRMODIF,CID,13,100E5!设置最大粘结应力COHERMODIF,CID,21,1.2!设置静动态摩擦系数之比FACTRMODIF,CID,21,1.2!设置摩擦衰减系数DC—03—定义材料参数在ANSYS中,可以通过命令流定义材料参数。如使用MPDATA命令来定义摩擦系数。例如,可以为某个具体的材料指定一个固定的摩擦系数,或者根据温度、速度等条件变化来定义摩擦系数的非线性变化。通常材料属性与温度有关,即一个温度对应一个材料属性。在ANSYS中,我们平时在定义材料的时候没有定义温度,那是因为软件已经默认了一个温度值。材料定义时,当材料属性与温度无关时,线性材料属性定义用MP命令;当材料属性与温度有关时,线性材料定义需要用到MPTEMP、MPDATA命令。MP用于定义材料属性,命令插入语法格式:MP,Lab,MAT,C0,C1,C2,C3,C4其中:MP—表示材料属性(MaterialProperty),材料属性为固定值时,其值为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(elementtype)所定义的ITYPE编号,表示该组属性属于ITYPE。workbench中插入命令流时,常用matid替换,软件会自动转换为对应的材料号,如下:MP命令举例如下:ET,1,227,11!定义单元类型,ITYPE=1!以下为定义ET下的材料属性MP,EX,1,2e11MP,PRXY,1,0.3MP,DENS,1,7800MP,ALPX,1,3.1e-6MP,KXX,1,70MP,C,1,120ET,2,227,11!定义单元类型,ITYPE=2!以下为定义ET下的材料属性MP,EX,2,2e11MP,PRXY,2,0.3MP,DENS,2,7800MP,ALPX,2,3.1e-6MP,KXX,2,70MP,C,2,120MPTEMP命令用于为材料属性定义一个随温度变化的温度表,插入语法格式: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.5E3MPDATA,EX,1,5,6.5E3,8.5E3,9.5E3,1E4!材料2密度在8个温度点的数值MPDATA,DENS,2,1,2000,2500,2800,3000MPDATA,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意为tabledata,即通过表格定义数据信息,其用途较广。在使用时,TB定义了具体表格类型和需要填充的数据类型,而TBDATA则根据TB定义的类型填充数据内容。TBDATA使用范围要远远大于TBPT命令。TBPT通常专门用于材料本构曲线的定义,即输入应力—应变点,每行只输入两个参数,即应力-应变数值同时输入。一、语法介绍下面我们就来了解一下以上命令的一些语法:①TB命令用于激活材料属性或特殊元素输入的数据表。插入语法格式如下:TB,Lab,MATID,NTEMP,NPTS,TBOPT,EOSOPT其中:Lab—为材料模型数据表类型,TB命令支持的材料模型数据表类型很多,具体参见NASYShelp下CommandReference有关内容,如下图。MATID—材料标识号。有效值是任何数字n,其中0<n<100000。默认=1。NTEMP—将提供温度数据的数量(如果使用)。通过TBTEMP命令指定温度。NPTS—如果给定,则为对应指定温度的各选项数值。也可通过TBDATA或TBPT命令定义数据点。EOSOPT—对于显示动力学分析且Lab为EOS时,指定模型的状态方程。通过TB命令定义材料模型的方法可参考《ANSYSMooney-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,1TBDATA,1,235E6,3.00E10!第二个温度点及对应数据TBTEMP,100,2TBDATA,1,185E6,2.05E10TBPLOT绘制出的曲线如下:②定义某材料的MISO模型(多线性等向强化模型)本构曲线/CLEAR/PREP7fc=14.3!定义材料的线弹性部分的属性MP,EX,13,fc*0.19/0.0002MP,PRXY,13,0.2MP,DENS,13,2500E-12!声明为弹塑性材料,具体为MISO类型TB,MISO,13,,11TBPT,,0.0002,fc*0.19TBPT,,0.0004,fc*0.36TBPT,,0.0006,fc*0.51TBPT,,0.0008,fc*0.64TBPT,,0.001,fc*0.75TBPT,,0.0012,fc*0.84TBPT,,0.0014,fc*0.91TBPT,,0.0016,fc*0.96TBPT,,0.0018,fc*0.99TBPT,,0.002,fcTBPT,,0.0033,fcTBPLOT绘制出的曲线如下:ANSYSworkbench的材料库目前可以定义许多材料参数和模型,软件也在不断完善材料库。以上材料参数和材料模型的定义(仅做本文演示,不能用于工程)多可以通过材料库定义,但是有时候也需要插入简单的命令流,为此了解经典版本中关于材料参数和模型定义的有关命令也很有必要。来源:薛定谔的Cube

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