ALE全称为“任意的拉格朗日-欧拉自适应网格”(Arbitrary Lagrangian Eulerian adaptive meshing)。它不改变原有网格的拓扑结构(单元和节点的数目和连接关系不会变化),而是在单分析步的求解过程中逐步改善网格的质量。它主要用于ABAQUS/Explicit的大变形分析,以及ABAQUS/Standard中的声畴(acoustic domain)、冲蚀(ablation)和磨损问题。在ABAQUS/Standard的大变形分析中,尽管也要以设定ALE自适应网格,但不会起到明显的作用。
首先说说ALE的好处:当材料严重变形时,通过允许网格独立运动,保证高质量的网格;维持网格的拓扑形状,网格的总数不变;自适应可以只施加到模型中某部分。
显式求解器中ALE网格划分可以解决以下问题:拉格朗日问题和欧拉问题;在瞬态问题中用来作为连续介质;作为稳态问题的求解方法(比如挤压和轧制);适用于显式动力学和热—应力完全耦合过程。隐式求解器中ALE网格划分亦可解决拉格朗日问题、用来求解声学问题、适用于几何非线性静态分析等问题。
(一个例子说明ALE的霸道性能)
整体介绍一下ALE网格自适应方法的基本过程,一个完整的ALE过程可以分为若干个网格remesh子过程,而每一次remesh的过程可以分为两步:
Step1: 生成一个新的网格(create a new mesh),利用各种算法以及控制策略生成一个良好的网格,主要包括划分的频率和算法。 Step2: 环境变量的转换(advection variales),也就是将旧网格中的变量信息利用remapping技术转换到新网格中,也有不同算法,其中包括静变量(应力场,应变场等)的转换与动变量(速度场,加速度场等)的转换。
整个Step包括两个方面:一个是对adaptive remesh过程的算法控制,另一个对adaptive mesh过程强度的控制
adaptive remesh的算法控制 :包括两部分算法控制:其一为网格算法控制,其二为变量转换算法控制
那么在ABAQUS中是如何生成新网格的呢?
即使用网格扫掠技术(mesh sweep technique),每sweep一次,生成一套新的网格。但是当你使用的算法不同时,sweep出来的网格也是不同的,打个不是很恰当的比方:用不同的工具做同一件东西,做出来的质量与精度会不一样,同样,用不同的算法来sweep网格,得到的网格质量也会不一样。
软件设置上面,可认为是对网格划分区域的控制(ALE Adaptive Mesh Domain)和算法的控制(ALE Adaptive Mesh Controls)。
一、ALE区域的控制
1)几何区域选择(set)
※ No ALE adaptive mesh domain for this step
该分析步没有使用ALE技术。
※ Use the ALE adaptive mesh domain below
将以下区域定义为ALE区域。
2)ALE Adaptive Mesh Controls
自适应技术控制选项,后面介绍
3)Frequency
频率控制,主要是对整个step time中网格remesh的次数进行控制即就是每多少个增量步进行一次Remesh。Remesh次数n可以由n=Increment number /Frequency来表达其意义,当frequency的值为i时,表示每i个增量步进行一次remesh。
一个典型的ALE过程,在每5-100个增量步就需要一次remesh,对于拉格朗日问题,改参数默认值为10,若变形实在太大,可适当调高,以增加网格重画的强度,对于爆炸,碰撞等变形时间极短的问题求解,则在每一个增量步都需要一次remesh,这时Frequency的值需要设置得很小,比如设为1,当然,adaptive remesh过程的强度也很高,也会很废时。对于其他变形不是很剧烈的问题求解,该参数值可以适当调高。对于欧拉问题,默认值为1。
Frequency的设置
4)Remeshing sweeps per increment
即就是remesh强度设置(每次remesh用多少次sweep)。一个频率下的迭代次数,当该参数的值为n时,每一个remesh过程将对网格进行n次sweep,其实这个参数可以理解为对整个adaptive remesh过程的每一个子过程(remesh过程)的强度进行控制。
那么,我们先来理解一下sweep的概念,每sweep一次,abaqus将利用我们设置好的算法(体积算法,拉普拉斯算法或等位算法)生成一套新的网格,但这个网格不一定是符合要求的,因此,需要在生成的新网格的基础上用同样的方式再进行sweep,就像我们求解方程时迭代的概念是一样的。就这样一直sweep下去直到sweep的次数达到mesh sweeps参数的值,这样就完成了一个remesh过程中的新网格的生成。同样,mesh sweeps参数的值越高,adaptive remesh过程强度越高,网格优化的状况良好的机率也就越大。
Remeshing sweeps per increment的设置
5)Initial remeshing sweeps
也就是ALE过程开始之前对网格的一个优化,概念与mesh sweeps类似,因为我们有可能利用已经变形的很厉害的网格进行分析,这时,在分析开始之前,就需要对网格进行重画。
Initial remeshing sweeps的设置
二、过程控制
算法控制包括两部分;一为网格算法控制;其二为变量转换算法控制。
1)Priority
也就是指网格梯度控制(是否保持初始网格梯度,若需要保持初始网格梯度,则对网格的质量将会有影响)。
※ Improve aspect ratio
在计算过程中将考虑到网格单元高宽比的改善,不考虑对初始网格梯度的保持。
※ Preserve initial mesh grading
在计算过程中保证初始的网格梯度,但不会考虑到网格宽高比的改善。
Priority的设置界面
2)Smoothing algorithm
※ Use enhanced algorithm based on evolving element geometry
主要是在几何学的方面对我们定义的网格sweep算法(前面提到的三种算法)进行增强,目的是为了保证adaptive remesh过程的健壮性,为推荐选项,选它就行了
※ conventional smoothing
利用我们定义好的算法进行计算,无几何增强。
smoothing algorithm的界面控制
3)Meshing Predictor
也就是网格节点位置控制(理想的网格节点位置控制,将会减少需要的网格sweeps次数,减少资源浪费)。
※ Current deformed position
对于拉格朗日问题选择
※ Position from previous adaptive mesh increment
对于欧拉问题选择
Meshing predictor的界面控制
4)Curvature refinement
也就是曲率较大的曲线曲面边界的网格密度控制,默认为1,该值越大,则圆角区的网格密度也就会越大,比较简单。
Curvature refinement的界面控制
5)Weights
在ABAQUS中是如何生成新网格的呢?即使用网格扫掠技术(mesh sweep technique),每sweep一次,生成一套新的网格。但是当你使用的算法不同时,sweep出来的网格也是不同的。
在ABAQUS显示模块中,sweep算法用英语来说就是mesh smoothing method,有三种算法来sweep网格,如下所示;
※ 体积算法(volume smoothing):该算法十分健壮,为默认算法,再绝大多数情况下适用
※ 拉普拉斯算法(laplacian smoothing):耗费资源最少的算法,能力一般,作用与体积算法类似(一阶算法,类似于求平均值),对于曲率比较高的曲线曲面边界时,效果不是很理想。
※ 等位算法(equipotential smoothing):比较复杂的算法,是基于拉普拉斯算法的解之上的算法,对曲率较大的曲线曲面边界效果较好,在节点被非结构化网格包围时,次算法为推荐算法,若节点被结构化网格包围,其效果与体积算法类似。
三种算法可以结合适用,利用权重值来定义,需要记住的是,三种算法各占的权值加起来必须等于1。
Remesh网格重画的算法控制
6)Boundary Region Smoothing
边界区域平滑主要包括以下几个参数设置:
※ initial feature angle
即初始检测角度的设置(0≤θI≤180),当两个相邻的面的法向量大于该角度值的时候,这两个相邻面形成的corner将被检测出来,在sweep时,网格不允许通过这个corner。小于的话就说明,该corner足够圆滑,网格可以通过,当然,该corner应该是具有活性的,对corner活性的控制由下面一个参数(Transition feature angle)控制,否则也不会被考虑。
※Transition feature angle
控制被检测出的corner(0≤θT≤180)是活性的,如果被检测处的corner的两面法线夹角大于该值则该corner,在ale过程中是会被考虑的,否则就不会考虑。
※ Mesh constraint angle
控制分析过程的一个角度参数(5≤θC≤85),一般大于45度,设为默认值就可以,在分析过程中,当网格内某一个角度大于该参数值时,分析终止,文档有详细介绍。
Boundary Region Smoothing的设置
7)Advection
在ABAQUS中是如何将旧网格中的环境变量转换到新网格中的呢?
即使用remapping技术,对于静变量(应力场,应变场,位移场等)的转换(advection),有两种算法即为一阶算法(first order)与(second order)算法,second order算法适用于所有问题,为推荐算法,一阶算法比较简单,占资源少,速度快;对于动变量(速度,加速度等)转换(momentum advection),也有两种算法,element center projection method与half-index shift method,前者为推荐算法,选择前者就ok。
Advection的控制
附上关键字
Step module: Other- ALE Adaptive Mesh Domain- Edit: toggle on Use the ALE adaptive mesh domain below, Frequency: number of increments
*ADAPTIVE MESH, FREQUENCY=number of increments
**频率设置(每多少个增量步进行一次remesh)
Step module: Other- ALE Adaptive Mesh Domain- Edit: toggle on Use the ALE adaptive mesh domain below, Remeshing sweeps per increment: number of sweeps
*ADAPTIVE MESH, MESH SWEEPS=number of sweeps
**remesh强度设置(每次remesh用多少次sweep)
Step module: Other -ALE Adaptive Mesh Domain- Edit: toggle on Use the ALE adaptive mesh domain below, Initial remeshing sweeps: Value: number of initial sweeps
*ADAPTIVEMESH, INITIAL MESH SWEEPS=number of initial sweeps`
**初始sweep次数(用于分析之前对网格优化)
Step module: Other -ALE Adaptive Mesh Controls- Create: Name: name
Volumetric: volume smoothing weight, Laplacian: Laplacian smoothing weight, Equipotential: equipotential smoothing weight
*ADAPTIVE MESH CONTROLS, NAME=name
volume smoothing weight, Laplacian smoothing weight, equipotential smoothing weight example:
*ADAPTIVE MESH CONTROLS, NAME=name
0.5,0.0,0.5
**算法设置(设置三种sweep算法所占权重)
Step module: Other- ALE Adaptive Mesh Controls -Create: Name: name, toggle off Use enhanced algorithm based on evolving element geometry
*ADAPTIVE MESH CONTROLS, NAME=name, GEOMETRIC ENHANCEMENT=NO
**几何增强设置(使得sweep算法更具健壮性,更好用,更牛逼)
Step module: Other- ALE Adaptive Mesh Controls -Create: Name: name,Priority: Improve aspect ratio
*ADAPTIVE MESH CONTROLS, NAME=name, SMOOTHING OBJECTIVE=UNIFORM:
**网格梯度设置(改善网格宽高比,不能保证初始网格梯度)
Step module: Other- ALE Adaptive Mesh Controls- Create: Name: name, Priority: Preserve initial mesh grading *ADAPTIVE MESH CONTROLS, NAME=name, SMOOTHING OBJECTIVE=GRADED
**网格梯度设置(不保证改善网格宽高比,保留初始网格梯度)
Step module: Other- ALE Adaptive Mesh Controls -Create: Name: name, Meshing predictor: Current deformed position*ADAPTIVE MESH CONTROLS, NAME=name, MESHING PREDICTOR=CURRENT
**节点位置设置(使用当前节点来进行sweep迭代)
Step module: Other- ALE Adaptive Mesh Controls -Create: Name: name, Meshing predictor: Position from previous adaptive mesh increment
*ADAPTIVE MESH CONTROLS, NAME=name, MESHING PREDICTOR=PREVIOUS
**节点位置设置(使用上一次remesh形成的网格节点位置来进行sweep迭代)
Step module: Other- ALE Adaptive Mesh Controls -Create: Name: name, Curvature refinement:
*ADAPTIVE MESH CONTROLS, NAME=name, CURVATURE REFINEMENT=X*W- t,
**高曲率边界网格密度设置
Step module: Other -ALE Adaptive Mesh Controls -Create: Name: name, toggle on Second order
*ADAPTIVE MESH CONTROLS, NAME=name, ADVECTION=SECOND ORDER
**静变量转换算法设置
Step module: Other- ALE Adaptive Mesh Controls- Create: Name: name, Momentum advection: Element center projection
*ADAPTIVE MESH CONTROLS, NAME=name, MOMENTUM ADVECTION=ELEMENT CENTER PROJECTION)
**动变量转换算法设置
Step module: Other- ALE Adaptive Mesh Controls -Create: Name: name, Momentum advection: Half-index shift
*ADAPTIVE MESH CONTROLS, NAME=name, MOMENTUM ADVECTION=HALF INDEX SHIFT
**动变量转换算法设置
Step module: Other- ALE Adaptive Mesh Controls -Create: Name: name, Initial feature angle:
*ADAPTIVE MESH CONTROLS, NAME=name, INITIAL FEATURE ANGLE=a
**初始几何特征检测角度
Step module: Other- ALE Adaptive Mesh Controls -Create: Name: name, Transition feature angle:
*ADAPTIVE MESH CONTROLS, NAME=name, TRANSITION FEATURE ANGLE=b
**几何特征激活角度
Step module: Other- ALE Adaptive Mesh Controls -Create: Mesh constraint angle:
*ADAPTIVE MESH CONTROLS, MESH CONSTRAINT ANGLE=c
**分析控制角度
三、ALE adaptive mesh constraint网格约束方面的控制 (该部分正在整理完善,待补充)
最后总结下
最后总结下ALE的一个总过程,假定每5个增量步进行一次remesh,mesh sweeps参数值为m,advectionsweeps的值为n,一个ALE具体过程可由下图表示:
具体过程可由下图表示:
网格约束方面的控制
ALE自适应网格技术不支持全积分单元,建议换网格类型试试;自适应起的作用不很大,网格变形过大的地方,需要你自己在一开始就划分很细的网格;可以試著調整mesh。sweeps參數,預設值是1,可以試著將值調大一些,或許會得到你想要的結果,這是我之前測試參數所得到的經驗。ABAQUS/EXPLICIT 的 Adaptive meshing 维持相同mesh's topology. 可以尝试增加 mesh sweep 的次数, 或者在initial mesh的时候大概考虑一下变形因素(目的是让变形后的mesh不畸型)。
涉及到大变行问题往往要对单元的算法做些特殊处理,显示动力学求解器LS_DYNA采用一种ALE方法能够减轻大变形分析时网格畸变所带来的不利影响,当然若要很好的理解什么是ALE方法,我们可以查找LS_DYNA论坛中的有关论述.值得注意的是似乎LS_DYNA中的Adaptive mesh并不同于Abaqus中的Adaptive mesh,LS_DYNA中的Abaptive mesh是用来对变形剧烈区域网格细化的,通过这种方法网格的数量会增多,而其中的ALE方法则是用来减轻网格畸变的,网格数目并不会增多.Abaqus中的Adaptive mesh有点类似LS_DYNA中的ALE方法,但好像又不完全相同,Abaqus中的Adaptive mesh基于Lagrange 和Euler两种方式,Lagrange下网格之间的物质不会通过单元格之间而流动,而Euler方式下物质可以在网格之间传递.
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删