python元胞自動機模擬交通_結構專欄 | 解析DEFORM軟件中的元胞自動機法

ac4874cb135634860edd5b522cefeb3a.png

點擊上方藍色字體,關注我們

導語

金屬材料的性能取決于內部的微觀組織結構,而好的材料性能和價格是產品最大的優勢。隨著現代物理冶金、熱成形技術、熱處理技術和計算機技術的興起與發展,使預測和控制金屬材料熱加工過程中的組織演變成為可能。

金屬材料的熱加工過程中,主要是晶粒的再結晶和晶粒長大現象決定了微觀組織晶粒大小和均勻性,20世紀70年代開始,各國學者對于金屬材料微觀組織演變過程主要集中在兩類數學模型上,唯象理論模型和位錯模型。

■ 唯象理論模型

大多數學者采用唯象理論模型是經典的Johnson-Mehl-Avrami-Kalmogorav(JMAK)方程來描述動態再結晶和靜態再結晶動力學關系,使用JAMK方程需要考慮金屬變形過程中的溫度、應力、應變、流場等變量與再結晶體積分數的函數關系,在實際應用中,模擬計算的結果與實驗測得數據取得了較好的吻合,得到了國內外研究者的廣泛認可。

■?位錯模型

位錯模型是基于金屬在塑性變形過程中,持續應變導致位錯密度變化引起的微觀演變,通過計算臨界條件、晶界遷移速度,建立再結晶體積分數變化率與位錯密度分布函數關系的數學模型。

計算機對材料行為的模擬研究與發展主要集中在三個方面:微觀行為、介觀行為和宏觀行為。

■ 微觀行為是從電子、原子尺度上的材料行為,主要應用于分子動力學和分子力學方面。

■?介觀行為是指材料顯微組織結構的轉變,如金屬的凝固結晶、再結晶和相變等過程,介觀組織模擬的模型主要有幾何模型、頂點模型、元胞自動機模型(Cellular Automata,簡稱CA)、蒙特卡洛模型(Monte Carlo,簡稱MC)。

■?宏觀行為主要是材料加工方面,主要是材料變形和熱處理過程中的應力、應變、溫度場等。

元胞自動機法最早提出用于模擬生命系統所具有的自我復制功能,其數學模型是時間、空間、狀態都離散,空間相互作用和時間因果關系為局部的網格動力學模型,能夠模擬復雜系統時空演化過程,廣泛應用于數學、物理學、生物學、化學、地理學和經濟學等各個學科的非線性現象和分形結構的研究。

Hesselbarth和Gobel最早將元胞自動機法應用到再結晶方面,他們的模型研究了再結晶形核和晶核長大的動力學以及其不同的參數和算法對再結晶行為的影響,結果成功地描述了已被公認的再結晶動力學理論JMAK方程。隨著國內外大量研究人員進一步發展完善模型,將元胞自動機法應用于不同金屬材料再結晶過程,與實驗測試得到的再結晶結果吻合。

DEFORM軟件以模擬金屬變形和熱處理過程為主要目的,在不斷深入研究發展中,加入了金屬微觀組織演變模擬,能夠從宏觀和介觀兩個尺度下模擬金屬材料變形行為和組織演變過程,不但具有經典的JMAK法用于金屬再結晶模擬,而且包含了當前流行的元胞自動機法和蒙特卡洛法,能夠直觀的分析觀察晶粒演變過程。

DEFORM中的CA法介紹

目前CA法在再結晶模擬方面的大部分研究與應用,都是針對具體的材料和特定變形條件下,研究人員通過Fortran、MATLAB等編譯軟件編程定義轉變規則和圖形可視化,無法直接輸入實際復雜的工藝加工過程,適用普遍性不強,難以推廣。

DEFORM軟件做為成熟的商業化軟件,使用向導式界面設置界面,流程化操作,簡單易用,元胞中的轉化規則采用位錯模擬模型,與軟件中的JMAK方法可形成對照,互相印證,模擬結果可靠。

bd8cf715ea85f9d6d0e52c036f734da6.png

▲ CA模型設置界面

工件研究位置的選擇

