【RADIOSS每周干货】定义好接触,让零件不再魔性穿透

 

在所有涉及不同部件接触的案例中,如果没有正确地定义接触,可能会出现部件穿透等不符合物理现象的过程。但如何合理地设置接触参数,是一件非常值得研究和探讨的事情。...



案例分析

在所有涉及不同部件接触的案例中,如果没有正确地定义接触,可能会出现部件穿透等不符合物理现象的过程。但如何合理地设置接触参数,是一件非常值得研究和探讨的事情。

想要正确合理地定义接触,必须理解背后的原理,理解每一种接触类型以及参数的含义。

下面让我们来对背后的原理一探究竟~

原理:罚函数法

为什么采用罚函数法?

在有限元分析理论中,存在多种处理接触问题的数值方法。而罚函数数值方法,是在求解稳定性、效率、精度等方面综合考虑的时候最理想的方法。因此,很多隐式/显式求解器都把它作为了首选方案。不仅仅是拉格朗日问题,甚至流固耦合问题也在使用罚函数接触算法。

简单来讲,罚函数法就像在从点和主面间加了一个隐形的弹簧,从点一旦进入离主面很近的某个范围(图中天蓝色部分),就会受到这个“隐形弹簧”的作用力从而远离主面。我们把描述这个“隐形弹簧”力与位移的函数称为罚函数。
在RADIOSS求解器中,对于拉格朗日问题,提供两类接触:非线性罚函数接触算法和线性罚函数算法。非线性罚函数算法是RADIOSS求解器独有的。两者之间区别在于,只要设置合理,当使用非线性罚函数法的时候,绝不会产生网格交叉(intersection)。而使用线性罚函数算法时,如果变形剧烈,就有可能会产生网格交叉。从另一方面来视频,非线性罚函数法是真正符合物理意义的。

类型

从数值的实现方法上看,接触的种类包括:

接触类型有


TYPE 19非线性罚函数接触算法(2017版本新增),在求解初始化过程中,会被自动解析成两个对称的TYPE 7点面接触和一个TYPE 11线线接触。
知道了这三种类型~然而什么时候该用哪个?如何设置呢?

还是一脸懵?别急,喘口气,接着看~

TYPE7

对于不存在网格交叉(intersection),没有严重网格穿透(penetration)的有限元模型,可以选择TYPE 7接触。在RADIOSS求解器中的接触算法,可以真实考虑每个部件的厚度,所以需要仔细了解gap的计算方法。

 》Igap:定义计算所使用的gap值

这里,理解gap的物理意义很关键。

对于壳单元(2D),网格代表的是中面而不是表面。想象我们定义两块钢板的接触,很明显,二者都是有厚度的。两个中面不可能紧紧地贴在一起,它们至少相隔厚度和的一半。我们定义的gap值,就是两个中面间的最小距离。这是真正符合物理意义的。当小于这个距离的时候,也就可以理解为发生了穿透(penetration)。
可以通过设置不同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

TYPE24

TYPE 24接触,在开发初期是专门针对电子行业而开发的。由于电子行业的有限元模型中,网格交叉和穿透通常是很普遍的现象。并且,由于产品研发周期短,没有足够的时间提高网格质量。所以,当网格有初始交叉和严重的穿透时,我们可以使用TYPE 24代替TYPE 7。 它使用定刚度的罚函数法。对于单面、面面、点面和线线(2017版本)接触都适用。

对于TYPE 24定刚度罚函数接触,无需输入gap值,RADIOSS会自动计算接触gap,计算方法与TYPE 7 Igap=1的计算公式相似。接触刚度选取跟非线性罚函数法相同。

对于低速碰撞、电子产品跌落模拟,推荐INACTI=5。

TYPE 24的使用,不必局限于电子家电行业的跌落问题。对于网格质量不高,碰撞速度也不是特别高的时候,完全可以使用TYPE 24接触来降低网格修改的工作量。
呼~看完了,给自己加个鸡腿吧,小汰决定加仨!外加荷包蛋!
Altair 2017 RADIOSS 求解器技术大赛正在进行中,欢迎报名参赛。

详情请点击下方“阅读原文”


    关注 Altair


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册