ansys有限元接触分析体会
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在ansys中,有专门的接触单元用于解决各种不同的接触问题。
对于点对点接触问题有二维点对点接触单元CONTAC12、三维点对点接触单元CONTAC52和CONTAC178。为了能够使用这些点对点接触单元,需要预先知道明确的接触位置,即使在几何非线性的情况下,接触面之间也只能允许有较小的相对滑动。
对于面对点接触问题,常用的有用来模拟柔性点对刚性面接触单元CONTAC26、二维点对面接触单元CONTAC48、三维点对面接触单元CONTAC49、CONTAC175.这类接触单元,不需要预先知道确切的接触位置,二期接触面之间也不需要保持一致的网格,同时允许有大的变形和相对滑动。
对于面对面接触问题,有二维2节点的低阶线接触单元CONTAC171、3节点的高阶抛物线接触单元CONTAC172、三维4节点的缔结四边形接触单元CONTAC173、8节点的高阶四边形接触单元CONTAC174.由于面跟面之间的相互接触,有一个目标面和接触面的问题,因此使用这些接触单元必须同时使用配对单元(用来模拟目标面和目标单元)。同CONTAC171和CONTAC172配对的是二维目标单元TARGET169,同CONTAC173和CONTAC174配对的是三维目标单元TARGET170.面对面单元比点对面单元具有更好的性能、对接触的位置、范围要求更宽,但是接触的求解结果却更好。
三大类接触单元的使用并不是限制的很死,只要对问题的本质理解清楚,就能灵活运用。比如两个面上的节点一一对应,相对滑动又可忽略不计,两个面的挠度、转动保持小量,那么就可以用点对点接触单元来模拟面对面的接触问题。又如能通过一组节点来定义接触面,生成多个单元,那么就可以用点对面的对接触单元来模拟面对面的接触问题。
接触单元就像皮肤一样覆盖在下面的有限元模型上,会自动跟踪整个变形过程。
对于点对点的接触情况,只要对节点赋予点对点接触单元即可。对于点对面或面对面接触情况,还涉及到选取目标面的问题。
下面介绍指导性原则。
对于点对面有:
1)如果一个面的接触部分四平的或凹的,另一个面的接触部分是尖的或凸的,则平凹面是目标面。
2)如果两个面都是平的,则任意选择
3)如果两个面都是凸的,则较平的的面作为目标面。
4)如果一个接触部分有尖边,另一个没有,则有尖边的面作为目标面。
对于面对面有:
1)如果一个凸面与一个平面或凹面接触,平面或凹面是目标面;
2)如果一个面比另一个面硬,则较硬的面应该为目标面;
3)如果一个面比另一个面大,则较大的面应该为目标面;
4)如果一个面上的网格比较粗,另一个面的网格较细,则较粗的面应该是目标面;5)如果一个面是高阶,另一个面是低阶,低阶面应该是目标面。
在分析的时候,一般需要定义一个微小的位移或者载荷保证收敛性。
接触问题的关键在于接触体间的相互关系(废话,),此关系又可分为在接触前后的法向关系与切向关系。
法向关系:
在法向,必须实现两点: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,