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

bingdongi_love

不为失败找理由,要为成功找方法;把握时事,用智勇与仁厚去成就人生.

 
 
 

日志

 
 
关于我

追逐自然,博爱生活,一心走遍天涯,感受生活无限潇洒!

网易考拉推荐

【转载】ANSYS接触问题的计算方法及参数设置  

2014-11-27 10:28:33|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

接触问题的关键在于接触体间的相互关系(废话,【转载】ANSYS接触问题的计算方法及参数设置 - 志在天涯 - bingdongi_love),此关系又可分为在接触前后的法向关系与切向关系。

法向关系:

在法向,必须实现两点:1)接触力的传递。2)两接触面间没有穿透。

ANSYS通过两种算法来实现此法向接触关系:罚函数法和拉格朗日乘子法。

1.罚函数法

是通过接触刚度在接触力与接触面间的穿透值(接触位移)间建立力与位移的线性关系:

    接触刚度*接触位移=法向接触力

对面面接触单元17*,接触刚度由实常数FKN来定义。 穿透值在程序中通过分离的接触体上节点间的距离来计算。接触刚度越大,则穿透就越小,理论上在接触刚度为无穷大时,可以实现完全的接触状态,使穿透值等于零。但是显而易见,在程序计算中,接触刚度不可能为无穷大(否则病态),穿透也就不可能真实达到零,而只能是个接近于零的有限值。

以上力与位移的接触关系可以很容易地合并入整个结构的平衡方程组K*X=F中去。并不改变总刚K的大小。这种罚函数法有以下几个问题必须解决:

1)接触刚度FKN应该取多大?

2)接触刚度FKN取大些可以减少虚假穿透,但是会使刚度矩阵成为病态。

3)既然与实际情况不符合的虚假穿透既然是不可避免的,那么可以允许有多大为合适?

因此,在ANSYS程序里,通常输入FKN实常数不是直接定义接触刚度的数值,而是接触体下单元刚度的一个因子,这使得用户可以方便地定义接触刚度了,一般FKN取0.1到1中间的值。当然,在需要时,也可以把接触刚度直接定义,FKN输入为负数,则程序将其值理解为直接输入的接触刚度值。

对于接近病态的刚度阵,不要使用迭代求解器,例如PCG等。它们会需要更多的迭代次数,并有可能不收敛。可以使用直接法求解器,例如稀疏求解器等。这些求解器可以有效求解病态问题。

穿透的大小影响结果的精度。用户可以用PLESOL,CONT,PENE来在后处理中查看穿透的数值大小。如果使用的是罚函数法求解接触问题,用户一般需要试用多个FKN值进行计算,可以先用一个较小的FKN值开始计算,例如0.1。因为较小的FKN有助于收敛,然后再逐步增加FKN值进行一系列计算,最后得到一个满意的穿透值。

FKN的收敛性要求和穿透太大产生的计算误差总会是一对矛盾。解决此矛盾的办法是在接触算法中采用扩展拉格朗日乘子法。此方法在接触问题的求解控制中可以有更多更灵活的控制。可以更快的实现一个需要的穿透极限。

2.拉格朗日乘子法与扩展拉格朗日乘子法

拉格朗日乘子法与罚函数法不同,不是采用力与位移的关系来求接触力,而是把接触力作为一个独立自由度。因此这里不需要进行迭代,而是在方程里直接求出接触力(接触压力)来。

Kx=F+Fcontact

从而,拉格朗日乘子法不需要定义人为的接触刚度去满足接触面间不可穿透的条件,可以直接实现穿透为零的真实接触条件,这是罚函数法所不可能实现的。使用拉格朗日乘子法有下列注意事项:

1)刚度矩阵中将有零对角元,使有些求解器不克使用。只能使用直接法求解器,例如波前法或系数求解器。而PCG之类迭代求解器是不能用于有零主元问题的。

2)由于增加了额外的自由度,刚度阵变大了。

3)一个可能发生的严重问题,就是在接触状态发生变化时,例如从接触到分离,从分离到接触,此时接触力有个突变,产生chattering(接触状态的振动式交替改变)。如何控制这种chattering,是纯粹拉格朗日法所难以解决的。

因此,为控制chattering,ANSYS采用的是罚函数法与拉格朗日法混合的扩展拉格朗日乘子法。在扩展拉格朗日法中,可以采用实常数TOLN来控制最大允许穿透值。还有最大允许拉力FTOL。这两个参数只对扩展拉格朗日乘子法有效。

在扩展拉格朗日乘子法里,程序按照罚函数法开始,与纯粹拉格朗日法类似,用TOLN来控制最大允许穿透值。如果迭代中发现穿透大于允许的TOLN值,(对178单元是TOLN,而对面面接触单元171-174则是FTOLN)则将各个接触单元的接触刚度加上接触力乘以拉格朗日乘子的数值。因此,这种扩展拉格朗日法是不停更新接触刚度的罚函数法,这种更新不断重复,直到计算的穿透值小于允许值为止。

尽管与拉格朗日法相比,扩展拉格朗日法的穿透并不是零,与罚函数法相比,可能迭带次数会更多。扩展拉格朗日法有下列优点:

1)较少病态,个接触单元的接触刚度取值可能更合理。

2)与罚函数法相比较少病态,与单纯的拉格朗日法相比,没有刚度阵零对角元。因此在选择求解器上没有限制,PCG等迭代求解器都可以应用。

3)用户可以自由控制允许的穿透值TOLN。(如果输入了TOLN,而使用罚函数法,则程序忽略它)

切向关系:

摩擦的处理与法向接触力类似。由于摩擦是非对称的,使问题变的更为复杂。ANSYS缺省是做对称求解,即使用对称求解器作近似求解。但是可以改变几个选项强迫做非对称求解。非对称求解更精确,但是计算量大许多。

 

参数设置

实常数FKN,FTOLN,ICONT,PINB,PMAX,和PMIN,你既可以定义一个正值也可以定义一个负值。既然程序将正值作为比例因子,将负值作为真实值,程序将下面覆盖原单元的厚度作为ICON,FTOLN,PINB,PMAX和PMIN的参考值。

那么:单位改变后,你只要保证你的FKN,FTOL的物理值大小不变就可以了。

作为非线性的接触问题,FKN与FTOLN取值没有公式可套,只能慢慢试出个合适的值来。

由于FKN越小越容易收敛,你可以先用一个比较小的FKN开始计算,收敛后再改大些,由于接触刚度FKN越大则穿透越小,结果越合理,因此在适当时应该把FKN改大些重新计算直到一个满意的结果。(可以用PLESOL,CONT,PENE来在后处理中查看穿透的数值大小)

注意:FKN与穿透值大小总是一对矛盾,在矛盾中达到合理的平衡是做接触分析的关键。

理论上接触问题的穿透应该是零,所以穿透越小则越精确,也即FKN越大则越精确,但是实际上不可能使穿透变为零,FKN太大了计算就会不收敛。

如果只改FKN得到的穿透值总是太大,不能满意,再加大FKN就不收敛了。那么可以把求解方法改为扩展拉格朗日乘子法。(用KEYOPT改),再使用FTOLN参数来控制允许最大穿透值。(FTOLN只对扩展拉格朗日法有效)。这样的计算量会大很多,但是可以实现在不大的FKN下控制穿透不至于太大,保证结果的合理性。

(注意:对面面接触单元171-174实常数中的允许穿透值是FTOLN,而对178单元则是实常数TOLN)

  评论这张
 
阅读(25)| 评论(0)
推荐 转载

历史上的今天

评论

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

页脚

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