基于ABAQUS的ALE技術
(本文為個人就前人之資料結合自身經驗之總結完善,不足之處與廣大同仁一起精進完善)
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方式下物質可以在網格之間傳遞.
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















