首页/文章/ 详情

结构仿真小知识:点对面及面对面

2月前浏览543

我工作后的第一任领导跟我说“魔鬼都在细节中”,这句话对我受益匪浅,所以这个系列我会说一说一连串的小知识点,这些大多数我们在仿真中会用到,但可能并不会关注,可有时候仿真的正确性就是由这些小的细节决定的

今天说一下结构仿真中的接触,接触中有两种不同的接触计算方法,分别是点对面(node to surface)与面对面(surface to surface)。注意这里是两种不同的算法,或者准确的说是接触计算离散的两种不同算法,很多同志经常会把这个和设置接触的时候选择的对象混淆,觉得应该有点对线、线对线、线对线、点对面、面对线、面对面这么多种类型。事实上大多数情况,无论我们使用点对面算法还是面对面算法,我们通常都是选择两个几何面或者两个网格面,当然点对面顾名思义,他的算法天生支持其选一堆点作为从节点。

下图为Abaqus中这两种方法的选择,在Interaction中选择完主从面后即可设置离散方法(Discretization method)。

那么现在我们就分别说一下点对面与面对面算法。首先点对面算法是最早出现也最成熟的算法,逻辑很简单,即从点向主面进行投影,然后得投影点到该从点的方向向量,通过这个方向向量与主面外法线,我们就可以得到从点与主面是处于分离状态,还是穿透状态,如果处于穿透状态,那么我们就要进行接触刚度的计算,针对每一个这样的点-面对进行依次的计算,用一行公式表达就是:

   ,     ,    

其中    为法向的间隙,当其小于0的时候代表穿透,真实世界不会发生,所以这是需要引入接触刚度,进行非线性求解,具体接触刚度怎么计算,这里先不详谈,后续会有专门讲计算接触力学的“大知识”专栏。

从上述描述上其实我们可以看到一个特点,我们说从面的节点向主面投影,那么这里有两个问题:

  1. 从面不能穿透主面,但好像没有任何一条公式表示主面不能穿透从面?
  2. 从面如果很大,主面如果不够大,是否会存在从节点投影不到主面的情况?

     
这两个问题的答案都是“是的”,主面理论上可以随意的穿透从面,而且像下边这个典型的案例,其实点对面接触将失效,因为虽然这两个面贴到一起了,但是由于都是单个单元,从面上的四个节点无法投影到主面上,也就无法人为接触是否发生了。这也是很多书上、帮助文档上都会有一条,“选择接触主面的时候建议选用大一些的面作为主面“。

那么我们有没有办法规避这两个问题呢,对于问题1,诸如Ansys与Abaqus均提供了双向搜索的一种方式,Ansys中称作对称的接触(Symmetric),而学术界则一般称其为双向接触(two-pass),理解起来也十分容易,那既然现在不保证主面不 穿透从面,我就再把主从调换一下,再检测一下,再算一次,这回的原来的主面变成了从面也就不能穿透原来的从面了,这也就是双向的含义。而对于问题2,一个非常简单的方法就是,细化网格,把从面的网格细化了,这样从面的点多了,有些落在红色的主面投影范围内也就好了,这则是很多资料说“从面网格画细一点”的原因。另外一种做法是,诸如在Abaqus中他会针对这种情况去补充一些点,这里可以看到当选择了Node to surface算法后,他会出现Use supplementary contact points(使用补充的接触节点),一般来说我们默认的既可,那么Abaqus会自动再这种情况的地方,多做一些补充性的从节点,以避免这种漏检测的情况出现。

而面对面算法,相对点对面就会复杂很多,相比点对面算法,这里则是将从面单元面投影到主面上,这个投影和面的选择又有很多玩法,留到未来计算接触力学中详谈,总之目前来说应用最为广泛的一种方法叫Mortar法(我并不知道这东西怎么翻译成中文),核心意思就是选择一个面作为基准面,主面和从面都向这个“中间”面进行投影,然后投影的主从面区域进行相互切割,并进行积分计算接触刚度、接触力等。面对面算法仍然符合点对面算法“无穿透”的基本数学公式,只是这里是通过一个积分来保证无穿透,简单的可以理解为从面单元上任意一点的穿透量(插值得来)在这主从两个面投影的交叉区域上的积分是“无穿透”的,说起来有点拗口,用个图来表示:

  1. 点对面的感觉,红色点穿透了,穿透量是每个点到上面表面的投影    
  2. 面对面的感觉,穿透量是红色 区域穿透量的积分,也就是红色和边界围出来那个小面积    