元胞自動機晶粒組織演變模擬都是在介觀尺度下的,不可能同時對一個實際工件的所有位置模擬計算,否則計算工作量太大無法實現,因此首先需要確認的是分析哪個位置點。在實際金屬加工工藝當中,金屬的各個部位變形差異大, DEFORM軟件能夠在宏觀模擬計算中得到金屬在變形和熱處理過程中各個部位的應力、應變、溫度、流場等場變量,對比分析宏觀場變量差異性,選擇差異較大的位置點作為分析點,可減少重復的計算量。

元胞生成

DEFORM軟件中直接定義元胞晶格橫向和縱向數目即可自動生成。晶粒再結晶模擬中,小的元胞晶格數目50×50、大的500×500,甚至更多,滿足了各類金屬不同大小晶粒尺寸分布的需求。另外還需要用戶從計算機硬件配置和計算時間上考慮來設置初始元胞的數目。

初始元胞形態

再結晶模擬的初始元胞形態是初始晶粒的大小和分布,DEFORM軟件為更加符合實際工藝進行模擬,可通過EBSD掃描電子顯微鏡看到的晶粒分布結果直接輸入到軟件中使用。如果不方便讀取導入,還可通過初始晶粒尺寸的平均值和標準變差,自動生成晶粒初始分布。

元胞變化規則

根據位錯模擬模型理論,材料在變形和熱處理過程中,變形導致加工硬化產生位錯,回復再結晶位錯消失。DEFORM軟件中的CA法包括了位錯數學模型、再結晶類型、形核條件、晶粒長大等四個元胞變化規則,全面還原了晶粒的再結晶與長大過程

■?位錯數學模型。DEFORM使用的是Laasraoui-Jonas硬化和恢復模型的改進版本,其中回復發生的單元是隨機的,這導致了不均勻的位錯分布,有利于再結晶的開始。計算過程考慮了金屬變形過程中的應變、應變速率、溫度等場變量,直接從宏觀模擬計算結果中提取,對于復雜的成形和熱處理工藝更易使用。數學模型如下所示:

f8524a80d12c48f8c5468f24e0860ed0.png

▲ 式中,m為硬化敏感系數,Q誒激活能,h0硬化常數、r0回復常數、為應變速率修正系數,K為用戶指定。對于鋁合金、鎳基合金、鋼等,DEFORM軟件提供這些材料在上述方程中的參考值,以及退火后金屬材料中的初始位錯密度大小,用戶也可任意輸入其它材料的系數值。

■?再結晶現象。在成形和熱處理過程中,常見的有不連續動態再結晶、亞動態再結晶、靜態再結晶等現象,用戶可直接選擇,對于其它如連續動態再結晶、幾何動態再結晶、粒子激發形核等現象,也在開發當中。

■?形核條件。目前提供的形核條件有局部能量飽和、位錯密度閾值、位錯密度閾值加概率、位錯密度閾值加能量飽和等多種方法,選擇后還可詳細進一步定義。

■?晶粒長大。形核后,晶粒長大主要是晶界的遷移過程,遷移速率可設置為常數、位錯角的函數、或溫度的函數等。

如果用戶需要使用新的元胞轉變規則模擬微觀組織變化,允許自定義二次開發,在DEFORM軟件界面下,綜合考慮變形和熱處理過程中的宏觀場變量,模擬晶粒的演化過程。

元胞自動機設置定義完成后直接點擊計算即可。模擬結果展示了整個加工工藝過程中當前位置點的晶粒、晶界、位錯密度的分布,以及晶粒大小、晶界角、結晶形狀長寬比的統計圖。

0e16f8bbd746afc1210fe5d3de71de94.png

DEFORM中的CA法應用

下圖所示為鋁合金棒料的反向擠壓成形案例,棒料擠壓成形后,外緣紅色區域出現了粗大晶粒缺陷,通過DEFORM軟件模擬其成形和微觀組織演變過程,提前預測到缺陷,并分析粗大晶粒的產生的原因,后續可通過修改擠壓速度、金屬溫度等工藝參數優化工藝。

2496bfd0d07f537fb5867918648b02d0.png

使用CA法模擬計算得到結果如下所示

擠壓開始后發生動態再結晶,平均晶粒尺寸由于再結晶現象發生不斷變小,但擠壓完成后,從棒料外緣區域開始晶粒長大,出現了粗大晶粒。隨著前端棒料溫度的緩慢冷卻,晶粒不斷長大,擠壓完成后將會產生更多的粗大晶粒。

5c383aff7e9db6ea93a746b85c1a30a7.png

