作者序
儘管 Abaqus 本身即擁有龐大的材料資料庫,但隨著各種材料的發展與精進,背後所 牽涉到的材料模型趨於複雜;同時使用者對於更精微、細緻的材料行為研究需求日益增 加,Abaqus 既有的資料庫可能不足以充分描述材料的各種反應。有鑑於此,Abaqus 提供 一個讓使用者開發副程式的介面,透過 UMAT(User-defined Material)此一副程式,使 用者可自行定義材料的各種行為,再結合 Abaqus 本身強大的分析能力,俾利使用者探討 各種物理問題。 然而,目前國內、外並無一套完整的書籍教導 Abaqus 使用者如何使用 UMAT 進行開 發,更遑論實作程式開發背後所牽涉到的數值積分與迭代推導流程。本書的目的即在於 提供有志於進行材料行為模擬的研發人員、工程師或學生一個完整的參考手冊,說明如 何搭配對應的理論架構正確地使用 UMAT 開發對應的程式,並提供案例解析以利快速上 手。除了可供工程師實務應用之外,同時也可以作為材料科學、固體力學與生物醫學相 關科系學生的材料模型實作教材。 對 於 UMAT 的 初 學 者, 建 議 從 第 1、3 章 開 始 閱 讀, 我 們 在 這 兩 章 會 一 步 步 帶 領 讀者從安裝、如何使用到實際做出彈性案例。此外,本書撰寫 UMAT 所使用的語言是 Fortran,因此對 Fortran 不熟悉的讀者,可以參照第 2 章 Fortran 語法簡介。倘若讀者需要 了解非線性材料,我們建議從第 4 章開始閱讀,其中第 4 章介紹了基本的塑性理論基礎、 非線性求解方法與迭代積分流程。第 5 章黏塑性材料與第 4 章在積分方法上相同、在理論 上非常相似,因此有第 4 章的基礎後,再閱讀第 5 章將會非常容易理解與上手。第 6 章為 晶體塑性模型,其中牽扯到了大變形與金屬材料微觀行為,算是比較進階的章節,對於 金屬微觀力學模型有興趣的讀者可以挑戰。我們相信讀者閱讀完這本書後,即具備基本 能力自行撰寫一個非線性材料的 UMAT,同時我們也希望能夠帶給讀者對於材料組成律 基本理論與計算有更深刻的了解與體悟。 本書所使用程式碼可經由此連結下載:https://github.com/CMMAi/ABAQUS_UMAT。
iii
目 次 作者序
iii
第 1 章 Abaqus UMAT 簡介與環境設定
1
1.1 Abaqus 與 UMAT
1
1.2 UMAT 在 Abaqus/Standard 中的角色
3
1.3 環境設定
6
1.4 呼叫 UMAT
42
1.5 小結
43
第 2 章 Fortran 語法簡介
45
2.1 Fortran 概述
45
2.2 寫作格式
46
2.3 程式架構
48
2.4 宣告
51
2.5 輸入與輸出
60
2.6 數學運算
63
2.7 邏輯運算
65
2.8 流程控制
66
2.9 迴圈
68
2.10 矩陣的運算與使用範例
69
2.11 小結
82
第 3 章 UMAT 程式介面與彈性材料模型
85
3.1 概述
85
3.2 程式介面
88
3.3 程式參數
89 v
vi
3.4 Abaqus 工具副程式
96
3.5 線彈性材料
101
3.6 線彈性材料模型的 UMAT
104
3.7 測試範例
106
3.8 小結
118
第 4 章 塑性材料模型
123
4.1 塑性材料
123
4.2 降伏準則 — 判定材料何時產生塑性
125
4.3 塑性流法則
126
4.4 應變硬化
127
4.5 組成律推導
129
4.6 積分流程
131
4.7 等向硬化塑性材料模型的 UMAT
137
4.8 測試範例
149
4.9 小結
159
第 5 章 黏塑性材料模型
163
5.1 黏塑性材料
163
5.2 黏塑性材料組成律
163
5.3 積分流程
165
5.4 黏塑性材料的 UMAT
168
5.5 測試範例
176
5.6 小結
195
第 6 章 晶體塑性材料模型
199
6.1 晶體塑性材料
199
6.2 晶體塑性材料組成律
201
6.3 增量式與積分
207
6.4 晶體塑性材料模型的 UMAT
212
6.5 測試範例
214
6.6 小結
231
結 語
233
附錄 A Abaqus 2018 相關環境設定
235
附錄 B 晶體塑性材料模型之 UMAT 程式碼
267
附錄 C MATLAB 工具箱—Linecut 與 MTEX
349
附錄 D 以 Dream.3D 建置三維多晶模型
361
附錄 E Fortran 及 Abaqus 常用指令表
367
參考資料
369
中英文名詞對照及索引
371
vii
本章將引薦 Abaqus 的使用者自定義材料副程式—UMAT 給讀者。我們除了介紹 UMAT 在 Abaqus 中的定位以外,也提供了使用 UMAT 所需的環境、編譯器安裝 流程說明,以及如何在 Abaqus 中使用 UMAT。
Chapter
1
Abaqus UMAT 簡介與環境 設定
1.1 Abaqus 與 UMAT 1
Abaqus 是一套商業通用型的有限元素分析 軟體,早於 1978 年便由美國德州大學奧 斯汀分校(The University of Texas at Austin)的 David Hibbitt 博士等人開發出最初的原 2
型,並成立 HKS 公司 維護與販售。2005 年起 Abaqus 隨著母公司 Abaqus Inc. 被賣給法國 3
軟體商達梭系統(Dassault Systèmes) ,達梭系統整合旗下原有電腦輔助分析與設計 Catia 與新購的 Abaqus 等軟體,成立了 SIMULIA 公司,專門負責仿真軟體開發,整合各種有 助於產品功能提升、減少原型製作的各種商業軟體。至此,Abaqus 就成為 SIMULIA 主 要商品之一,不斷地改版、提升在各種不同領域的相關功能。 Abaqus 本身之所以能在眾多有限元素軟體中脫穎而出有幾項主因,其一是具備強大 的分析功能。目前 Abaqus 有五大核心模組,分別為: 1 有限元素分析的英文全名為 Finite Element Analysis(FEA),是一種基於連續性假設的知名數值方 法,常被用於結構力學、熱力學、流體力學、電磁場的分析上。 ® ® 2 HKS 公 司 的 英 文 全 名 為 Hibbitt, Karlsson & Sorensen, Inc. , 是 由 美 國 的 David Hibbitt、Paul ®
Sorensen 博士、與瑞典的 Bengt Karlsson 博士等三人專為維護與販售 Abaqus 所成立的商業軟體公 司,後來更名為 Abaqus Inc.。 3 法商達梭系統最早可追溯到 1977 年由 15 位軟體工程師所開發的電腦輔助設計軟體 CATIA,之後於 1981 年成立公司,並於 1990 年代開始將觸角自 CAD 拓展至產品生命周期管理 PLM 上。 1
實現自己的材料庫—Abaqus UMAT 於計算力學之應用
• Abaqus/CAE(Complete Abaqus Environment):主要提供使用者建模與視覺化呈現分 析結果。 • Abaqus/Standard:泛用型有限元素分析引擎,採用隱式積分(implicit integration)求 解。 • Abaqus/Explicit:為特殊型之有限元素分析引擎,採用顯式積分(explicit integration) 來求解高度非線性與複雜接觸之動力問題。 • Abaqus/CFD:基於計算流體動力學(Computational Fluid Dynamics)的流體分析引 擎。 • Abaqus/Electromagnetic:計算電磁耦合問題的分析引擎。 因 此 可 進 行 多 重 物 理 耦 合 分 析, 諸 如: 結 構 — 聲 學 耦 合 模 擬(structural-acoustic simulation)、熱—電學模擬(thermal-electric simulation)、熱—力學耦合模擬(thermalmechanical simulation)、熱—流—力學耦合模擬(thermal-fluid-mechanical simulation) 等等,對於實際複雜科學 / 工程情境的描繪相當有助益。 4
此外,Abaqus 有龐大的元素與材料庫,且可利用程式語言 Python 的指令稿(script) 自 訂 分 析 程 序。 更 為 重 要 的 是:Abaqus 能 讓 使 用 者 以 程 式 語 言 Fortran 或 C 來 撰 寫 自 己 的 副 程 式 —Abaqus user subroutines— 來 擴 充 其 功 能, 例 如 介 面 摩 擦 FRIC/VFRIC 與 VFRICTION、自訂元素 UEL……等共計三十餘種,而 UMAT 便是其中最常見的使用者 自定義材料副程式,可直接為 Abaqus/Standard 所使用(另一種相對應的則是顯式求解器 5
Abaqus/Explicit 所使用的自定義材料副程式 VUMAT) 。本書後續章節即針對 UMAT 進行 系統性的解說,內容涵蓋環境設定、基本程式語法、常見材料模型理論與與實作等。
4 Python 是一種高階通用型程式語言,其程式碼易讀易學、具備豐富的標準函式庫與擴充性,可在 大部分的作業系統中執行。 5 本書介紹的 UMAT 與 VUMAT 僅能應用在 Abaqus 固體材料方面,並不適用於多重物理耦合中的流 體、電磁學等方面。 2
第 1 章 Abaqus UMAT 簡介與環境設定
1.2 UMAT 在 Abaqus/Standard 中的角色 當 Abaqus/Standard 內建的材料組成律(constitutive law)並不足以描述所欲分析的 材料時,使用者就可以透過撰寫 UMAT 來自訂所需的材料性質。Abaqus/Standard 的分 6
析流程與常用使用者副程式的作用時機如圖 1-1 所示 ,其中在計算完應變增量 Δε 後,使 用者自定義材料副程式 UMAT 被用於計算對應應力全量 σ。由此可見,UMAT 的角色便 是建構元素應變 ε 與應力 σ 間的材料組成律。由於使用者撰寫的 UMAT 是在材料層級生 效,由圖 1-1 可明瞭其與所使用的元素類型(element type)並無關係,也就是說可以將 同一種 UMAT 同時套用在各種不同類型的有限元素上,且多個不同的 UMAT 也不會互相 干擾。 Abaqus/Standard(為方便計,以下直接簡稱 Abaqus)納入使用者副程式的步驟為: • 由 Abaqus 主 動 呼 叫 C/Fortran 的 程 式 語 言 編 譯 器(Programming language compiler) 來將程式碼轉為二進位檔,即所謂的目標檔—object file。 • 由 Abaqus 主動呼叫程式語言連結器(Programming language linker)將前一步驟的 目標檔與標準函式庫、Abaqus 函式庫串接為單一的副程式函式庫。 • Abaqus 主程式與前一步驟的副程式函式庫聯合進行分析。
6 該圖是由 Abaqus 課程講義「Writing User Subroutines with ABAQUS」整理改繪而成。Abaqus 會定 期舉辦教育訓練課程,有興趣的讀者可以到官方網址 https://www.3ds.com/products-services/simulia/ services/training-courses/ 取得更多資訊。 3
實現自己的材料庫—Abaqus UMAT 於計算力學之應用
圖 1-1 各類使用者副程式在 Abaqus/Standard 分析流程中的作用時機
4
第 1 章 Abaqus UMAT 簡介與環境設定
由 上 述 步 驟 可 以 發 現 我 們 需 要 三 種 軟 體: 程 式 語 言 編 譯 器、 程 式 語 言 連 結 器 與 Abaqus 函式庫。由於主控權在 Abaqus 手上,因此搭配的程式語言編譯器與連結器均僅 能 選 用 SIMULIA 測 試 與 認 定 過 的 軟 體, 編 譯 器 目 前 僅 有 Intel C/Fortran 可 使 用, 連 結 器 在 美 商 微 軟 視 窗(Microsoft Windows, 簡 稱 MS-Windows) 環 境 則 需 使 用 Microsoft Visual Studio。 本書用以說明的軟體套件與版本如表 1-1 所示,其中 Intel Parallel Studio 一定要在 Microsoft Visual Studio 之 後 安 裝(Microsoft Visual Studio 的 版 本 需 求 是 由 Intel 編 譯 器 所決定的),至於 Abaqus 則無安裝順序的限制。以下就 MS-Windows 的環境設定詳細說 明。 表 1-1 Abaqus/Standard 的常用使用者副程式功能
Abaqus
程式語言編譯器
程式語言連結器(內部版本)
6.14
Intel Fortran Studio XE 2011
2016
Intel Fortran Composer XE 2011 Update 6
Microsoft Visual Studio 2012 update 4
2017
Intel Fortran Version 16.0.1
Microsoft Visual Studio 2012 update 5
2018
Intel Parallel Studio XE 2016 update 4
Microsoft Visual Studio 2013
Intel Parallel Studio XE 2018
Microsoft Visual Studio 2017 Community(15)
2018 2021 (本書示範環境)
Intel OneAPI Toolkit
Microsoft Visual Studio 2010
Microsoft Visual Studio 2017 Community(15)、Microsoft Visual Studio 2019 Community(16)
5
實現自己的材料庫—Abaqus UMAT 於計算力學之應用
1.3 環境設定 Microsoft Visual Studio 2019 Community Microsoft Visual Studio 是 美 商 微 軟 公 司 推 出 的 程 式 整 合 型 開 發 環 境(Integrated Development Environment,簡稱 IDE),簡稱 MSVS。自 1997 年推出以來,目前已可支 援 C/C++、C#、Fortran、Visual Basic. NET、Visual F#、Java script、Python 等 程 式 語 言,但其中的 Fortran 與 Python 需要安裝額外的第三方編譯器。Visual Studio 最初只有商 業付費版本,於 2005 年才釋出第一個功能受限的免費版本 Visual Studio 2005 Express; 後續在 2014 年年底釋出功能與 Visual Studio 2013 Professional 相同的 Visual Studio 2013 Community,授權教育界、學術研究界、與開放性原始碼貢獻的個人及小型團隊免費 使 用, 目 前 最 新 的 免 費 版 本 為 Visual Studio 2022 Community( 以 下 簡 稱 MSVS 2022 Community)。 受 限 於 後 續 Intel 編 譯 器 OneAPI 的 相 容 性 限 制, 唯 有 較 舊 的 Visual Studio 2017 Community 或 Visual Studio 2019 Community 才能正常使用,本書使用後者(以下簡稱 MSVS 2019 Community),其安裝步驟如下: Step 1 由 於 Microsoft Visual Studio 的 官 方 網 站( 網 址 https://www.visualstudio.com/ vs/)只提供 MSVS 2022 Community 的下載連結,我們必須以瀏覽器連結至舊 版程式網站 https://visualstudio.microsoft.com/vs/older-downloads/,點選較舊的 2019 版,點擊最右側的 下載 。過程中如果需要註冊微軟的使用者帳號,可以 用任一電子郵件信箱作為帳號免費註冊。
6
第 1 章 Abaqus UMAT 簡介與環境設定
Step 2 若 沒 有 自 動 下 載, 可 以 點 選 按一下這裡重試 手 動 下 載, 取 得 的 MSVS 2019 Community 線上安裝檔,大小約為 1.4MB。
7
實現自己的材料庫—Abaqus UMAT 於計算力學之應用
Step 3 點擊下載得到的 MSVS 2019 Community 線上安裝檔,進入安裝畫面;若同意其 隱私權與軟體授權條款,便點擊 繼續 (O) 開始安裝。
Step 4 在被問及個別套件時,建議依 工作負載 類型至少選擇 使用 C++ 的桌面開發 項 目的預設套件,點擊 安裝 (I) 後進入安裝程序。
8
第 1 章 Abaqus UMAT 簡介與環境設定
Step 5 安裝完成後將自動啟動 MSVS 2019 Community 主程式。啟動畫面會問及是否要 登入 Microsoft 帳戶,此處可以選擇登入既有的 Microsoft 帳戶,亦可跳過此步 驟。最終若能進入主程式環境便表示安裝正確完成。
Intel oneAPI Toolkit Intel oneAPI Toolkits 是美商英特爾(Intel)公司自 2008 年起推出的整合型軟體開發 套件,簡稱 oneAPI。目前共有 Base、HPC、AI Analytics、Distribution of OpenVINO、 Rendering、IoT、System Bring-up 等七個版本(圖 1-2):分別適用於一般編譯、高效能 計算、人工智慧、資料視覺化、算圖、物聯網與系統校調等需求。開發 Abaqus 使用者 副程式需要 Base 與 HPC 兩個版本,本書成書前的最新版本為 Intel oneAPI Base Toolkit 2021.4.0.3421 與 Intel oneAPI HPC Toolkit 2021.4.0.3340,其安裝步驟如下:
圖 1-2 Intel oneAPI Toolkits 版本
9
國家圖書館出版品預行編目(CIP)資料
實現自己的材料庫—Abaqus UMAT於計算力學之應用
黃仲偉、吳泓錡、
張慰慈、鄭翊良、楊文嘉、游濟華、陳俊杉合著. -- 初版. -- 臺北市:臺大 出版中心出版:臺大發行,2022.02 面; 公分 ISBN 978-986-350-560-0(平裝) 1. CST: 電腦輔助設計 2.CST: 電腦輔助製造 3.CST: 材料力學 440.029
110022171
實現自己的材料庫—Abaqus UMAT於計算力學之應用 作 者 黃仲偉、吳泓錡、張慰慈、鄭翊良、楊文嘉、游濟華、陳俊杉 總 監 張俊哲 責任編輯 沈建佑、洪麗崴 封面設計 葉佳怡 內文排版 黃秋玲 發 行 人 管中閔 發 行 所 國立臺灣大學 出 版 者 國立臺灣大學出版中心 法律顧問 賴文智律師 印 製 辰皓國際出版製作有限公司 出版年月 2022年 2 月初版 版 次 初版 定 價 新臺幣 650 元整 展 售 處 國立臺灣大學出版中心 106319 臺北市羅斯福路四段1號 電話:(02) 2365-9286 傳真:(02) 2363-6905 100047 臺北市思源街18號澄思樓1樓 電話:(02) 3366-3991~3分機18 傳真:(02) 3366-9986 E-mail:ntuprs@ntu.edu.tw http://www.press.ntu.edu.tw 國家書店松江門市 104472 臺北市松江路209號1樓 國家網路書店
電話:(02) 2518-0207 http://www.govbooks.com.tw
五南文化廣場 400002 臺中市中區中山路6號
電話:(04) 2226-0330 http://www.wunanbooks.com.tw
ISBN:978-986-350-560-0 GPN:1011100045 本書已通過國立臺灣大學出版中心教科書審查
著作權所有•翻印必究