本文翻译自官方文档,原文链接:
https://www.dynasupport.com/tutorial/ls-dyna-users-guide/contact-modeling-in-ls-dyna
气囊接触
若在有限元模拟中引入气囊并使其与其他部件发生相互作用,那么此时应设置特殊的接触模型。下面是考虑气囊的接触问题时的一些难点:
气囊节点速度很高 (> 100m/s)
气囊非常软 (E < 50Mpa)
气囊非常薄 (< 0.5mm)
折叠的气囊经常会发生初始穿透
气囊编织层的处理
为了实现气囊接触稳定和精确的求解,我们建议使用如下接触类型和参数。
1.气囊的自接触
强烈建议使用*CONTACT_AIRBAG_SINGLE_SURFACE来处理气囊的编织层之间的自接触。这一接触类型源于*CONTACT_AUTOMATIC_SINGLE_SURFACE,但是针对气囊的折叠问题中的难点进行了重大修改。
在使用SMP(对称多处理器技术,Symmetrical Multi-Processing)时,我们建议使用SOFT = 2选项,这一选项可以处理折叠气囊的初始穿透问题,同时所调用的面段到面段接触搜寻方法在处理气囊的叠及未折叠部分的复杂几何形状时更为有利。使用了SOFT = 2的接触模型计算成本较高,因此此时应提高计算机的性能;此外下图表示了一种由SOFT = 2转换为SOFT = 1或0的方法。我们可以通过设置生效时间和失效时间来实现当气囊不再折叠时接触类型由SOFT = 2转换为SOFT = 1,这种联合使用两种接触类型的办法可以提高计算的稳定性和效率。
在使用MPP(大规模并行处理,Massively Parallel Processing)时,SOFT = 2将不再有效,此时必须使用SOFT = 1或0。那么我们就需要设置一个气囊厚度随时间的变化曲线,使得气囊折叠时厚度非常小,而气囊展开后厚度变大。这样的设置可以避免初始穿透,同时保证气囊展开后可实现较好的接触行为;具体设置位置为*CONTACT中设置卡A中的LCIDAB选项。此外,我们还可以使用设置卡C中的IGNORE = 1选项来直接忽略初始穿透现象;这一方法首次出现在960版本之中,还未彻底验证其在气囊接触问题中的效用。
2.气囊与结构之间的接触
在气囊的工作过程中,会与许多部件发生接触,例如方向盘 ,乘客,仪表盘,门饰,侧帘,座椅等。这种情况下,我们建议使用双向接触,例如*CONTACT_AUTOMATIC_SURFACE_ TO_SURFACE。假如使用了单面接触例如*CONTACT_AUTOMATIC_NODES_TO_SURFACE,并由气囊节点组成从面,程序将不会检测到部件节点穿透气囊面段的行为,这样一来,即使网格划分十分精细的部件也会出现明显的穿透气囊的现象。在气囊和部件之间的接触模型中使用*CONTACT_AUTOMATIC_SINGLE_SURFACE接触类型也是不明智的,因为这会导致重复进行气囊编制层自接触运算。
气囊与部件接触的难点很大程度在于不同材料的体积模量相差很大(可能相差1000倍),同时气囊编制层非常的薄。为了避免由于编制层过薄而提前触发释放节点的情况,建议将气囊的接触厚度设置为1.0mm这一最小值。由于不同材料类型的存在,强烈建议使用SOFT = 1选项,这样就不需要对罚函数因子进行不断的微调。下图是一个气囊接触问题的实例。
边到边的接触(Edge-to-Edge Contact)
由于搜寻算法只关注节点到面段之间的穿透,所以大部分接触类型都不考虑边到边的穿透问题。在大多数情况下这些接触类型都已经足够使用,但是在一些特殊的壳接触问题中,边与边之间的变得非常重要。下面介绍了处理边到边接触的一些方法,并对它们的优缺点进行了评价。
1.排除内部边的*CONTACT_AUTOMATIC_GENERAL
如图所示,默认情况下,*CONTACT_AUTOMATIC_GENERAL 在边到边接触中只考虑外部边。其中只属于一个单元或面段的边称为外部边,而由两个或多个单元或面段共享的边称为内部边。在接触计算中,程序会检测外部边的整个长度,而非只检测边上的节点。与其他基于罚函数的接触类型相同,SOFT=1可以有效处理不同材料之间的接触问题。
2.考虑内部边的*CONTACT_AUTOMATIC_GENERAL
考虑内部边的边到边接触可以通过两种方法实现。第一种方法利用了
*CONTACT_AUTOMATIC_GENERAL的梁到梁的接触处理能力。这种方法属于劳动密集型,需要沿着要考虑其接触问题的内部边创建空的梁单元(*ELEMENT_BEAM, *MAT_NULL),直径大概为1mm(elform = 1, ts1 = ts2 = 1.2mm, tt1 = tt2 = 0 in *SECTION_BEAM),并将这些梁归入一个单独的AUTOMATIC GENERAL 接触之中,如下图所示。*MAT_NULL中的弹性常数用来确定接触刚度,所以要设置一个合理的值。空梁单元不需要设置结构刚度。
我们更倾向于使用第二个办法,即使用*CONTACT_AUTOMATIC_GENERAL_INTERIOR中的内部边这一选项,这一办法会花费一些额外计算成本。
3.*CONTACT_SINGLE_EDGE
与上面那些接触不同,*CONTACT_SINGLE_EDGE只处理边到边的接触,可以通过part ID,part set ID, 或 node set来定义从面,同时忽略主面。
刚体接触
可以忽略变形同时所受应力不重要的部件可以通过*MAT_RIGID or *CONSTRAINED_NODAL_RIGID_BODY建为刚体。*MAT_RIGID中的弹性常数用于接触刚度的确定,所以要设置为合理的值,一般使用钢的参数。尽管LS-DYNA中有一些专门用于刚体的接触(包含RIGID字样的接触),但是很少被用到。任何一个基于罚函数的接触类型可以用于变形体接触,同时也可以同于刚体接触;实际上它们比RIGID接触类型要更好。刚体和变形体要定义在同一个基于罚函数的接触之中,基于约束的接触不能用于刚体接触。
刚体应该有一个合适的网格密度,以便于捕捉部件的几何形状,太过粗糙的网格会导致计算的不稳定。另一个建议是刚体接触面上的节点间距不能比参与接触的任何变形体更粗糙,因为这样才会实现接触力的合理分布。由于不计算刚体的应力和应变,因此刚体的精细网格并不会对计算产生影响。简而言之,在刚体单元的划分上不要太过吝啬。
*CONTACT_ENTITY是另一种完全不同的办法,可以定义与变形体节点相互接触的解析刚体面。
总结
本文所有接触类型大致可以分为四组:
Group A: Types 3, 5, 10 (SHLTHK = 0)
Group B: Types 3, 5, 10 (SHLTHK = 1)
Group C: Types 5, 13, 14, 15, 16, a3, a5, a10, 26
Group D: Types 19, 20, 21
(全文完)