▲ 未擠壓區域平均晶粒尺寸約23.4μm

a74f55c65f7d8966eec5c38b37c1af18.png

▲?擠壓前端開始再結晶時平均晶粒尺寸5.2 μm

7778854387782624aa5dcfa2dc574835.png

▲?再結晶完成時平均晶粒尺寸4.9 μm

18c46d89f43832b7e6c47ea18c468143.png

▲?晶粒長大后平均晶粒尺寸20 μm

使用DEFORM軟件的JAMK模擬得到的結果如下

對比分析擠壓階段各個區域的平均晶粒尺寸分布和大小,結果一致。

8a6e281a06d038a1b9391e87870efdb9.png

▲?JMAK法模擬結果

實際試生產后的,對棒料成形階段的各個斷面觀察,如下圖所示,金屬材料剛擠出型腔時無粗大晶粒,之后從邊緣位置開始晶粒長大產生粗大晶粒,遠離型腔端面后,由表面向里晶粒不斷長大,最終只有芯部保持了細小的晶粒。擠壓完成后的粗大晶粒占到了總體積的70%以上,與模擬結果一致。

9c8e0c5c454a179224c82f55ba764abb.png

結束語

DEFORM軟件中CA元胞自動機法能夠結合宏觀模擬計算結果,應用的位錯理論模型適用大部分金屬類型,是一種直觀的可靠的金屬再結晶演變過程的模擬工具。

1796ab572dad1d0988c892f229fb7254.png

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/446192.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/446192.shtml
英文地址,請注明出處:http://en.pswp.cn/news/446192.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java 遞歸

