
發布
注冊
/
登錄ABAQUS用戶子程序開發
關注創建者:匿名 創建時間:2021-08-16
ABAQUS用戶子程序開發的視頻教程
Abaqus用戶子程序UMAT詳解與開發工具(未完,待續)
本系列視頻介紹Abaqus用戶子程序UMAT的算例、算法和實現原理,并結合自研的開發工具深入了解UMAT的內部實現方式,將復雜繁瑣的UMAT通過簡單易懂的方式幫助大家入門,并加速UMAT的開發進度。 第一部分:環境配置與開發工具 1.1 環境配置和調試插件DUS介紹:DUS是集成在ABAQUS/CAE中的一個插件,能夠實現用戶子程序的快速調試。
¥50 5小時10分鐘 28593播放
查看
【直播】Abaqus用戶子程序UMAT、UEL入門和開發工具
Abaqus用戶子程序UMAT、UEL入門和開發工具 適用人群:Abaqus自定義單元、材料等用戶子程序的CAE應用工程師 ABAQUS不僅提供標準的有限元分析程序,而且具有良好的開放性,可利用它提供的用戶子程序接口生成非標準的分析程序來滿足用戶的需要,在實際工程中得到廣泛應用。
¥10 3小時45分鐘 4177播放
查看
Lsdyna二次開發umat主程序和用戶材料子程序的調用邏輯及材料子程序參數講解
本課程在教學過程中,將提供群內實時答疑,多次線上集中答疑,所有課程中涉及到的PPT課件,Fortran程序源碼,相關論文都將無保留提供,助力您早日完成相關子程序的開發工作!
免費 15分鐘 105播放
查看
ABAQUS用戶子程序開發的實例教程
理論和實際操作結合,一次性將abaqus UMAT用戶子程序開發課程講解透徹!
至于python的自動化和GUI部分內容的操作練習,如有此方面需求,將有老師帶領學習。
背景介紹:
Abaqus是當今最流行的通用結構有限元軟件之一,以其強大的非線性和良好的用戶體驗著稱。但在實際工程應用中,設計對象專業針對性強,通用的工具軟件往往解決不了專業問題,需要通過二次開發對商業軟件進行定制和優化,集成高精度的計算方法和專有技術,以更好的解決專業問題,甚至形成自主品牌的CAE軟件。
ABAQUS不僅提供標準的有限元分析程序,而且具有良好的開放性,可利用它提供的用戶子程序接口生成非標準的分析程序來滿足用戶的需要,在實際工程中得到廣泛應用。
Abaqus UMAT是ABAQUS提供給用戶定義自材料屬性的程序接口。通過UMAT,用戶可以定義材料的本構關系,建立Abaqus材料庫沒有的材料本構模型,滿足實際工程分析的需要。
本次培訓主要包括:
(1) Abaqus二次開發整體介紹;
(2) UMAT接口原理和使用方法;
(3) 材料本構模型和基礎理論
(4) 基于Fortran和Matlab的UMAT編寫示例和練習。
通過本次培訓,學員可以:
(1) 學員在老師指導下完成用戶子程序開發環境配置;
(2) 建立UMAT編寫相關的理論基礎;
(3) 可自行從零開始構建UMAT算例;
(4) 學員實際項目問題現場交流;
(5) 和專家及其它行業用戶深入溝通,并獲得長期的技術支持。
培訓方式:
培訓主要采用:
(1) PPT介紹;
(2) 老師操作演示;
(3) 學員上機練習。
三者結合的方式直觀的學習各個知識點。
講師介紹:
技術鄰ID:SnowWave02 團隊,3個講師同時授課。
展開 引言
Abaqus為用戶提供了大量的用戶子程序,用戶可以通過子程序接口開發Abaqus原本不具備的單元、材料、載荷等。此外,利用子程序能幫助我們去理解、推測Abaqus的計算過程,這對國產自主軟件對標Abaqus功能開發具有一定的參考意義。
在開展abaqus用戶子程序的項目時,容易出現很多bug問題,下面是一個比較典型的容易遇到的報錯。
The job input file "Job-1.inp" has been submitted for analysis.
Job Job-1: Analysis Input File Processor aborted due to errors.
Error in job Job-1: Analysis Input File Processor exited with an error.
檢查工作路徑下的log文件(Job-1.log),提示無法識別“ifort”,這就意味著這個命令在系統路徑中無法被識別。實際上,“ifort”適用于編譯Fortran文件的,如果無法使用則無法完成編譯。
log文件內容
為了解決這個問題,在系統文件中找到“ifort.exe”,并將其添加到環境變量path中,然后重啟軟件即可解決。
添加路徑
下載地址:Abaqus用戶子程序專題
展開 一方面我們查閱Abaqus軟件手冊得到修正方法的說明,另一方面我們自己編程實現簡單的結構有限元求解器,通過自研求解器和Abaqus的結果比較結合理論手冊如同管中窺豹一般來研究Abaqus的修正方法,從而猜測商用有限元軟件的內部計算方法。在研究的同時,準備將自己的研究成果記錄下來寫成一個系列文章,希望對那些不僅僅滿足使用軟件,而想了解軟件內部實現方法和想要突破商軟接口限制的朋友有些幫助。由于水平有限,里面可能有許多錯誤,歡迎交流討論。
==第八篇:UMAT用戶子程序開發步驟==
用戶子程序主要是將用戶特定的材料本構模型和單元算法等公式編寫為計算機語言表示的公式,并實現和商軟求解器之間的交互迭代,UMAT用戶自定義材料是其中比較重要的一類子程序。常用的商業有限元軟件都提供了用戶自定義子程序的功能,且一般都是Fortran語言開發,Fortran是上世紀70年代的語言,相對現代化的流行語言編寫,格式要求非常嚴格,編譯調試都比較繁瑣,使得開發效率低下,而且接口限制較多,除了商軟提供的功能外用戶基本沒法改動,靈活性較差。由于用戶子程序很多都涉及復雜的公式編寫,用戶除了需要扎實的理論基礎外,還需要較強的能將公式表達為Fortran語言的編程能力,這對非計算機專業出身的人來說往往在浪費了很多額外精力,使得很多理論高手都對用戶子程序望而卻步,難以入門。
商軟的用戶子程序的內部都是采用dll動態鏈接庫的形式實現的,商軟只是規定好接口并設置觸發尋找動態鏈接庫的機制,譬如當發現關鍵詞*User Material,主程序就調用指定dll中UMAT這個函數,至于這個dll是用什么語言編譯過來的,主程序不會管,只要這個函數包括相同的變量名就行,主程序就會將數據傳遞到這些變量中,同時從規定的變量名中讀取子程序的運行結果,整體流程和一般的混編語言開發類似。
展開 至此,基于Fortran的DLOAD開發流程已經完成,但結果的正確性還需要更加細致的驗證,為更方便的查找問題,建議先采用單個單元調試DLOAD,在確保單個單元正確后再將DLOAD用于實際問題。
1.2.5 調試(可選)
如果想要知道代碼的運行結果是否和預期的一致,一種笨辦法是用print打印到log文件中,高效的方法是采用斷點調試的方法進行運行中的調試。
Abaqus支持命令行調試,不過命令行反復運行也比較繁瑣,用戶也可選擇用一鍵調試Abaqus的用戶子程序的DUS插件工具。DUS(Debug User Subroutine)是集成在ABAQUS/CAE中的一個插件,能夠一鍵啟動用戶配置的用戶子程序開發平臺(如Visual Studio 2008等),并進入對用戶定義子程序的單步調試模式。
有興趣的可到下面網頁下載使用。
Abaqus用戶子程序調試插件:
https://www.yqgqt.org.cn/content/post/424513
1.3 基于MATLAB 的iSolver的DLOAD開發步驟
基于MATLAB 的Abaqus的DLOAD具體開發步驟和Abaqus類似,只不過某些步驟需要用到自研有限元求解器開發平臺iSolver。
1.3.1 定義DLOAD
如果是通過Abaqus界面定義DLOAD,則與Abaqus相應的操作一致(見2.2.1 節),
1.3.2 編寫
在MATLAB 中創建并編寫DLOAD.m的文件,放入Abaqus工作目錄下。該文件只包括一個DLOAD函數,前面參數接口和Abaqus的接口參數完全一致,功能也是計算分布載荷的幅值,相對Fortran,利用MATLAB 可以更容易的編寫計算公式,同時可以利用MATLAB 在矩陣計算中各種強大功能和算法庫。
展開 
ABAQUS用戶子程序開發的相關專題、標簽、搜索
ABAQUS用戶子程序開發的最新內容
原始文獻:《A multiscale simulation framework of the accumulative roll bonding process accounting for texture evolution》
DOI:10.1016/j.msea.2015.02.005
在金屬材料研究領域,粘塑性自洽模型(Visco-Plastic Self-Consistent, VPSC
<p>網上關于abaqus子程序關聯的教程有很多,一般需要同時裝visual studio和Intel oneapi套件。這里問題主要集中在Intel oneapi套件的安裝上,絕大多數教程都是要求同時裝oneAPI Base Toolkit和oneAPI HPC Toolkit。從下圖可以看出oneAPI HPC Toolkit包含oneAPI Base Toolkit的所有組件,可以說oneAPI
做有限元仿真,焊接(Welding) 絕對是公認的“硬骨頭”。
為什么?因為它不僅涉及復雜的熱-機耦合,還離不開讓無數工程師頭禿的Fortran子程序(DFLUX),更別提移動熱源、生死單元技術,以及像攪拌摩擦焊(FSW) 這種涉及大變形的高階分析。
高斯熱源和雙橢球熱源怎么選?
DFLUX子程序里的坐標系怎么轉換?
幾十道焊縫的分析步,手動設置要累死人,怎么用Python
在ABAQUS中做管道內壓爆炸CEL模擬,采用vumat進行子程序定義
當管道為單層網格時,流固耦合效果好。當管道為多層網格時,采用abaqus自帶的材料及損傷可以實現模擬,使用vumat進行模擬流固耦合效果就很差(內部氣體漏氣、等效塑性應變分布不正確、計算迭代等),這是什么原因
[圖片]
<p>答案很簡單,abaqus的求解器開發的很早,就只能用當時的語言,所以會使用這么早期的語言。</p><p>同樣的,各種軟件的前后處理模塊開發的很晚,可以使用最新的語言,如python,所以abaqus的前后處理可以使用python進行二次開發。</p><p><br></p><div contenteditable="false" width="100%"><hr>
</div><p><br>
<p><.f><.for><.f90></p><div contenteditable="false" width="100%"><hr>
</div><p><br></p><p><br></p><p><.f>。Unix系統下的</p><div contenteditable="false" width="100%"><hr>
</div><p><