马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
1引言
接触-碰撞问题属于最困难的非线性问题之一,因为在接触-碰撞问题中的响应是不平
滑的。当发生碰撞时,垂直于接触界面的速度是瞬时不连续的。对于Coulcomb 摩擦模型,当出现粘性滑移行为时,沿界面的切向速度也是不连续的。接触-碰撞问题的这些特点给离散方程的时间积分带来明显的困难。因此,方法和算法的适当选择对于数值分析的成功是至关重要的。
虽然通用商业程序LS-DYNA 提供了大量的接触类型,可以对绝大多数接触界面进行合理的模拟,但用户在具体的工程问题中,面临接触类型的选择及棘手的接触参数控制等问题。
基于以上,本文对LS-DYNA 中的接触-碰撞算法作了简要的阐述,对接触类型作了详
尽的总结归纳,并对接触界面的模拟提出了一些建议。
2基本概念
基本概念:“slave”、“master”、“segment”。在绝大多数的接触类型中,检查slave nodes 是否与master segment 产生相互作用(穿透或滑动,在Tied Contacts 中slave 限定在主面上滑动)。因此从节点的连接方式(或从面的网格单元形式)一般并不太重要。非对称接触算法中主、从定义的一般原则:
1. 粗网格表面定义为主面,细网格表面为从面;
2. 主、从面相关材料刚度相差悬殊,材料刚度大的一面为主面。
3. 平直或凹面为主面,凸面为从面。
有一点值得注意的是,如有刚体包含在接触界面中,刚体的网格也必须适当,不可过粗。
3接触算法
在LS-DYNA 中有三种不同的算法处理碰撞、滑动接触界面,即:
(1) 动态约束法(kinematic constraint method)
(2) 罚函数法(penalty method)
(3)分布参数法(distributed paramete method)
3.1 Kinematic Constraint Method
采用碰撞和释放条件的节点约束法由Hughes 等于1976 年提出,同年被Hallquit 首先应用在 DYNA2|D 中,后来扩展应用到 DYNA3D 中。
其基本原理是:在每一时间步Δt 修正构形之前,搜索所有未与主面(master surface)触的从节点(slave node),看是否在此Δt 内穿透了主面。如是,则缩小Δt,使那些穿透主面的从节点都不贯穿主面,而使其正好到达主面。在计算下一Δt 之前,对所有已经与主面接触的从节点都施加约束条件,以保持从节点与主面接触而不贯穿。此外还应检查那些和主面接触的从节点所属单元是否受到拉应力作用。如受到拉应力,则施加释放条件,使从节点脱离主面。
这种算法存在的主要问题是:如果主面网格划分比从面细,某些主节点(master node)可以豪无约束地穿过从面(slave surface)(这是由于约束只施加于从节点上),形成所谓的“纽结”(Kink)现象。当接触界面上的压力很大时,无论单元采用单点还是多点积分,这种现象都很容易发生。当然,好的网格划分可能会减弱这种现象。但是对于很多问题,初始构形上好的网格划分在迭代多次后可能会变得很糟糕,如爆炸气体在结构中的膨胀。
由于节点约束算法较为复杂,目前在LS-DYNA 程序中仅用于固连与固连一断开类型的接触界面(统称固连界面),主要用来将结构网格的不协调两部分联结起来。
3.2 Distributed Parameter Method
分配参数法也是发展较早的一种接触界面算法,Wilkins 在1964 年将该算法成功地应用到HEMP 程序中,Burton 等在1982 年将其应用于 TENSOR 分析程序中。与节点约束法相比,这种算法具有较好的网格稳定性,因此被 DYNA 采用。目前,在LS-DYNA 程序中用来处理接触一滑动界面的问题。该方法的基本原理是:将每一个正在接触的从单元(slave element)的一半质量分配到被接触的主面面积上,同时根据每个正在接触的从单元的内应力确定作用在接受质量分配的主面面积上的分布压力。在完成质量和压力的分配后,修正主面的加速度。然后对从节点的加速度和速度施加约束,以保证从节点在主面上滑动,不允许从节点穿透主表面,从而避免了反弹现象。这种算法主要用来处理接触界面具有相对滑移而不可分开的问题。因此,在结构计算中,该算法并没有太多的用处。它最典型的应用是处理爆炸等问题,炸药爆炸产生的气体与被接触的结构之间只有相对滑动而没有分离。
3.3 Penalty Method
该算法于1981 年有Huag 等人,1982 年8 月开始用于 DYNA2D 中[2]。现在,罚函数法已发展为一种非常用的接触界面算法,在数值计算中被广泛应用。罚函数法的基本原理是:在每一个时间步首先检查各从节点是否穿透主面,如没有穿透不作任何处理。如果穿透,则在该从节点与被穿透主面间引入一个较大的界面接触力,其大小与穿透深度、主面的刚度成正比。这在物理上相当于在两者之间放置一法向弹簧,以限制从节点对主面的穿透。接触力称为罚函数值。“对称罚函数法”则是同时对每个主节点也作类似上述处理。对称罚函数法由于具有对称性、动量守恒准确,不需要碰撞和释放条件,因此很少引起Hourglass 效应,噪声小。
对称罚函数法在每一个时间步对从节点和主节点循环处理一遍,算法相同。下面以从节点ns 为例详细描述该算法的基本步骤:
1 搜索所有从动点,确定从动点是否穿透主面。
2 如否,不作处理,搜索结束;如是,则在从节点与主面上的接触点间附加一法向接触力 Fn。
3 处理摩擦力。
4 将接触力 Fn 和摩擦力 投影到总体坐标,组集到总体载荷向量中。
4接触类型
在具体介绍各种类型的接触前,先阐述几个基本的概念。
在壳单元中,自动接触通过法向投影中面的1/2“Contact Thickness”来确定接触面。这就是“shell thickness offsets”。接触厚度可以在接触的定义中明确指定。如果接触厚度没有指定,则等于壳的厚度(在单面接触中,为壳厚度或单元边长的最小值)。相同的,在梁的接触中,接触面从梁的基线偏置梁截面等效半径距离。因此,在有限元几何建模时,为考虑壳厚、梁截面尺寸必须在壳、梁的part 间有适当的间隙,否则会有初始穿透现象发生(即发生不真实的接触现象)。虽然LS-DYNA 可以通过移动穿透的从节点到主面上来消除初始穿透,但是并不是所有的初始穿透都能检查出。DYNA 中大多数的接触有一个“极限穿透深度”,如侵彻超过这个深度则从节点被释放,接触力置为0。这主要用在自动接触中,防止过大接触力的产生而引起数值不稳定性。然而在有些情况下,因为这个阈值过早达到而使接触失效(常发生在非常薄的壳单元中)。此时应采取的措施是放大接触厚度因子或设置接触厚度为大于壳厚度的一个值,或者改变接触刚度的计算方法(如改为Soft=1)。
LS-DYNA 中的接触允许从节点与主段间压缩载荷的传递。如接触摩擦激活,也允许切向载荷的传递。Coulomb 摩擦列式用来处理从静到动摩擦的转换,这种转换要求一个衰减系数、静摩擦系数大于动摩擦系数。关于接触搜索方法,这里仅给出几个简单的要点,详细描述见Theoretical Manual ofLS-DYNA。DYNA 中有两种搜索方法:Incremental Search Technique 与Bucket Sort。Incremental Search Algorithms Global Bucket Sort
1 搜索方向 仅在主段正方向从节点的穿透 主面正、负方向检查穿透
2 搜索步骤 对每一个从节点的:
找出最接近的主节点; 搜索接近的主段(不止一个);搜索相邻的主段; 局部利用Incremental Search 确穿透检查; 定最接近的主段;施加作用力。 穿透检查;施加作用力。
1 主面要求 主面连续 主面可以不连续
2 特点 简单、速度快 非常有效,但耗时大所有的非自动LS-DYNA 中的接触类型大体上可以分为五大类:
1 One-Way Contact (单向接触)
2 Two-Way Contact( 双向接触)
3 Single Contact(单面接触)
4 Entity
5 Tied Contac(固-连接触)
在以上接触类型中,前四种接触类型的接触算法均采用罚函数法。固-连接触有的采用
的罚函数法,有的采用动约束法,少部分采用分布参数法。
4.1 One-Way Treatment of ContactOne-Way、Two-Way 是对接触搜索来讲的。One-way 仅检查从节点是否穿透主面,而不检查主节点。在Two-Way Contact 中从节点与主节点是对称的,从节点与主节点都被检查是否穿透相应的主面或从面。
LS-DYNA 中的_Node_To_Surface 接触类型都属于单向接触,另外还有特别注明为单向接触的_Surface_To_Surface 接触类型:
?? *Contact_Nodes_To_surface
?? *Contact_Automatic_Nodes_To_Surface
?? *Contact_Froming_Nodes_To_Surface(自动接触类型、主要用于金属拉压成形)
?? *Contact_Constraint_Nodes_To_Surface(现已很少用)
?? *Contact_Eroding_Nodes_To_Surface
?? *Contact_One_Way_Surface_To_Surface
?? Contact_One_Way_Automatic_Surface_To_Surface
由于在单向接触中,仅有从节点被检查是否穿透主面,而不考虑主节点,因此在使用时
必须注意,应保证在接触过程中主节点不会穿过从面。同样的原因,单向接触要比双向接触运行速度快得多,因此仍被广泛应用。在以下情况中使用单向接触是合适的:
?? 主面是刚体
?? 相对细的网格(从)与相对平滑、粗的网格(主)接触
?? beam_to_surface、 Shell edge_to_surface 接触。beam node、Shell edge node 作从点。在接触分析中,由于问题的复杂性,判断接触发生的方向有时是很困难的,因此分析中应尽量使用自动接触(不需要人工干预接触方向)。但当面的方向在整个分析过程中都能确定的情况下,下面的非自动接触类型是非常有效的:
*Contact_Nodes_To_Surface(5)
*Contact_One_Way_Surface_To_Surface(10)
*Contact_Constraint_Nodes_To_Surface(18)
*Contact_Eroding_Nodes_To_Surface(16)
4.2 Two-Way Treatment of Contact
主、从面的定义与算法处理上是完全对称的。因此主面、从面可以随意定义。计算资源
大约是单向的2 倍。LS-DYNA 中绝大多数_Surface_To_Surface 接触都是双向接触类型。
双向接触除对主节点的搜索外,其它方面同单向接触是完全一样的。与前述接触类型5、
18、16 相对应的双向接触为:
*Contact_Surface_To_Surface(3)
*Contact_Constraint_Surfaces_To_Surface(17)
*Contact_Eroding_Surface_To_Surface(14)
在Crash Analysis 中,*Contact_Automatic_Surface_To_Surface(a3)推荐使用。在金属的
拉压成形分析中推荐使用*Contact_Froming_Nodes_To_Surface。
4.3 Single Surface
单面接触是LS-Dyna 中应用最为广泛的接触类型,尤其在Crashworthiness 应用中。在
这中类型中,从面一般定义为Part 或PartSet ID。各Part 间及自身Part 间的接触都考虑。如果建模精确,该接触是可信、精确的。在单面接触中,壳厚偏置总是考虑的,因此建模时不能有初始穿透存在。单面接触有:
*Contact_Single_Surface(4,不推荐使用)
*Contact_Automatic_Single _Surface(推荐)
*Contact_Automatic_General
*Contact_General_Interior
*Contact_Airbag_Single_Surface
对于Crash Analysis,推荐使用*Contact_Automatic_Single _Surface(13)。这个接触类型
其性能随DYNA 版本的提高不断改善。
4.4 Tied Contact(Translational DOF only, No Failure, No Offset)
固-连接触用来将从节点约束、限定在主面上。这种接触类型一般是非对称的,因此定义主、从是要符合§2 中描述的一般规则。在这种类型的接触中,主、从接触面最好不要以Parts ID 形式输入,应采用node/segment 的形式。
固-连接触类型丰富,采用的接触算法也不一致,下面分别介绍。Translational DOF only, No Failure, No Offset这种接触仅约束从节点的平动自由度,且不考虑接触的失效,不允许从节点的偏置。如果从节点与对应的主段间有微小的距离存在,则采用正交投影的方法将从节点移动到主面上。因此,初始几何构形可能有微小的改变。
这种类型接触采用动态约束算法,因此不能将刚体约束到可变形体或刚体上。(动态约束法有:在计算下一Δt 之前,对所有已经与主面接触的从节点都施加约束条件,以保持从节点与主面接触而不贯穿。刚体节点不能施加约束)如下两个命令是常用的固连接触。这两种接触在数值处理上是完全一样的,所不同的仅是输入数据格式。
*Contact_Tied_Nodes_To_Surface(6)
*Contact_Tied_Surface_To_Surface(2)
1 Translational DOF only, No Failure, With Offset
这种接触采用罚函数算法,允许从节点与主面间偏移(主、从面间存在微小的距离)存在,可以用于刚体相应的约束。
与上述接触类型2、6 对应的为*Contact_Tied_Nodes_To_Surface_OFFSET(O6)*Contact_Tied_Surface_To_Surface_OFFSET(O2)由于从节点的偏置,可能会引起附加的动量矩。但在这种类型的接触中,不考虑偏置引起的动量矩。因此,主、从面必须相当的接近。
2 Translational DOF & Rotational DOF, With Failure, No Offset采用动态约束算法。
3 Translational DOF & Rotational DOF, With Failure, With Offset罚函数法。
4 Translational DOF Only, With Failure, With Offset动态约束算法。
5 接触刚度的计算在基于罚函数算法的接触类型中,目前LS-DYNA 有两种计算主、从面间接触刚度的方法。
5.1 Penalty-base Approach(SOFT=0)
该算法是LS-DYNA 计算接触刚度的缺省方法。Ki=f×K×A/V;(f:表面刚度缩放因子;K:体积模量;A:单元面积;V:体积。)它利用接触段的尺寸与其材料特性来确定接触刚度。当两个接触面的材料刚度参数相差不大时,该方法是很有效的。但当两个接触面的材料刚度相差很大时,由于接触刚度采用主、从面中较小的刚度,而使接触失效。
对于Crash 分析,除非先验证明没有问题,否则一般不使用SOFT=0。
5.2 Soft Constraint-based Approach(SOFT=1&2)计算接触刚度时,综合考虑了发生接触的节点之质量与整体时间步长,以保证接触的稳定性。这样的处理,对于材料性质相差悬殊的接触问题是非常合适的。Soft=1 与Soft=0 算法除刚度计算外,其它考虑是完全一致的。当Soft=1 时,采用下式计算接触刚度k(单向接触):
k = max(SLSFAC*SFS*k0, SOFSCL*k1)其中:k0~根据材料弹性模量与单元尺寸确定的接触刚度;k1~根据节点之质量与整体时间步长来确定接触刚度。对于Two-Way 型接触,用SFM 代替上式中的SFS。5.3 Segment-based Contact VS. Standard Contact与Soft=0、1(以下简称“标准算法”)不同,Soft=2 是一种基于段(Segment based)的接触算法。在标准算法中,检查从点穿透主段与否,而施加罚力与从点及相应的主点;而在段接触算法中,直接检查段是否发生相互穿透,而施加罚力与相应段的节点。
转自:http://mp.weixin.qq.com/s?__biz= ... ZMOH5CNEocDU5hWT#rd
|