概念 代碼 package lesson.l11_oop2;/*** Illustration** author DengQing* version 1.0* datetime 2022/7/2 21:42* function 遞歸:求n個數的和、乘積*/ public class Recursion {public static void main(String[] args) {Recursion recursion new Recursion();S…

密碼學專題 非對稱加密算法指令概述 DH算法指令

DH概述 用于密鑰交換的公開算法,廣泛應用于各種安全協議SSL協議同樣支持DH算法DH算法使用之前需要預先共享兩個參數,本原元g和模n,這兩個參數影響到算法的安全性,因此需要預先生成并檢測其安全性生成這些必要參數和管理這些參數的…

java 封裝和隱藏 權限修飾符

概念 問題的引入 封裝性的體現 權限修飾符 案例 package lesson.l11_oop2;/*** Illustration** author DengQing* version 1.0* datetime 2022/7/3 15:28* function*/ public class Person {private int age;public void setAge(int age) { /* if (age<0||age>…

if __name__ == __main___python中 __name__ == #x27;__main__#x27; 有什么作用?

python中if __name__ ‘__main__’ 的作用&#xff0c;到底干嘛的&#xff1f;有句話經典的概括了這段代碼的意義&#xff1a;“Make a script both importable and executable”就是讓你寫的腳本模塊既可以導入到別的模塊中用&#xff0c;另外該模塊自己也可執行。這句話&…

密碼學專題 非對稱加密算法指令概述 DSA算法指令

DSA算法和DSA指令概述 DSA算法是美國國家標準的數字簽名算法&#xff0c;只具備數字簽名的功能不具備密鑰交換的功能生成DSA參數然后生成DSA密鑰&#xff0c;DSA參數決定了DSA密鑰的長度三個指令首先是dsaparam指令&#xff0c;該指令主要用來生成DSA密鑰參數&#xff0c;并提…

每天定時打開某個網頁_Python科普帖定時通知

0 復習上一關我們學習了selenium&#xff0c;它有可視模式與靜默模式這兩種瀏覽器的設置方法&#xff0c;二者各有優勢。然后學習了使用.get(URL)獲取數據&#xff0c;以及解析與提取數據的方法。在這個過程中&#xff0c;我們操作對象的轉換過程&#xff1a;除了上面的方法&am…

java 構造器

概念 案例1 package lesson.l11_oop2;/*** Illustration** author DengQing* version 1.0* datetime 2022/7/3 15:28* function*/ public class Person {private int age;private String name;public Person() {this.age 18;}public Person(int age, String name) {this.age …

密碼學專題 信息摘要和數字簽名指令

信息摘要 區別于對稱加密和非對稱加密&#xff0c;信息摘要算數是一種不可逆的操作&#xff0c;無論輸入數據的大小輸出的數據長度是固定的信息摘要算數對輸入很敏感&#xff0c;即使數據變化很細微&#xff0c;輸出的結果會出現很大的差異從不同輸入得到相同的輸出的概率非常…

dataframe 篩選_Spark.DataFrame與Spark.ML簡介

本文是PySpark銷量預測系列第一篇&#xff0c;后面會陸續通過實戰案例詳細介紹PySpark銷量預測流程&#xff0c;包含特征工程、特征篩選、超參搜索、預測算法。在零售銷量預測領域&#xff0c;銷售小票數據動輒上千萬條&#xff0c;這個量級在單機版上進行數據分析/挖掘是非常困…

密碼學專題 證書和CA指令 證書和CA功能概述

為什么需要證書 實現了公鑰和私鑰的相互驗證&#xff0c;但是任何人都可以生成很多的密鑰對&#xff0c;密鑰對并沒有關聯實體身份&#xff0c;因此誕生可數字證書前提是CA是所有用戶都信任的用戶需要將自己的信息和公鑰交給CA進行認證生成一個屬于自己并被其與用戶認可的數字…

python怎么接外活_java和Python兩門語言,哪個適合接活單干?

謝邀。 根據知乎規矩&#xff1a;不說需求就挑語言的行為就是耍流氓。 如果接的活傾向于OA系統、管理系統之類的&#xff0c;建議是java&#xff0c;畢竟框架模板都很成熟&#xff0c;也比較好找&#xff0c;快速開發什么的在晚上搜一下&#xff0c;改改樣式就可以了。這些項目…

密碼學專題 證書和CA指令 申請證書|建立CA|CA操作|使用證書|驗證證書

Req指令介紹 功能概述和指令格式 req指令一般來說應該是提供給證書申請用戶的工具&#xff0c;用來生成證書請求以便交給CA驗證和簽發證書。但是&#xff0c;OpenSSL的req指令的功能遠比這樣的要求強大得多&#xff0c;它不僅可以生成RSA密鑰、DSA密鑰&#xff0c;以及將它們…

python語言編寫一個生成九宮格圖片的代碼_python實現圖片九宮格分割

大家都知道在微信朋友圈或者微博以及QQ動態中&#xff0c;有很多“強迫癥患者”發圖片都愛發9張&#xff0c;而有些圖是一張圖片分成的九宮圖&#xff0c;對于這種操作&#xff0c;大家知道是怎么做到的嗎&#xff1f; 本文就是用Python做的一個九宮格圖片生成器&#xff0c;是…

密碼學專題 OpenSSL標準轉換指令

概述 繁多復雜的各種文件編碼格式、證書格式和密鑰格式等。事實上&#xff0c;并非OpenSSL開發者想要將數字世界弄得如此令人頭疼&#xff0c;只是由于各種原因&#xff0c;數字世界存在各種不同的標準&#xff0c;為了盡量兼容這些不同的標準&#xff0c;OpenSSL開發者才相應…

java pakage、import關鍵字

package介紹 常用的包 import 案例

python數組初始化_Python Numpy 數組的初始化和基本操作

Python 是一種高級的&#xff0c;動態的&#xff0c;多泛型的編程語言。Python代碼很多時候看起來就像是偽代碼一樣&#xff0c;因此你可以使用很少的幾行可讀性很高的代碼來實現一個非常強大的想法。 一.基礎&#xff1a; Numpy的主要數據類型是ndarray&#xff0c;即多維數組…

密碼學專題 OpenSSL中SSL相關指令

再談SSL和OpenSSL 由于SSL協議已經是密碼學和PKI技術中非常具體的一個應用協議&#xff0c;為了實現它&#xff0c;OpenSSL在密碼學基礎應用和PKI技術的基礎實現上做了大量的工作&#xff0c;才逐漸形成和奠定了OpenSSL在密碼學應用和PKI技術開發中的重要基礎軟件包地位。Open…

python企業發放的獎金_你公司的年終獎發了嗎?

沒發, 被裁了. 跨境電商行業, 2017.7 入職,2018.11.19 下午接到裁員通知.. 人事找我聊了下,叫我一個星期之內走,補償1個月工資.... 我想想有點不對勁.. 于是我百度了下,5分鐘之后,提出了我的方案: 1、按照勞動法應該補償1.5個月,并且提前1月通知 2、補償2.5個月. 我立馬走. 最后…