为了方便理解,先整体介绍一下ALE网格自适应方法的基本过程,一个完整的ALE过程可以分为若干个网格remesh子过程,而每一次remesh的过程可以分为一下两步(生成的新网格成功与否则在于对这两步的控制):
首先来看整个adaptiveremesh过程控制,包括两个方面:一个是对adaptiveremesh过程的算法控制,另一个对adaptivemesh过程强度的控制
算法控制包括两部分算法控制,其一为网格算法控制,其二为变量转换算法控制。
在ABAQUS中是如何生成新网格的呢?
即使用网格扫掠技术(meshsweeptechnique),每sweep一次,生成一套新的网格。但是当你使用的算法不同时,sweep出来的网格也是不同的,打个不是很恰当的比方:用不同的工具做同一件东西,做出来的质量与精度会不一样,同样,用不同的算法来sweep网格,得到的网格质量也会不一样。
在ABAQUS显示模块中,sweep算法用英语来说就是meshsmoothing method,有三种算法来sweep网格,如下所示:
1)体积算法(volumesmoothing)
该算法十分健壮,为默认算法,再绝大多数情况下适用
2)拉普拉斯算法(laplaciansmoothing)
耗费资源最少的算法,能力一般,作用与体积算法类似(一阶算法,类似于求平均值),对于曲率比较高的曲线曲面边界时,效果不是很理想
3)等位算法(equipotentialsmoothing)
比较复杂的算法,是基于拉普拉斯算法的解之上的算法,对曲率较大的曲线曲面边界效果较好,在节点被非结构化网格包围时,次算法为推荐算法,若节点被结构化网格包围,其效果与体积算法类似。
三种算法可以结合适用,利用权重值来定义,需要记住的是,三种算法各占的权值加起来必须等于1。
在ABAQUS中是如何将旧网格中的环境变量转换到新网格中的呢?
即使用remapping技术,对于静变量(应力场,应变场,位移场等)的转换(advection),有两种算法即为一阶算法(firstorder)与(secondorder)算法,secondorder算法适用于所有问题,为推荐算法,一阶算法比较简单,占资源少,速度快;对于动变量(速度,加速度等)转换(momentumadvection),也有两种算法,elementcenter projection method与half-indexshift method,前者为推荐算法,选择前者就ok了,如果想仔细研究,查查ABAqus文档就可以了,里面写的很清楚。
对adaptiveremesh其他方面控制,主要包括以下几个参数设置:
在ABAQUS中如何对adaptiveremesh过程的强度进行控制呢??这就涉及到一下几个参数。
主要是对整个steptime中网格remesh的次数进行控制。Remesh次数n可以由n=Incrementnumber /Frequency来表达其意义,当frequency的值为i时,表示每i个增量步进行一次remesh;
一个典型的ALE过程,在每5-100个增量步就需要一次remesh,对于拉格朗日问题,改参数默认值为10,若变形实在太大,可适当调高,以增加网格重画的强度,对于爆炸,碰撞等变形时间极短的问题求解,则在每一个增量步都需要一次remesh,这时Frequency的值需要设置得很小,比如设为1,当然,此时adaptiveremesh过程的强度很高,计算更加耗时。对于其他变形不是很剧烈的问题求解,该参数值可以适当调高。对于欧拉问题,默认值为1。
当该参数的值为n时,每一个remesh过程将对网格进行n次sweep,其实这个参数可以理解为对整个adaptiveremesh过程的每一个子过程(remesh过程)的强度进行控制。
那么,我们先来理解一下sweep的概念,每sweep一次,abaqus将利用我们设置好的算法(体积算法,拉普拉斯算法或等位算法)生成一套新的网格,但这个网格不一定是符合要求的,因此,需要在生成的新网格的基础上用同样的方式再进行sweep,就像我们求解方程时迭代的概念是一样的。就这样一直sweep下去直到sweep的次数达到meshsweeps参数的值,这样就完成了一个remesh过程中的新网格的生成。同样,meshsweeps参数的值越高,adaptiveremesh过程强度越高,网格优化的状况良好的机率也就越大。
也就是ALE过程开始之前对网格的一个优化,概念与meshsweeps类似,因为我们有可能利用已经变形的很厉害的网格进行分析,这时,在分析开始之前,就需要对网格进行重画。
最后总结下ALE的一个总过程,假定每5个增量步进行一次remesh,meshsweeps参数值为m,advectionsweeps的值为n,一个ALE具体过程可由下图表示:
ALE自适应网格技术不支持全积分单元,建议换网格类型试试;自适应起的作用不很大,网格变形过大的地方,需要你自己在一开始就划分很细的网格;可以試著調整mesh。sweeps参数,预设值是1,可以试着將值调大一些,或许会得到你想要的結果,這是我之前测试参数所得到的经验。ABAQUS/EXPLICIT 的 Adaptive meshing 维持相同mesh’s topology. 可以尝试增加 mesh sweep 的次数, 或者在initial mesh的时候大概考虑一下变形因素(目的是让变形后的mesh不畸型)。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删