ALE方法详解及各选项卡参数意义与设置(ABAQUS/Explicit)
原文连接https://mp.weixin.qq.com/s/Xdkq6FZ9u1xsqZa3QZ6Gbw
为了方便理解,先整体介绍一下ALE网格自适应方法的基本过程,一个完整的ALE过程可以分为若干个网格remesh子过程,而每一次remesh的过程可以分为一下两步(生成的新网格成功与否则在于对这两步的控制):
-
生成一个新的网格(create a new mesh)利用各种算法以及控制策略生成一个良好的网格
-
环境变量的转换(advectionvariales)也就是将旧网格中的变量信息利用remapping技术转换到新网格中,也有不同算法,其中包括静变量(应力场,应变场等)的转换与动变量(速度场,加速度场等)的转换
首先来看整个adaptiveremesh过程控制,包括两个方面:一个是对adaptiveremesh过程的算法控制,另一个对adaptivemesh过程强度的控制
1.对adaptive remesh的算法控制
算法控制包括两部分算法控制,其一为网格算法控制,其二为变量转换算法控制。
1.1 网格重画算法控制:
在ABAQUS中是如何生成新网格的呢?
即使用网格扫掠技术(meshsweeptechnique),每sweep一次,生成一套新的网格。但是当你使用的算法不同时,sweep出来的网格也是不同的,打个不是很恰当的比方:用不同的工具做同一件东西,做出来的质量与精度会不一样,同样,用不同的算法来sweep网格,得到的网格质量也会不一样。
在ABAQUS显示模块中,sweep算法用英语来说就是meshsmoothing method,有三种算法来sweep网格,如下所示:
1)体积算法(volumesmoothing)
该算法十分健壮,为默认算法,再绝大多数情况下适用
2)拉普拉斯算法(laplaciansmoothing)
耗费资源最少的算法,能力一般,作用与体积算法类似(一阶算法,类似于求平均值),对于曲率比较高的曲线曲面边界时,效果不是很理想
3)等位算法(equipotentialsmoothing)
比较复杂的算法,是基于拉普拉斯算法的解之上的算法,对曲率较大的曲线曲面边界效果较好,在节点被非结构化网格包围时,次算法为推荐算法,若节点被结构化网格包围,其效果与体积算法类似。
三种算法可以结合适用,利用权重值来定义,需要记住的是,三种算法各占的权值加起来必须等于1。
1.2 变量转换算法控制:
在ABAQUS中是如何将旧网格中的环境变量转换到新网格中的呢?
即使用remapping技术,对于静变量(应力场,应变场,位移场等)的转换(advection),有两种算法即为一阶算法(firstorder)与(secondorder)算法,secondorder算法适用于所有问题,为推荐算法,一阶算法比较简单,占资源少,速度快;对于动变量(速度,加速度等)转换(momentumadvection),也有两种算法,elementcenter projection method与half-indexshift method,前者为推荐算法,选择前者就ok了,如果想仔细研究,查查ABAqus文档就可以了,里面写的很清楚。
对adaptiveremesh其他方面控制,主要包括以下几个参数设置:
- a. smoothing algorithm 参数设置:
选项:enhanced algorithm based on evolving element geometry
主要是在几何学的方面对我们定义的网格sweep算法(前面提到的三种算法)进行增强,目的是为了保证adaptiveremesh过程的健壮性,为推荐选项,选它就行了。
选项:conventionalsmoothing
利用我们定义好的算法进行计算,无几何增强。 - b. priority参数设置:
也就是指网格梯度控制(是否保持初始网格梯度,若需要保持初始网格梯度,则对网格的质量将会有影响)。
对于拉格朗日问题选择Improveaspect ratio,在计算过程中将考虑到网格单元高宽比的改善,不考虑对初始网格梯度的保持。
对于欧拉问题选择:Preserveinitial mesh grading,在计算过程中保证初始的网格梯度,但不会考虑到网格宽高比的改善。 - c. Meshing predictor参数设置
也就是网格节点位置控制(理想的网格节点位置控制,将会减少需要的网格sweeps次数,减少资源浪费)
对于拉格朗日问题选择Currentdeformed position,
对于欧拉问题选择Positionfrom previous adaptive mesh increment - d. Curvature refinement参数设置
也就是曲率较大的曲线曲面边界的网格密度控制,默认为1,该值越大,则圆角区的网格密度也就会越大,比较简单。 - e. initial feature angle
即初始检测角度的设置(0≤θI≤180),当两个相邻的面的法向量大于该角度值的时候,这两个相邻面形成的corner将被检测出来,在sweep时,网格不允许通过这个corner;小于的话就说明该corner足够圆滑,网格可以通过,当然,该corner应该是具有活性的,对corner活性的控制由下面一个参数(Transitionfeature angle)控制,否则也不会被考虑。 - f. Transition feature angle
控制被检测出的corner(0≤θT≤180)的活性的,如果被检测处的corner的两面法线夹角大于该值则该corner在ale过程中是会被考虑的,否则就不会考虑。 - g. Mesh constraint angle
控制分析过程的一个角度参数(5≤θC≤85),一般大于45度,设为默认值就可以,在分析过程中,当网格内某一个角度大于该参数值时,分析终止,文档有详细介绍。
2. 对adaptiveremesh过程强度控制
在ABAQUS中如何对adaptiveremesh过程的强度进行控制呢??这就涉及到一下几个参数。
2.1 Frequency控制(频率控制)
主要是对整个steptime中网格remesh的次数进行控制。Remesh次数n可以由n=Incrementnumber /Frequency来表达其意义,当frequency的值为i时,表示每i个增量步进行一次remesh;
一个典型的ALE过程,在每5-100个增量步就需要一次remesh,对于拉格朗日问题,改参数默认值为10,若变形实在太大,可适当调高,以增加网格重画的强度,对于爆炸,碰撞等变形时间极短的问题求解,则在每一个增量步都需要一次remesh,这时Frequency的值需要设置得很小,比如设为1,当然,此时adaptiveremesh过程的强度很高,计算更加耗时。对于其他变形不是很剧烈的问题求解,该参数值可以适当调高。对于欧拉问题,默认值为1。
2.2 MeshSweeps参数控制
当该参数的值为n时,每一个remesh过程将对网格进行n次sweep,其实这个参数可以理解为对整个adaptiveremesh过程的每一个子过程(remesh过程)的强度进行控制。
那么,我们先来理解一下sweep的概念,每sweep一次,abaqus将利用我们设置好的算法(体积算法,拉普拉斯算法或等位算法)生成一套新的网格,但这个网格不一定是符合要求的,因此,需要在生成的新网格的基础上用同样的方式再进行sweep,就像我们求解方程时迭代的概念是一样的。就这样一直sweep下去直到sweep的次数达到meshsweeps参数的值,这样就完成了一个remesh过程中的新网格的生成。同样,meshsweeps参数的值越高,adaptiveremesh过程强度越高,网格优化的状况良好的机率也就越大。
2.3 Initial remeshing sweeps参数设置
也就是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不畸型)。