从上边这些中大家其实已经可以感觉到,面对面算法一定计算量更大一些,而且更准确一些,且不会出现点对面那种红、蓝主从检测不到的情况,因为使用面对面算法,那两个面是有接触面积的。

也正是因为这些特性,面对面由于考虑了一个整体的效应,其接触面上的接触压力、应力分布都会光顺很多,但点对面(NTS)算法则会跳来跳去(即使你的面很光顺),对于二阶单元这个效应则会更加明显,这也是为何很多软件在点对面接触的时候并不推荐使用二阶单元。当然成熟的商业有限元分析软件或多或少都有考虑修正这些应力不光顺,比如Abaqus就提供了一些Smooth算法来消除这些效应,也同时提高收敛性,这个先提一下,以后可以单拎出来详谈,很有意思,还涉及到一些计算几何的知识。

好的,今天就说到这,希望大家在以后的工作中,知道要用哪种接触,大多数情况用程序默认的(隐式:面对面,显式:点对面),少数情况为了计算效率、收敛性可以切换成点对面,但是也不要期盼在用点对面的时候可以多么正确的评估接触区域的接触压力与应力水平。



来源:大狗子说数值模拟
ACTAbaqus非线性理论ANSYS
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-12-12
最近编辑:2月前
大狗子说数值模拟
博士 传播国际一流的数值模拟算法
获赞 6粉丝 6文章 44课程 0
点赞
收藏
作者推荐

知乎上我喜欢的一些仿真博主

今天我的知乎提醒我账号十周年纪念日,那我就想着不如给大家分享一下我在知乎上关注的一些博主。lanjieying,博主是云道智造的研发工程师,写了很多有限元算法相关的帖子,写的很好,有理论讲解也有很多炫酷的非线性仿真视频,可以看出来博主对Abaqus是十分熟悉的,且近些年来非线性方面的仿真越做越深,期待其求解器做的更好蒙特遇见卡罗,博主写了很多结构动力学方面的知识,还有Ansys的各种应用,能看出来博主对航空航天的仿真有自己的理解,很推荐SimPC,博主讲了很多Matlab进行有限元编程,虽然我自己从来不用Matlab编程,但也觉得讲的挺好的,很适合想编有限元程序的人试试。而且有意思的一点是,这位其实并不是编写那些教科书上的简单内容,很多内容是很有特点的takisword,这个号应该很多人都在关注吧,博主现在应该是Altair的研发工程师,水平很高,对于各种非线性,显式动力学、隐式动力学都很熟悉,且讲的深入浅出,文章写得也很漂亮,非常值得推荐tomm,讲了很多本构模型之类的,很多我也不是很了解,想学学材料本构那些,去关注没错的Hillyuan,也是计算力学方面的研究人员,写的东西逻辑也很清晰,我却惊叹于其对数学的理解,毕竟力学的尽头是数学,他对于黎曼空间、李代数那些的理解远超我,值得学习胡渊明,这个可能很多人也都知道的,现在创立了个公司太极图形,几年前还一起参加会议,当时我也对无网格法挺感兴趣的,但看人家做的MPM就觉得比我计算力学方面做得炫多了,经常会发出那种“看看人家”的感慨,不过现在他好像不咋更新了,可能干公司太忙了以上就是我关注的主要的一些计算力学、仿真相关的知乎博主,大家如果感兴趣也可以去关注一下,希望我没有侵权,我也希望他们写的好的内容也能帮助大家。对了前几天的一篇文章我说我写了6万行有限元、矩阵底层代码有资格评论一些事情,评论区有人评论6万行就是个卡拉米的水平,我最开始想着我这怎么说也算是个学贯中西,在东西方仿真公司都干过的人啊,怎么就卡拉米了。后来呢,转念一想,确实是个卡拉米,跟那些Simo,Bathe那群人比,还有上述诸多博主比很多都差得远,没办法,持续学习呗,说不定哪天就从小卡拉米变成大卡拉米。来源:大狗子说数值模拟

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