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

htbbzzg的博客

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

 
 
 

日志

 
 

ANSYS接触问题的计算方法及参数设置 (转贴,略有修改)  

2010-11-08 08:55:21|  分类: ANSYS 非线性 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

 ANSYS 接触问题的计算方法及参数设置

     接触问题的关键在于接触体间的相互关系,此关系又可分为在接触前后的法向关系与切向关系。
    法向关系
        在法向,必须实现两点:1)接触力的传递。2)两接触面间没有穿透。

    ANSYS 提供了多种算法来实现此法向接触关系,其中常用的两种方法是:罚函数法和拉格朗日乘子法。
    1
.罚函数法
    通过接触刚度在接触力与接触面间的穿透值(接触位移)之间建立力与位移的线性关系:
           接触刚度*接触位移 法向接触力

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

    以上力与位移的接触关系可以很容易地合并到整个结构的平衡方程组 [K] * {X} = {F} 中去,并不改变总刚度矩阵 [K] 的大小。这种罚函数法有以下几个问题必须解决:
    1
)接触刚度 FKN 应该取多大?
    2
)接触刚度 FKN 取大一些可以减少虚假穿透,但是会使刚度矩阵成为病态。
    3
)既然与实际情况不符合的虚假穿透是不可避免的,那么可以允许有多大的虚假穿透为合适?


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

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

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

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

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

    从而,拉格朗日乘子法不需要定义人为的接触刚度去满足接触面间不可穿透的条件,可以直接实现穿透为零的真实接触条件,这是罚函数法所不可能实现的。使用拉格朗日乘子法有下列注意事项:
    1
)刚度矩阵中将有零对角元素,使有些求解器不能使用。只能使用直接法求解器,例如波前法或稀疏矩阵求解器。而 PCG 之类迭代求解器是不能用于有零主元问题的。
    2
)由于增加了额外的自由度,刚度阵变大了。
    3
)一个可能发生的严重问题,就是在接触状态发生变化时,例如从接触到分离,从分离到接触,此时接触力有个突变,产生震荡 chattering(接触状态的振动式交替改变)。如何控制这种 chattering,是纯粹拉格朗日法所难以解决的。
    因此,为了控制 chatteringANSYS 采用的是罚函数法与拉格朗日法混合的扩展拉格朗日乘子法。在扩展拉格朗日乘子法中,可以采用实常数 TOLN 来控制最大允许穿透值。还有最大允许拉力 FTOL。这两个参数只对扩展拉格朗日乘子法有效。

    在扩展拉格朗日乘子法里,程序按照罚函数法开始,与纯粹拉格朗日法类似,用 TOLN 来控制最大允许穿透值。如果迭代中发现穿透大于允许的 TOLN 值,(对 178# 单元是 TOLN,而对面面接触单元 171-174 则是 FTOLN),则将各个接触单元的接触刚度加上接触力乘以拉格朗日乘子的数值。因此,这种扩展拉格朗日法是不停更新接触刚度的罚函数法,这种更新不断重复,直到计算的穿透值小于允许值为止。
    尽管与拉格朗日法相比,扩展拉格朗日法的穿透并不是零,与罚函数法相比,可能迭带次数会更多。扩展拉格朗日法有下列优点:
    1
)较少病态,个接触单元的接触刚度取值可能更合理。
    2
)与罚函数法相比较少病态,与单纯的拉格朗日法相比,没有刚度阵零对角元。因此在选择求解器上没有限制,PCG 等迭代求解器都可以应用。
    3
)用户可以自由控制允许的穿透值 TOLN。(如果输入了 TOLN,而使用罚函数法,则程序忽略它)。

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

参数设置:
    
实常数 FKNFTOLNICONTPINBPMAX,和 PMIN。一般情况,你既可以定义一个正值也可以定义一个负值。程序将正值作为比例因子,将负值作为真实参数值;且以接触单元下面所覆盖的原单元的厚度作为 ICONFTOLNPINBPMAX 和 PMIN 的参考值。
    那么:单位改变后,你只要保证你的 FKNFTOL 的物理值大小不变就可以了。
    
作为非线性的接触问题,FKN 与 FTOLN 的取值没有公式可套,只能根据经验慢慢试出个合适的值来。
    由于 FKN 越小越容易收敛,你可以先用一个比较小的 FKN 开始计算,收敛后再改大些,由于接触刚度 FKN 越大则穿透越小,结果越合理,因此在适当时应该把 FKN 改大些重新计算,直到一个满意的结果。(可以用 "PLESOL,CONT,PENE" 命令在后处理中查看穿透的数值大小)
    
注意:FKN 与穿透值大小总是一对矛盾,在矛盾中达到合理的平衡是做接触分析的关键。
    
理论上接触问题的穿透应该是零,所以穿透越小则越精确,也即 FKN 越大则越精确,但是实际上不可能使穿透变为零,FKN 越大,计算越不易收敛。
    
如果只改变 FKN 得到的穿透值总是太大,不能满意,再加大 FKN 就不收敛了,那么可以把求解方法改为扩展拉格朗日乘子法。(用单元的 KEYOPT 改,或使用 Contact Wizard),再使用 FTOLN  参数来控制允许的最大穿透值。(FTOLN 只对扩展拉格朗日法有效)。这样的计算量会大很多,但是可以实现在不大的 FKN 下控制穿透不至于太大,保证结果的合理性。

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

 

  评论这张
 
阅读(3158)| 评论(2)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

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

页脚

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