本文翻译自官方文档,原文链接:
https://www.dynasupport.com/tutorial/ls-dyna-users-guide/contact-modeling-in-ls-dyna
整车模型中的接触问题
整车模型的碰撞问题涉及到了所有自由面之间的接触问题,大约有20%-30%的CPU计算时间用于处理这些接触问题。这其中最重要的挑战之一便是建立结构化的金属部件和非结构化的泡沫、塑料部件之间的接触模型,当模型中还有假人的话这会显得更加重要;另一个挑战是处理复杂几何体部件在边角处的接触模型。用户应参考本文来建立稳定的整车接触模型以实现合理的接触行为,本文还会根据经验来讨论一些模型实例。
1.整体或局部接触
历史上,人们一般单独为不同的接触对建立接触模型,但是随着技术的发展,以及一种鲁棒性较高的单面接触的引入,工程师们的建模方法已经有所改变。为了实现建模过程的简洁性、数值计算过程的鲁棒性以及计算的高效型,人们目前抛弃了定义大量接触的方法,转而将所有可能在碰撞中发生接触的部件定义到一个单面接触中。我们通常称这种方法为整体接触。
但是这并不意味这我们就要总是避免使用局部的接触模型。整车模型中经常会有一些区域需要定义特殊的接触类型,而这是整体接触无法做到的。用户应根据实际情况通过修改接触设置的默认值来定义局部的基础对。
2.AUTOMATIC_SINGLE_SURFACE 或 AUTOMATIC_GENERAL
尽管这两种接触都是单面接触,但是仍有一些不同之处,如下表所示。
这两个接触类型中,*AUTOMATIC_GENERAL计算成本更高,因为其具有额外的功能、桶排序更为频繁以及更细致的接触搜寻。所以我们建议在整体接触中使用*AUTOMATIC_SINGLE_SURFACE,在处理壳的边界之间以及梁之间的接触时则在局部使用*AUTOMATIC_GENERAL。应谨慎使用*AUTOMATIC_GENERAL,只用在的确需要用到的地方。自LS-DYNA950d版本之后,*AUTOMATIC_SINGLE_SURFACE的优势在于它可以更细致地处理有限元模型中的内部尖角以及三角形接触面。所以在部件网格为三角形或四面体网格时,优先使用*AUTOMATIC_SINGLE_SURFACE。在以后的LS-DYNA版本中,*AUTOMATIC_GENERAL也会获得这些改进。
3.标准罚函数法或软约束法
在使用*AUTOMATIC_SINGLE_SURFACE时,若从面集合中存在网格尺寸不一致或(和)材料不一致的多个部件时,建议使用软约束法求解刚度(SOFT=1)。软约束法可以在保证计算稳定的情况下利用节点质量和时间步长求得刚度的最大值。面段法(SOFT=2)计算刚度的方法与软约束法非常类似,但是其他方面则有所不同,这一方法可以有效处理其他接触类型无法处理的具有尖角的接触模型。
与软约束法不同,罚函数法(SOFT=0)是基于材料的弹性常数和单元尺寸的。对于有泡沫和塑料部件参与的接触来说,这两种方法计算出的接触刚度可能会有一到两个数量级的差别。选择软约束法时要考虑的一个重要不利因素是这种方法依赖于时间步长。通常情况下,为了避免接触模型计算不稳定的问题,我们会使用*CONTROL_TIMESTEP中的TSSFAC参数来降低整体时间步长,从而会增加整体计算时间。降低整体时间步长的另一种办法是将*CONTACT中的软约束缩放系数SOFSCL从默认值0.1调整到0.04-0.07。若罚函数法用于模型整体的接触定义中,那么软约束法可以在局部定义不同材料之间的接触。下面这几种情况下可能适合使用软约束接触:
气囊与方向盘之间;
气囊和乘客之间;
前胎到SIL之间(此句存疑);
备胎和临近部件之间;
泡沫和结构部件之间。
结合这两种刚度计算方法可以较好地模拟接触行为,而不用降低整体时间步长。
4.从面集合的定义
在整体接触定义中,有多种定义从面集合的方法,主要包括:定义所有部件为一个集合(默认);定义参与接触的部件为一个集合;定义不参与接触的部件为一个集合,以及定义面段为一个集合。默认定义方法,也就是定义所有部件为一个集合的方法可能会在模型计算开始时就出现计算不稳定的现象,除非用户非常细致地建立整个计算模型以避免出现初始穿透和不合理的部件交叉(nonphysical intersections of parts)的发生。如果不想消除初始穿透,用户可以在*CONTROL_CONTACT关键字中设置IGNORE =1。
许多计算模型可以在只有一个接触面的情况下完美运行,却不会计算其他接触面,除非通过一些办法对输入文件进行修改;这些修改可以是排除部件,或是通过修正使模型单元可以更精确地反应实际部件的几何形状(此句存疑)。重申以便,下面这几个方法可以用来定义整体接触模型:
定义所有部件为一个集合 (默认)
定义参与接触的部件为一个集合 by *SET PART
定义不参与接触的部件为一个集合 by *SET PART。没有排除的部件将会参与接触计算。
定义面段为一个集合 by *SET SEGMENT
除此之外,*DEFINE_BOX可以定义一个三维的立方体box,限制在这一立方体之内部件或面段所参与的接触可以设置为计算的起点,这么做可以缩小处理接触问题的范围,从未节省计算时间。
5.摩擦
当包含有多个部件的整车模型中定义了一个整体的基础,那么设置一个同一的摩擦系数(可以为0)是可以接受的。但是当摩擦行为起到较大作用时,我们建议使用*PART_CONTACT来对各个部件单独设置摩擦属性。当且仅当*CONTACT中的FS设置为-1时,*PART_CONTACT中设置的摩擦系数会覆盖掉*CONTACT中设置的摩擦系数。请注意,只有当衰减系数DC不为0时,动摩擦系数FD才会生效。
6.接触厚度
可以通过修改*CONTACT中的全局SST和MST选项为适当值来减少初始穿透的影响。在单独设置部件参数时,*PART_CONTACT中的 OPTT选项可以覆盖上述两个参数。用户不应将接触厚度设置为极小的值,因为这会导致计算错误;实际上对于厚度小于1mm的很薄的壳单元,有必要增加接触厚度来避免计算失败的发生。
(未完待续)