基于ABAQUS的ALE技术



  (本文为个人就前人之资料结合自身经验之总结完善,不足之处与广大同仁一起精进完善)

        ALE全称为“任意的拉格朗日-欧拉自适应网格”(Arbitrary Lagrangian Eulerian adaptive meshing)。它不改变原有网格的拓扑结构(单元和节点的数目和连接关系不会变化),而是在单分析步的求解过程中逐步改善网格的质量。它主要用于ABAQUS/Explicit的大变形分析,以及ABAQUS/Standard中的声畴(acoustic domain)、冲蚀(ablation)和磨损问题。在ABAQUS/Standard的大变形分析中,尽管也要以设定ALE自适应网格,但不会起到明显的作用。

首先说说ALE的好处:当材料严重变形时,通过允许网格独立运动,保证高质量的网格;维持网格的拓扑形状,网格的总数不变;自适应可以只施加到模型中某部分。

显式求解器中ALE网格划分可以解决以下问题:拉格朗日问题和欧拉问题;在瞬态问题中用来作为连续介质;作为稳态问题的求解方法(比如挤压和轧制);适用于显式动力学和热—应力完全耦合过程。隐式求解器中ALE网格划分亦可解决拉格朗日问题、用来求解声学问题、适用于几何非线性静态分析等问题。

blob.png

(一个例子说明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。

blob.png


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过程强度越高,网格优化的状况良好的机率也就越大。

blob.png

Remeshing sweeps per increment的设置

(5)Initial remeshing sweeps

也就是ALE过程开始之前对网格的一个优化,概念与mesh sweeps类似,因为我们有可能利用已经变形的很厉害的网格进行分析,这时,在分析开始之前,就需要对网格进行重画。

blob.png

Initial remeshing sweeps的设置

二、过程控制

算法控制包括两部分;一为网格算法控制;其二为变量转换算法控制。

(1)Priority

也就是指网格梯度控制(是否保持初始网格梯度,若需要保持初始网格梯度,则对网格的质量将会有影响)。

※ Improve aspect ratio

在计算过程中将考虑到网格单元高宽比的改善,不考虑对初始网格梯度的保持。

  Preserve initial mesh grading

在计算过程中保证初始的网格梯度,但不会考虑到网格宽高比的改善。

blob.png

Priority的设置界面

(2)Smoothing algorithm

※ Use enhanced algorithm based on evolving element geometry

主要是在几何学的方面对我们定义的网格sweep算法(前面提到的三种算法)进行增强,目的是为了保证adaptive remesh过程的健壮性,为推荐选项,选它就行了

 conventional smoothing

利用我们定义好的算法进行计算,无几何增强。

blob.png

smoothing algorithm的界面控制

(3)Meshing Predictor

也就是网格节点位置控制(理想的网格节点位置控制,将会减少需要的网格sweeps次数,减少资源浪费)。

  Current deformed position

对于拉格朗日问题选择

  Position from previous adaptive mesh increment

对于欧拉问题选择

blob.png

Meshing predictor的界面控制

(4)Curvature refinement

也就是曲率较大的曲线曲面边界的网格密度控制,默认为1,该值越大,则圆角区的网格密度也就会越大,比较简单。

blob.png

Curvature refinement的界面控制

(5)Weights

在ABAQUS中是如何生成新网格的呢?即使用网格扫掠技术(mesh sweep technique),每sweep一次,生成一套新的网格。但是当你使用的算法不同时,sweep出来的网格也是不同的。

在ABAQUS显示模块中,sweep算法用英语来说就是mesh smoothing method,有三种算法来sweep网格,如下所示;

 体积算法(volume smoothing):该算法十分健壮,为默认算法,再绝大多数情况下适用

 拉普拉斯算法(laplacian smoothing):耗费资源最少的算法,能力一般,作用与体积算法类似(一阶算法,类似于求平均值),对于曲率比较高的曲线曲面边界时,效果不是很理想。

 等位算法(equipotential smoothing):比较复杂的算法,是基于拉普拉斯算法的解之上的算法,对曲率较大的曲线曲面边界效果较好,在节点被非结构化网格包围时,次算法为推荐算法,若节点被结构化网格包围,其效果与体积算法类似。

三种算法可以结合适用,利用权重值来定义,需要记住的是,三种算法各占的权值加起来必须等于1。

blob.png

 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度,设为默认值就可以,在分析过程中,当网格内某一个角度大于该参数值时,分析终止,文档有详细介绍。

blob.png

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。

blob.png

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具体过程可由下图表示:

blob.png

具体过程可由下图表示:

网格约束方面的控制


        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方式下物质可以在网格之间传递.



(11条)
默认 最新
总结的很好
评论 点赞 1
评论 点赞 1

查看更多评论 >

点赞 53 评论 11 收藏 52
关注