本文摘要(由AI生成):
本文详细探讨了有限元分析中部件接触问题的处理策略,着重介绍了罚函数法的原理及其在防止穿透现象中的优势。文章分析了RADIOSS求解器中的两类接触算法,并指出非线性罚函数算法在防止网格交叉方面的有效性。同时,文章阐述了三种主要接触类型的特点及适用场景,包括TYPE 19、TYPE 7和TYPE 11,并针对TYPE 7和TYPE 11接触提出了处理初始穿透和网格交叉问题的具体方法。文章还介绍了TYPE 24接触在电子行业的应用背景及参数设置。总之,通过合理选择接触类型和参数,本文提供了实用的操作指南,有助于提高有限元分析的准确性和效率。
在所有涉及不同部件接触的案例中,如果没有正确地定义接触,可能会出现部件穿透等不符合物理现象的过程。但如何合理地设置接触参数,是一件非常值得研究和探讨的事情。
想要正确合理地定义接触,必须理解背后的原理,理解每一种接触类型以及参数的含义。
下面让我们来对背后的原理一探究竟~
为什么采用罚函数法?
在有限元分析理论中,存在多种处理接触问题的数值方法。而罚函数数值方法,是在求解稳定性、效率、精度等方面综合考虑的时候最理想的方法。因此,很多隐式/显式求解器都把它作为了首选方案。不仅仅是拉格朗日问题,甚至流固耦合问题也在使用罚函数接触算法。
简单来讲,罚函数法就像在从点和主面间加了一个隐形的弹簧,从点一旦进入离主面很近的某个范围(图中天蓝色部分),就会受到这个“隐形弹簧”的作用力从而远离主面。我们把描述这个“隐形弹簧”力与位移的函数称为罚函数。
<主面和从点受罚函数约束>
在RADIOSS求解器中,对于拉格朗日问题,提供两类接触:非线性罚函数接触算法和线性罚函数算法。非线性罚函数算法是RADIOSS求解器独有的。两者之间区别在于,只要设置合理,当使用非线性罚函数法的时候,绝不会产生网格交叉(intersection)。而使用线性罚函数算法时,如果变形剧烈,就有可能会产生网格交叉。从另一方面来视频,非线性罚函数法是真正符合物理意义的。
<非线性和线性罚函数>
从数值的实现方法上看,接触的种类包括:
接触类型有
TYPE 19非线性罚函数接触算法(2017版本新增),在求解初始化过程中,会被自动解析成两个对称的TYPE 7点面接触和一个TYPE 11线线接触。
TYPE7
对于不存在网格交叉(intersection),没有严重网格穿透(penetration)的有限元模型,可以选择TYPE 7接触。在RADIOSS求解器中的接触算法,可以真实考虑每个部件的厚度,所以需要仔细了解gap的计算方法。
》Igap:定义计算所使用的gap值
这里,理解gap的物理意义很关键。
对于壳单元(2D),网格代表的是中面而不是表面。想象我们定义两块钢板的接触,很明显,二者都是有厚度的。两个中面不可能紧紧地贴在一起,它们至少相隔厚度和的一半。我们定义的gap值,就是两个中面间的最小距离。这是真正符合物理意义的。当小于这个距离的时候,也就可以理解为发生了穿透(penetration)。
<gap的物理意义>
可以通过设置不同Igap参数,采用不同公式来计算gap值。
→Igap=0:当不输入任何参数的时候Igap=0,即默认值。在求解器初始化模型的过程中,会自动将Igap设置为默认值1000,即Gap恒定,此时计算所使用的Gap=Gapmin。但,当Gapmin没有输入的时候,RADIOSS在计算初始化的时候,会根据单元网格厚度和大小自动重新计算Gapmin。
其中,tm是主面壳单元的平均厚度。
lmin是所有主面单元(壳或体)的最小边长。
→Igap=1:可变Gap
Gap=max[Gapmin, gs+gm]
其中,Gapmin与之前定义相同。
gm=tm/2,tm为主面壳单元厚度,对于实体单元为0。
gs=ts/2,其中ts是与从节点相连的壳单元的最大厚度。如果从节点不与任何单元连接或仅仅与实体或弹簧连接则为0。
→Igap=2:带Gap缩放因子的变Gap
Gap=max{Gapmin, min[Fscale*(gs+gm),Gapmax]}
其中,Gapmin与之前定义相同。
gm = tm/2,其中 tm 主壳单元的厚度,对于主实体单元为0。
gs = ts/2, 其中ts是与从节点相连的壳单元最大厚度,如果从节点不与任何单元连接或仅仅与实体或弹簧连接则为0。
Gapmax 是一个Gap上限(如不指明,没有上限)。
→Igap=3:带有Gap缩减因子和网格尺寸更正的变Gap
如果有自接触定义,当Gap值大于网格尺寸时会发生初始穿透。
<初始网格穿透>
这种问题就可通过设置 Igap= 3来解决。
Gap = max {Gapmin,min [Fscale*(gs + gm),%mesh_size*(gs_l+gm_l), Gapmax]}
其中,gm_l = 主面单元最小边缘长度。
gs_l=与从节点相连的单元的最小边缘长度。
%mesh_size=网格尺寸百分比(默认为0.4)。
对于Igap=1, 2, 3,最好都设置Gapmin为一个很小的数,比如0.5mm(此标准适用于汽车碰撞模型,其他模型按照网格尺寸和厚度适当修改)。
要记住,所有非线性罚函数接触算法不允许初始交叉(intersection)。
当存在初始穿透的情况,处理方法如下:
<罚函数>
此曲线可以理解为,但没有进入gap范围的时候,没有接触刚度。当逐渐进入,并接近penetration极限的时候,接触刚度不断增加,在极限位置达到非常大。
这里可以根据自己不同的问题,选择不同的接触刚度计算方法。对于汽车碰撞,跌落等问题,可以使用Istf=2或者4。
推荐选Istf=2
推荐选Istf=2,避免单元被删除后,自由的从节点造成的接触计算时间步长降低的问题。
我们在汽车碰撞模拟中,推荐如下参数:
对于面面接触,A组件作为主面、B作为从点的接触,再定义一个B为主面、A为从点的对称接触。可以通过HyperMesh手动定义,也可以在HyperCrash中勾选create symmetric interface自动生成对称的面面接触。
对于自接触创建,我们可以在HyperCrash中,定义一个TYPE 7接触,勾选Self impact,一次选中需要创建自接触的组件。这样HyperCrash会自动创建自接触组件作为主面和从点。
<对称接触和自接触定义>
TYPE11
在某些极限情境下,由于网格之间的相对平行运动。我们会发现定义了TYPE 7,由于主面无法 正常搜索到从点,仍会发生网格交叉。如下图,就是一种不违反TYPE 7规则,但违反物理现象的网格交叉:
<加入TYPE 11前>
这时我们需要加入一个线对线的接触类型TYPE 11
<加入TYPE 11后>
TYPE24
TYPE 24接触,在开发初期是专门针对电子行业而开发的。由于电子行业的有限元模型中,网格交叉和穿透通常是很普遍的现象。并且,由于产品研发周期短,没有足够的时间提高网格质量。所以,当网格有初始交叉和严重的穿透时,我们可以使用TYPE 24代替TYPE 7。 它使用定刚度的罚函数法。对于单面、面面、点面和线线(2017版本)接触都适用。
对于TYPE 24定刚度罚函数接触,无需输入gap值,RADIOSS会自动计算接触gap,计算方法与TYPE 7 Igap=1的计算公式相似。接触刚度选取跟非线性罚函数法相同。
对于低速碰撞、电子产品跌落模拟,推荐INACTI=5。
TYPE 24的使用,不必局限于电子家电行业的跌落问题。对于网格质量不高,碰撞速度也不是特别高的时候,完全可以使用TYPE 24接触来降低网格修改的工作量。